Why Any Old Hardware + Linux + Python + vim is My Violin
by Mike Levin SEO & Datamaster, 07/17/2012
It takes about 10 years or 10,000 hours to become truly spontaneously expert at something. We’re talking master violinist or programmer. So if you’re lucky enough to find your passion by ten years old, you could be expert by twenty. And if your skill lends itself to a business, then in another 10 years you could maybe running an empire, by thirty—because that’s its own skill. Choose the wrong skills or flub the business aspect, then the counters are reset, and you’re talking forty or fifty years old before your kingdom blossoms.
Privileged children with involved parents could be on the fast track, because access to resources and free time means lots of opportunities to find your passion, and so it could follow the thirty-year-old scenario—supplemented by better schools and door-opening degrees. Less privileged children get bumped into mass-babysitting institutions and are exposed to less. There are other ways to get worldy exposure and motivation, as so many entrepreneurs learned what they know “on the streets” or came out ot the great depression or are first generation immigrants. But if life didn’t hand you hard knocks, you’ve got to find something else to do the trick.
Technology and the Internet is beginning to change this by exposing children to the existence of ways to spend their lives that they might become passionate about at an early age in a way more engaging and accessible than books and libraries. The odds of an entrepreneur being self-taught and coming from out of nowhere, funded by Kickstarter—or not even funded at all—are at an all-time high, and will only be getting higher. I believe that with microcurrency and ubiquitous connectivity, pure creativity, smarts and initiative must eventually become the currency of the world economy. If not the currency, then easily converted to it. Imagine those Donate with Paypal buttons doing a quarter-at-a-time from everyone’s pocket to any person on the planet.
But we are only in the earliest days of this scenario. It is fragile, and government legislation, patent laws and digital rights management systems can all slow down this progress. The Internet itself, designed to survive nuclear blasts, may not be able to defend itself against lawyers and lobbyists, despite the best efforts of Reddit users and copyleft hardware projects, FreedomBox and ad hoc peer-to-peer mesh networks. Consequently, there are some very important dots to be connected here—enough to let new internets spontaneously rise up out of nothingness.
Ad hoc internets are a lot like wifi networks, but bigger. You would find them much as you would find (or or not find) WiFi networks. Sometimes they’re bridged to the main Internet and work as an Internet access point, and sometimes they’re not—so what you can do on them may vary. Sometimes they’re pay services, and sometimes they’re not. Sometimes they’re advertised, and sometimes they’re deeply encrypted and obfuscated. Point being, they help democratize the infrastructure that makes the interwebs possible, and stop governments and big business from being able to put a kill-switch on the Internet, or any other such nonsense.
I wish all the skills to make precisely this future come about were my passion by the time I was ten years old (they sort of were, as I was building kit-radios). I wish my parents had the time, interest and insights to encourage me down that path and send be to the best schools, but they didn’t. I was fortunate enough to go to a local engineering school and wimped out into graphic design—which sort of turned out lucky, because the Web happened and turned all things graphics back into the computer technology arena. I started out in mechanical engineering, I could easily imagine that being an info-tech dead end.
And only recently, after having felt my way blindly through two prior sizable programming projects (Scala Inc’s business systems and the HitTail keyword tool) have I come to understand precisely what it is I am even trying to master. I had to make a study of it—squeezing everything I could out of the Internet and personal experiences to determine what my violin even is—and how I might use it to contribute to the “unstoppable net”. One that allows those thousand points of light to illuminate the whole world.
The answer is “as little as possible” and the answer is “abstracted at just the right points” and the answer is “sufficiently timeless human interfaces”. That may all sound a bit odd, but the less you have to learn, the easier it is to master, so stripping what you need down to the essence is part of that thing to master.
We don’t burn our own computers from sand. Hardware is just too cheap and readily available to do that. And we don’t program in Assembler. There’s too much variety of hardware, and life’s too short. Hardware abstraction layers built both into the hardware and operating systems do a lot of this, and as a user you don’t have to think about it. But as you go up the stack, the user has more and more choice over the abstraction layer they wish to deal with—right to the programming language and applications—leading to that last point about choosing a well designed and sufficiently timeless interface.
Technology is always going to change, and things are going to go in and out of style. But to have that long-term life-scale advantage, you have to make sure the things you learn are not on the road to obsolescence, or at least are readily repurposed without fully rewiring your brain. That’s why Unix/Linux is a smart choice. It was designed specifically to solve so many of these problems that I articulated—particularly in regard to hardware abstraction.
And sure, it may not have been done the best it could be in the world and in all of history, but that’s where the word “sufficiently” comes into play. It’s just got to be good enough to get you through your life. For example, Plan 9 is reportedly Unix perfected, but Unix/Linux achieved critical mass and is sufficient—plus, it is improving. Unix and Linux are in the category of things which, while not perfect, are sufficiently timeless and worth learning. Also in this category, I include Python, git or Mercurial, vim, the Unix/Linux Bash shell and a smattering of commands, and a couple of oddballs like Regular Expressions.
In the above-few paragraphs, I articulated a “stack”. The most common stack these days is Intel x86 hardware on an Intel-style motherboard, with Windows 7 or something like it running. The stack I’m talking about is “just any old hardware you get your hands on” (it could even be a $25 Raspberry Pi or your old WiFi router) plus a minimal installation of whatever version of Unix or Linux that will breath life into it and give you network services, plus a distributed revision control system to protect and move your code around, plus a programming language that won’t scare off newbies or disappoint pro’s that allows an infinite variety of personal empires to blossom.