code – Extra Future https://extrafuture.com Phil Nelson's website. Est. 2008 Fri, 10 Oct 2025 17:33:50 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.1 https://extrafuture.com/exfu1138/wp-content/uploads/2021/05/cropped-Extrafuture-Favicon-2021-32x32.png code – Extra Future https://extrafuture.com 32 32 Hacker Laws https://extrafuture.com/2025/10/10/hacker-laws/ https://extrafuture.com/2025/10/10/hacker-laws/#respond Fri, 10 Oct 2025 17:33:50 +0000 https://extrafuture.com/?p=10801 Laws, Theories, Principles and Patterns that developers will find useful.


"Hacker Laws" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2025/10/10/hacker-laws/feed/ 0
In the Future All Food Will Be Cooked in a Microwave, and if You Can’t Deal With That Then You Need to Get Out of the Kitchen https://extrafuture.com/2025/09/24/in-the-future-all-food-will-be-cooked-in-a-microwave-and-if-you-cant-deal-with-that-then-you-need-to-get-out-of-the-kitchen/ https://extrafuture.com/2025/09/24/in-the-future-all-food-will-be-cooked-in-a-microwave-and-if-you-cant-deal-with-that-then-you-need-to-get-out-of-the-kitchen/#respond Wed, 24 Sep 2025 15:45:17 +0000 https://extrafuture.com/?p=10774 Look this is just how it is now, get on board or get left behind.


"In the Future All Food Will Be Cooked in a Microwave, and if You Can’t Deal With That Then You Need to Get Out of the Kitchen" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2025/09/24/in-the-future-all-food-will-be-cooked-in-a-microwave-and-if-you-cant-deal-with-that-then-you-need-to-get-out-of-the-kitchen/feed/ 0
Introducing StrangeLine and More RetroStrange-ness https://extrafuture.com/2021/11/15/introducing-strangeline-and-more-retrostrange-ness/ https://extrafuture.com/2021/11/15/introducing-strangeline-and-more-retrostrange-ness/#respond Mon, 15 Nov 2021 18:11:42 +0000 https://extrafuture.com/?p=9306 This weekend I did some work on RetroStrange infrastructure and scheduling.

RetroStrange TV (our 24/7 streaming TV channel) which is now fully autonomous and publishes notifications to Twitter when each show or movie begins with the #RSTV hashtag. You can find my TV station code on GitHub. The current setup of two Linode 4GB servers this should provide us with enough space and power to run it basically forever at $40/month. Support via Patreon appreciated.

The next RetroStrange Movie Night is November 23rd and we’re showing film noir classic D.O.A. (1949) see the Facebook Event.

The other big RetroStrange feature is the StrangeLine. I’ve set up a phone number you can call for various RetroStrange stuff. Right now you can call to get info on the next Movie Night, or listen to the Skulking Permit by Robert Sheckley as heard on LOFI SCIFI. We’ll add and change up the content regularly, so go ahead and give ‭(814) 787-2643‬ (that’s 814-STRANGE) a call.


"Introducing StrangeLine and More RetroStrange-ness" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2021/11/15/introducing-strangeline-and-more-retrostrange-ness/feed/ 0
I’m Featured on the Linode Craft of Code podcast this week https://extrafuture.com/2021/09/20/im-featured-on-the-linode-craft-of-code-podcast-this-week/ https://extrafuture.com/2021/09/20/im-featured-on-the-linode-craft-of-code-podcast-this-week/#respond Mon, 20 Sep 2021 19:09:54 +0000 https://extrafuture.com/?p=9292 We talked indie web infrastructure, Troma, Ted Lasso, and the hows and whys of our public domain media empire on RetroStrange. Give the episode a listen on their website, or in your podcast app of choice.


"I’m Featured on the Linode Craft of Code podcast this week" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2021/09/20/im-featured-on-the-linode-craft-of-code-podcast-this-week/feed/ 0
A Deep Dive on Z-Index Usage https://extrafuture.com/2019/07/07/a-deep-dive-on-z-index-usage/ https://extrafuture.com/2019/07/07/a-deep-dive-on-z-index-usage/#respond Sun, 07 Jul 2019 20:32:57 +0000 https://extrafuture.com/?p=8983

How do you make sure your annoying popup is shown on top of every other element in the page, when you don’t know how many there are, who wrote them, and how bad they wanted their elements to be on top? That’s when you set your z-index to 100, or maybe 999, or maybe, just maybe 99999 to be really sure yours will win.

That, at least, is how I write my CSS. In the rest of this post, we will look at millions of z indices to see what everyone else does.

Of course, if you make websites for a living you’ll find this interesting. Like most things available here.


"A Deep Dive on Z-Index Usage" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2019/07/07/a-deep-dive-on-z-index-usage/feed/ 0
Astray, a lua-based dungeon and maze generator https://extrafuture.com/2018/10/28/astray-a-lua-based-dungeon-and-maze-generator/ https://extrafuture.com/2018/10/28/astray-a-lua-based-dungeon-and-maze-generator/#respond Sun, 28 Oct 2018 18:17:01 +0000 https://extrafuture.com/?p=8953 Works great with Love2d, and so I am using it in a new (surprise!) wrestling-based project.

Download: astray on github


"Astray, a lua-based dungeon and maze generator" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2018/10/28/astray-a-lua-based-dungeon-and-maze-generator/feed/ 0
Just in case you’re using Mailgun with Mediawiki… https://extrafuture.com/2018/02/07/just-in-case-youre-using-mailgun-with-mediawiki/ Wed, 07 Feb 2018 19:46:38 +0000 https://extrafuture.com/?p=8779 The docs don’t cover this, but the steps in this post got it working for me:

  1. Install composer apt-get install composer
  2. Run composer update from the extensions/Mailgun folder
  3. Run php maintainence/rebuildLocalizationCache.php from the main mediawiki folder.

Running your own services get you into all sorts of fun trouble like this.


"Just in case you’re using Mailgun with Mediawiki…" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
Stop using device breakpoints https://extrafuture.com/2017/04/04/stop-using-device-breakpoints/ Tue, 04 Apr 2017 17:00:56 +0000 https://extrafuture.com/?p=8590 Adam Silver with some good horse sense. This is a surprisingly common practice here in the Year of Luigi 2017. It’s mostly surprising because we spent so much time talking about this during the original web standards push that I’d hoped it had sunk in.


"Stop using device breakpoints" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
stochastic https://extrafuture.com/2014/08/08/stochastic/ https://extrafuture.com/2014/08/08/stochastic/#respond Fri, 08 Aug 2014 17:16:29 +0000 https://extrafuture.com/?p=8312 Simple functions for simulating Poisson Processes, Brownian motion, geometric Brownian motion, discrete/continuous-time Markov chains, and normal random variables” in Javascript.


"stochastic" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/08/08/stochastic/feed/ 0
Framer https://extrafuture.com/2014/06/23/framer/ https://extrafuture.com/2014/06/23/framer/#respond Mon, 23 Jun 2014 16:28:15 +0000 http://extrafuture.com/?p=8298 An application / framework platform for Mac that looks to let you got from Photoshop or Sketch to prototype in record time.


"Framer" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/06/23/framer/feed/ 0
Phaser https://extrafuture.com/2014/04/29/phaser/ https://extrafuture.com/2014/04/29/phaser/#respond Tue, 29 Apr 2014 16:59:59 +0000 http://extrafuture.com/?p=8273 [Another HTML5 2D game framework][link], built mobile-first. Supports TypeScript and JavaScript. Looks pretty fast / simple, and it’s used on the awesome [Game Mechanic Explorer][gme] site.

[link]: http://phaser.io/ “Phaser – Desktop and Mobile HTML5 game framework”
[gme]: http://gamemechanicexplorer.com “Game Mechanic Explorer”


"Phaser" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/04/29/phaser/feed/ 0
sql.js: A port of SQLite to JavaScript https://extrafuture.com/2014/04/10/sql-js-a-port-of-sqlite-to-javascript/ https://extrafuture.com/2014/04/10/sql-js-a-port-of-sqlite-to-javascript/#respond Thu, 10 Apr 2014 19:17:57 +0000 http://extrafuture.com/?p=8265 sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. no C bindings or node-gyp compilation here. Once again, via [Jesper][jesper]. [link]: https://github.com/kripken/sql.js “kripken/sql.js” [jesper]: http://waffle.wootest.net “Jesper’s blog, Waffle” "sql.js: A port of SQLite to JavaScript" was originally posted by Phil Nelson on Extra […]]]> [This is ridiculous and great][link]:

>sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. no C bindings or node-gyp compilation here.

Once again, via [Jesper][jesper].

[link]: https://github.com/kripken/sql.js “kripken/sql.js”
[jesper]: http://waffle.wootest.net “Jesper’s blog, Waffle”


"sql.js: A port of SQLite to JavaScript" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/04/10/sql-js-a-port-of-sqlite-to-javascript/feed/ 0
slick – the last carousel you’ll ever need https://extrafuture.com/2014/04/01/slick-the-last-carousel-youll-ever-need/ https://extrafuture.com/2014/04/01/slick-the-last-carousel-youll-ever-need/#respond Tue, 01 Apr 2014 16:49:53 +0000 http://extrafuture.com/?p=8263 [A full-responsive, CSS3-enabled, touch-ready, arrow-key supporting, draggable carousel that you can instance with one line.][link]

Having built and used probably a dozen different image slider / content carousels this one looks like it covers all of the bases and with minimal markup bullshit. Color me impressed.

[link]: http://kenwheeler.github.io/slick/ “slick – the last carousel you'll ever need”


"slick – the last carousel you’ll ever need" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/04/01/slick-the-last-carousel-youll-ever-need/feed/ 0
Font-To-Width https://extrafuture.com/2014/03/31/font-to-width/ https://extrafuture.com/2014/03/31/font-to-width/#respond Mon, 31 Mar 2014 18:10:32 +0000 http://extrafuture.com/?p=8259 [Font‑To‑Width (FTW!)][link] is a script by Nick Sherman and Chris Lewis that takes advantage of large type families to fit pieces of text snugly within their containers. Can definitely see using this for some datavis stuff. There is some FOUT (Flash of unstyled text) to deal with though. [link]: http://font-to-width.com/ “Font-To-Width” "Font-To-Width" was originally posted […]]]> >[Font‑To‑Width (FTW!)][link] is a script by Nick Sherman and Chris Lewis that takes advantage of large type families to fit pieces of text snugly within their containers.

Can definitely see using this for some datavis stuff. There is some FOUT (Flash of unstyled text) to deal with though.

[link]: http://font-to-width.com/ “Font-To-Width”


"Font-To-Width" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/03/31/font-to-width/feed/ 0
MicIO.js https://extrafuture.com/2014/03/24/micio-js/ https://extrafuture.com/2014/03/24/micio-js/#respond Mon, 24 Mar 2014 20:01:34 +0000 http://extrafuture.com/?p=8252 Use HTML5’s web audio API to create a hardware bus somewhat similar to how Square’s Credit Card readers works. I am abuzz with ideas for this right now and this is bad because I have actual work to do. (via [Jesper][jesp]) [link]: http://colinbookman.com/2014/03/23/micio/ “MicIO.js” [jesp]: […]]]> [This is some crazy magicks and I love it][link]:

> Use HTML5’s web audio API to create a hardware bus somewhat similar to how Square’s Credit Card readers works.

I am abuzz with ideas for this right now and this is bad because I have actual work to do. (via [Jesper][jesp])

[link]: http://colinbookman.com/2014/03/23/micio/ “MicIO.js”
[jesp]: http://waffle.wootest.net “Waffle, Jesper’s blog”


"MicIO.js" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2014/03/24/micio-js/feed/ 0
Macaw https://extrafuture.com/2013/07/26/macaw/ https://extrafuture.com/2013/07/26/macaw/#respond Fri, 26 Jul 2013 18:55:29 +0000 http://extrafuture.com/?p=8135 [The only visual HTML editor I’ve ever seen that looks legitimately useful, well-executed, and outputs good code.][link]

Let’s see if they can deliver.

[link]: http://macaw.co/ “Macaw | The code-savvy web design tool.”


"Macaw" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2013/07/26/macaw/feed/ 0
CSS Zen Garden Relaunches https://extrafuture.com/2013/07/18/css-zen-garden-relaunches/ https://extrafuture.com/2013/07/18/css-zen-garden-relaunches/#respond Thu, 18 Jul 2013 22:32:57 +0000 http://extrafuture.com/?p=8131 [The old favorites are still there but the new example files are fully responsive.][link]

[link]: http://www.csszengarden.com/ “CSS Zen Garden: The Beauty in CSS Design”


"CSS Zen Garden Relaunches" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2013/07/18/css-zen-garden-relaunches/feed/ 0
Learn Lua in 15 Minutes https://extrafuture.com/2013/06/24/learn-lua-in-15-minutes/ https://extrafuture.com/2013/06/24/learn-lua-in-15-minutes/#respond Mon, 24 Jun 2013 22:07:24 +0000 http://extrafuture.com/?p=8120 [Where was this when I needed it 2 years ago?][link]

[link]: http://tylerneylon.com/a/learn-lua/ “Learn Lua in 15 Minutes”


"Learn Lua in 15 Minutes" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2013/06/24/learn-lua-in-15-minutes/feed/ 0
µSpeech https://extrafuture.com/2013/05/11/%c2%b5speech/ https://extrafuture.com/2013/05/11/%c2%b5speech/#respond Sat, 11 May 2013 21:31:01 +0000 http://extrafuture.com/?p=8112 [A speech recognition toolkit for Arduino][link]. Fighting the urge to pair this with my robovoice speech chip and make a vocal chatbot.

[link]: http://arjo129.github.io/uSpeech/ “µSpeech”


"µSpeech" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2013/05/11/%c2%b5speech/feed/ 0
glsl.js https://extrafuture.com/2013/02/18/glsl-js/ https://extrafuture.com/2013/02/18/glsl-js/#respond Mon, 18 Feb 2013 18:21:16 +0000 http://extrafuture.com/?p=3279 [A WebGL subset focused on making 2D and 3D game visuals more efficient / maintainable.][link] Don’t miss the [examples][ex]. Requires a browser that supports WebGL, so the current released version of Safari is a no-go for now. Try Chrome.

[link]: http://blog.greweb.fr/2013/02/glsl-js-a-javascript-glsl-library-dry-efficient/ “glsl.js, a Javascript + GLSL library = DRY & efficient • @GreWeb”
[ex]: http://greweb.fr/glsl.js/examples/balls/ “Bouncing balls glsl.js example”


"glsl.js" was originally posted by Phil Nelson on Extra Future. Comments are enabled. Come say hi.

]]>
https://extrafuture.com/2013/02/18/glsl-js/feed/ 0