Old Computer Challenge: Wrap Up
Earlier posts:
Warning: this is not a technical post. Apologies for all the rambling; I'm just writing what comes up to me while it is still fresh in my mind.
Outcome
As I am starting the last day of the 2023 Old Computer Challenge, I wanted to jot down a few finishing notes. Of course written on my iBook G3.
I'd call the week a success in that I was able to do about 80% of the things I usually do. This includes much of my programming and scripting activities, staying up to date on gopherholes/gemlogs/blogs, reading my email, running a VPN client, connecting to servers and doing some basic surfing. For much of my day-to-day tasks, there was little to no difference in using this computer.
Keep in mind that this was done on a machine that is 23 years old and has 200 times less RAM than my work laptop. This is hardware that has long been considered useless and obsolete, yet it runs on a modern OS - OpenBSD 7.3 - and runs like a champ. That, in itself, is nothing short of incredible.
Then again, pareto rears its ugly head, and I don't want to be overly positive for an experience that was enlightening first and foremost, but ultimately far from superior to my usual setup.
The remaining 20% of things that I was not able to do, range from fairly trivial to rather frustrating: online banking was impossible. Watching Youtube (or any video, for that matter) was not an option as the system is too slow. Forget about planning your upcoming trip on Google Maps. No modern games. Eye strain due to the incredibly dark screen. And I wish it wasn't so, but much of the web isn't usable on a browser like Netsurf.
So yeah, could I use this device as my daily driver? Yes. Would I want to? Probably not. Mind you, we're not talking about a 10 year old T440, but a system that is making the T440 look like a marvel of modern processing power. Then again, this was never the purpose of the OCC. If anything, it has made me question things. How I use computers, fragile and antifragile patterns, but also the state of modern software and (especially) the state of the current web.
Antifragile Systems
My interest in permacomputing made me think a lot about sustainability, fragility and resilience this week. Permacomputing to me, is about how we interact sustainably with computers and related technology, in many different contexts: environmental, communal, creative and so on. The core purpose of permacomputing is then to strengthen the ecosystems of those contexts.
One "branch" to explore (permacomputing can cover a lot of areas) is the lifespan of both hardware and software, with a focus on eliminating waste. Preventing waste is something that the current capitalist system values very little, as it is antithetical to their main raison d'être (growth). So, new hardware and software is being pushed through our throats, in ever increasing product cycles, with one defining characteristic: the product has to be covertly fragile, for the company to thrive.
This type of fragility, in the context of hardware, means: hard to repair, created with built-in planned obsolescence, not using open standards, adding unnecessary components that increase the chances of failure (bloat), hidden complexity, higher than required energy usage and built on an opaque supply chain supported by exploiting human life, nature, fossil fuels and mineral resources.
Fragility, in the context of software, means: requiring a lot of dependencies to run, limiting the platforms and architectures it can run on, crashing on the least amount of unexpected context (e.g. no internet, API not reachable), hidden complexity, poorly understood complexity (e.g. black-box models), blatant security issues, hidden internals and being hard to debug, software bloat, requiring software updates for the sole purpose of pushing the agenda of the manufacturer, not improving the life of the end-user.
Without resorting to plain nostalgia, my experience is that all of these things were happening a lot less on the type of older systems and software we used for the challenge (and a lot more on most modern tech these days). I can replace my iBook battery in under 20 seconds while a battery change on my M1 macbook is not even possible. The tools I have used this week (vim, awk, mutt, ksh, lynx, etc) exhibit nearly none of the above signs of fragility. The system is still running after 23 years, on original hardware. Using these systems is an exhibit on frugal computing and the most pure act of rebellion against the consumerist system that you can take, while at the same time reducing waste.
In contrast to fragile systems, we have unapologetically simple systems. You can call it simple (not necessarily easy[1]!), minimalist, transparent, light, whatever. The fact of the matter is: the simpler your system, the fewer dependencies you generally have to deal with and the path to understanding your entire stack (this is the only time that "full stack" can credibly be used, imho) becomes easier. When is the last time you knew exactly what happened "under the hood" when you ran a program? If we ever encounter a collapse event of industrial production and the internet, this might suddenly become very important. Simple systems make for portable systems. There is a role to be played for lightweight virtual machines like 100 rabbits' uxn[2] or Justine's blink[3] here.
An important part of permacomputing is to define the limits we need to set to ourself to build these systems that are robust, efficient and designed for longevity.
>
These old systems and software are antifragile, which is exactly why they are still around, and used.
I have some more thoughts on this topic but I'll keep those for separate posts, not to make this too long-winded. It is quite fascinating, for example, to look into how contraints like these can actually be a catalyst of creative expression. This is obviously not a new concept, but I believe it is underrepresented in the world of computing.
Additionally, frugal systems can also mean to use no computer or technology at all, if that is the most optimal state of the ecosystem. As technologists, we often tend to resort to "technological solution for every problem" thinking, but we should not be afraid to have the conversation of simply limiting or even removing the use of technology, if appropriate. Not everything needs a computer and an internet connection.
Going Forward
It goes without saying that for me, the OCC week doesn't stop today. While the experiment was useful in defining limits, I have no problem in using a more modern computer either. However, considering the above on antifragile systems, I will make a considerable effort to update my workflows so that they incorporate those ideas, where this was not already the case.
I have started long time doing so but this week showed the "gaps" in my computing, where my process is still highly dependent on constrained systems that I want to get rid of. Part of this is down to plain old tooling, but part of this is also in transforming personal habits I have, towards healthier ones that rely less on fragile systems.
On to the next year!
References
⁂