Software Survivalism

06 Oct 2013

I consider myself something of a software survivalist, and therefore am interested in the neo-retro world as a means of securing a safe haven for my hacking interests.

What does this even mean?

As the first post to my new blog, I should perhaps explain what I think a software survivalist is. I’ll provide some clarification of what the neo-retro movement is in the next article. The two are related, but not the same.

From Wikipedia, excerpted on 2013-Oct-06:

Survivalism is a movement of individuals or groups (called survivalists or preppers) who are actively preparing for emergencies, including possible disruptions in social or political order, on scales from local to international.

A software survivalist takes this concept of preparedness and applies the survivalist ethos to the realm of software and the hardware which runs it.

For example, I definitely see an imminent threat in the computing world, and especially my freedom to hack. Miniaturization, for all its benefits, led to unhackable commercial hardware. There was a five to six year gap between the release of USB and the first home-built piece of hardware exploiting it. Even today, most “USB” projects are just USB-to-RS232 converters connected to legacy microcontroller interfaces. I won’t even begin to expound on the sheer cliff that describes the learning curve behind the USB’s various protocols. Anyone wanting to make an external USB-based QWERTY-to-Dvorak converter, something that was utterly trivial with a microcontroller or two with the PS/2 protocol, now requires a complete USB host and slave interface in the same package, plus the required software stack for each side of the connection. What was once trivial now requires the resources of Logitech’s hardware engineers just to get a prototype off the ground. If you find USB too slow for your needs and desire instead to use PCI-e, you’ll run into similar difficulties.

Trusted computing initiatives and their straight-jacket end-user license agreements reduce pocket-sized supercomputers to mere appliances. Even devices running an ostensibly open platform such as Android require explicit jail-breaking. Making matters worse, we’re starting to see dedicated chipsets just for encryption of traffic over a bus. That PCI-e card you wanted to create? More likely than not, you’re going to need a counterpart device on your peripheral. Where do you get one of these for cheap? Who keeps track of the keys used for encryption? I see things getting out of hand pretty quickly, and hobbiests left in the dust.

With increasing frequency and severity, our rights as consumers erode. I bought my computer with my own, hard-earned cash. I’m not renting it. Basic understanding of capitalism says I should have the ability to do whatever I want with it, at any level of abstraction I choose. Yet, hardware and software trends conspire to prevent this from happening without an absurd amount of resources brought to bear on the task.

Surprisingly, this situation doesn’t bug me as much as you think. Rather, the lack of any truly open alternatives bugs me far more. If you want to spend the money for a computing home appliance, by all means. I certainly would too, I have, and I will continue to do so. However, if I cannot program it simply or hack hardware easily, I’m left with two options. One, I can just grit my teeth and wait for a Kickstarter project to come along that does just what I want it to; or, two, I could make my own computer and software for that computer where I can hack as I see fit. The hopeful hobbiest will choose the first option, while the software survivalist will choose the second option. Both let the free market evolve as it should; however, the software survivalist takes a more pro-active role in securing his ability to hack on interesting projects in the future.

That leads me to what I call the neo-retro movement. I’ll discuss this more in the next article. Stay tuned.