Computers could be good, but they aren't.
That's the gist of it.
I guess I mean Good with a capital G, as in "a force for good in the world", but I also mean good with a lowercase g, as in "not super shitty to use, or think about".
I'm not going to waste a lot of bits talking about how computers are bad. I've done this a lot before, and you probably already agree with me. I'll quickly summarize the high points.
What's wrong with (modern) computing?
- Computers spy on us all the time
- Computers are insecure, while pretending not to to be.
- Computers enable new modes of rent seeking, further exasperated by shitty patents and worse laws
- Computers/the modern internet encourage behaviors which are bad for our mental health as individuals.
- Computers and the modern internet, in concert with modern capitalism have built a world essentially without public spaces.
You know, all that bullshit.
I've spent a lot of time thinking about what the next 30 years in computing might look like, the successes and failures of the last 30 years, and the inflection point at which a computer is Good Enough for most tasks.
I've spent a lot of time thinking about the concept of planned obsolescence as it applies to computing, and what modern computing might look like without the profit motive fucking everything up.
I'm just a dude.
I'm a sysadmin. I spend a lot of time using computers, and specifically I spend a lot of time fixing machines that are failing in some way.
But I'm just some dude who thinks about stuff and imagines futures which are less horrible than present.
I've said that as a way to say: I don't claim to have The Answer, I just have some ideas. I'm going to talk about those ideas.
So how did we get from the gleaming promise of the digital age as imagined in the 70s to the harsh cyberpunk reality of the 20s?
Centralization, rent seeking, planned obsolescence, surveillance, advertising, and copyright.
How do we move forward?
Re-decentralization, a rejection of the profit motive, building for the future/to be repaired, building for privacy, rejecting advertising, and embracing Free software.
Personally, there's another facet to all of this:
I use and maintain computers professionally, and recreationaly.
Sometimes, I want to do something that doesn't feel or look like my day job. Unfortunately, most of my hobbies feel and look a lot like my day job.
To that end, I have some weird old computers that I keep around because they're useful and also because they're Vastly Different than the computers I use at work.
My #zinestation, mac plus, and palm pilots fall in this camp.
I can do about 80% of what I want to use a computer for with my 486 based, non-backlit, black and white HP Omnibook.
Add my newly refurbished and upgraded Palm Lifedrive, and I'm closer to 95%.
Let's run through those tasks:
- Listen to music (The palm is a 4GB CF card with a 2GB SD card, basically.)
- Watch movies (I have to encode them specially for the palm, but the lifedrive makes a great video iPod.)
- Read books (plucker is still pretty great)
- RSS (ditto above)
- Email (via some old DOS software the name of which I'll have to look up, and lots of effort on getting my mail server configured correctly. + an ESP32 based modem. This took some doing and I still don't love how I'm doing it. I'll do a blog post about it eventually.)
- Social (mastodon via brutaldon via lynx via telnet over tor to an onion endpoint I run in my home, not ideal, or via BBS)
- Write (via Windows 3.1 notepad)
- Consult reference material (via the internet or gopher over my esp32 modem with the appropriate DOS software and SSL proxy, or more likely, via a real hacky thing I wrote to mirror a bunch of websites to a local web server.)
- Develop (frankly Via GW-BASIC, although I'd love to start doing real programming again.)
- Games (this is the thing the omnibook is worst at! I consider that a strength most of the time, but I do have a lot of parser based IF games on it.)
There was a time in the recent past when I used a Pentium MMX laptop as my only computer outside of work for weeks at a time.
It could do basically everything I wanted it to do, including some far more impressive games.
It's batteries gave out, finally, but until then it made a decent little computer.
The only real problem I run in to in these setups are the hoops I have to jump through because I'm the only one using them, and because (wireless) networking technology has advanced in ways that are not backwards compatible on the hardware level, while leaving laptops without a clear upgrade path.
No one gets upset that their typewriter can't browse the internet, you know?
But a computer isn't an appliance, it's an everything machine, and as an Everything machine, if it can't do the New Shiny Thing we have to throw it away and get a new one.
That's the mentality I'm trying to break out of.
I want to define a(n extendable!) list of tasks that I feel like will be relevant indefinitely, and build a machine to last 30 years.
Which, finally, brings us back to the ESP32!
Basically, the ESP32 is a simple microcontroller (that is to say, it's a computer! It's just not a computer the way we usually think about it.)
It's really cheap, like $3 or $4 for a simple board. There are folks making software for it already to treat it like a desktop computer.
It's not completely open or completely standardized or capable of everything I want out of my #PersonalComputer but ...
They get most of the way there on every count, and they have built in wifi and are so very cheap.
It would be entirely possible to base a new paradigm of multi-decade computers on the ESP32, but built in such a way as to be agnostic to the actual hardware (that is to say, you follow the write once run anywhere model of Java, and use the ESP32 as the host of a virtualized environment OR you build for the ESP32, and then emulate the ESP32 on newer hardware in the future)
This is basically the approach that Infocom took in the 80s when they developed text adventure games for every computer on the planet.
They invented a fake computer, compiled all their games for that fake computer, and then wrote emulators for that fake computer for every major machine of the era.
As a result, basically any computer can run an infocom game.
Now, is the ESP32 a good home for a multi-decade computer?
It's a little more limited than I would have picked (I'd have probably stopped in the early multimedia era), but it's also way less power hungry than what I would have picked, and frankly significantly cheaper and easier to understand.
So I'm going to spend the next few months exploring the ESP32 as the basis for a purpose built computer that inherits the legacy of the tinkerers of the microcomputer era.
Principles I plan to adhere to in my ESP32 exploration:
- Offline first, but networked
- Understandable is better than "easy to use"
- don't make assumptions about available hardware
- Don't re-invent the wheel without a good reason
- don't try to build a modern computer
- Decide what this machine should do, make sure it's good at those things.
Chip-8 - https://en.wikipedia.org/wiki/CHIP-8 - Chip 8 is a virtual machine from the 70s for making games and software portable. It's part of the reason your graphing calculator plays games.
The 100 year computer project (https://thedorkweb.substack.com/p/the-100-year-computer) that sent me careening back down this path has a lot in common with chip-8 (and the article mentions it by name.)
I am giving the emerging RISC-V options a serious look.
Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.