Writing

Software, technology, sysadmin war stories, and more. Feed
Saturday, April 11, 2020

Bored? How about trying a Linux speed run?

I have a lot of dumb ideas. I tend to write them down and then revisit them from time to time. Sometimes, the world and/or my own understanding of it has moved enough to where it can now be taken to a new place. Sometimes these ideas then "snap together" to inspire something else entirely. This is one of those times.

About 15 years ago, I mused about the idea of having a "desert island machine". This is where I'd put someone in a room with a box that has a couple of hard drives and a working network connection. HD #1 is blank. HD #2 has a few scraps of a (Linux) OS on it: bootloader, kernel, C library and compiler, that sort of thing. There's a network connection of some sort, and that's about it.

There are no editors and nothing more advanced than 'cat' to read files. You don't have jed, joe, emacs, pico, vi, or ed (eat flaming death). Don't even think about X. telnet, nc, ftp, ncftp, lftp, wget, curl, lynx, links? Luxury! Gone. Perl, Python and Ruby? Nope.

There's your situation. What do you do?

I realized a few years later that this was just an exercise in flexing the fact that I could probably bootstrap my way up from this with the C compiler to write a terrible editor, then write a terrible TCP client, find my way out to ftp.gnu.org, get wget, and keep going from there.

Assume that documentation is plentiful. You want a copy of the Stevens book so you can figure out how to do a DNS query by banging UDP over the network? Done.

Anyway, like I said, that was roughly 2005. Tonight, while revisiting it, I turned it into a new idea.

Put it this way, perhaps you are familiar with the notion of "speed runs". This is where people with insanely good twitch reflexes and a penchant for finding neat tricks rip their way through video games, making things faster and faster.

Now you see things like people managing to do the original Super Mario Bros game from the 80s in under five minutes, and I do mean people. There are actual humans frobbing plastic controllers doing this! Just dig around on your favorite giant video-streaming site if you need evidence of this happening.

So here's the pitch: Linux speedruns. By that, I don't mean "speedrunning a game on a Linux box" (like emulation, or something). Nope.

I mean speedrunning the Linux situation itself. Start with a minimal system and get yourself to the point where you can do something meaningful (like reading cat pictures on Reddit).

I imagine if people started doing this, then eventually there would be shortcuts. Someone would memorize the IP address to ftp.gnu.org so they didn't have to speak DNS in order to get there. Someone else would memorize the byte sequence of a binary and blast it through xxd to get cranking.

Then someone would decide it's too easy if you have this thing or that thing, and they'd cut down the starting conditions. Who knows how far down the stack this could go? How much insanity could we see? Considering most of humanity is holed up trying to avoid the rest of itself, maybe this is exactly the time for that kind of thing?

Go on, Internet. Surprise me.

It can be the Baseketball of system administration.