Reflections on 20 years of computing: An ode to Open Systems
It is no surprise that over the last few years I've grown increasingly disillusioned over the direction taken by most technological developments pushed by 'Big Tech' firms (enshittification is very real!). As a result, I started searching for new answers on questions that I thought I had answered early in my 20s, to better understand where am I really coming from and to find the aim for my future choices. One of the most important questions in this area is always: what is a quality OS environment for my computing needs?
If I look at the evolution of my digital journey from the beginning, it feels that it started two epochs ago. Of course, in fully dialectic spirit, every thesis has an anti-thesis, so I sense that both epochs should resolve in third one that represents a synthesis of some sort..
The first epoch: Windows (Thesis)
As a teenager, the majority of folks and role models around me (in terms of computing) were really into modding and assembling custom builds from scratch. The friends of my sister were all studying IT in high school and later graduated in telecommunications/software engineering/etc while I was deep down studying Latin/Greek/Literature, so the fuck I knew about motherboards, buses and sockets. They definitely were my reference platform for anything computer related.
This means that my teenager years were immersed in peak gaming scene: lurking on online forums (like TGM!), shopping at super small stores in forgotten bits of Rome (like TiburCC!), understanding if I should go with a Radeon or GeForce gpu. It's absolutely worth noting that this was well before Amazon was a thing, at least in Italy. I didn't really demand anything from my computer other than being able to be play Unreal Tournament 2004 and Age of Empires 2 at 30 FPS and whatever resolution was standard at the time, so a one-off purchase at a small shop with limited stock was all I needed to cover my needs for many, many years. Those days I would only ever play singleplayer against AI bots: multiplayer was not a thing that I had every fathomed engaging with given none of my best friends (or friends) were interested in computers. I also didn't know enough about LAN parties to become the cool geek my community needed. In high school my basic level of computer knowledge placed me miles above the level of most of my peers (which was 0) so I quickly earned the throne of being the "computer" person of my class, despite the fact I really didn't do much at all to earn it. But if you live in a tiny town where olives and grapes are the main conversation starter, knowing how to turn on a computer can be more than enough.
As I grew up, my interest for computers stayed with me, but mostly as a passive 'background' hobby. I had modded UT2004 so much that none of the vehicles in the game were stock anymore; the weapons and custom play modes constituted a Frankenstein-ed tangle of config files, 3d meshes and 2d textures downloaded from who-knows-what-random-website.
But apart from wasting my afternoons modding UT, I wasn't really doing anything "useful" with computers (in retrospective, modding stuff is probably when the seed for my love of 3D graphics was planted, but more as a side-side-side quest than a direct pursue).
As I started being more interested in music and sound design (to the point of almost pursuing it professionally), I slowly realized that digital music production on PC was a very particular kind of hellscape. It was certainly doable, but not as "fun" and "easy" as it looked on OSX. At least judging from the internet tutorials and videos of the time, where routing midi inputs seemed natively supported via a nice elegant (and functional) UI provided by the OS itself. Maybe it was just a representational problem (the majority of resources online were in English and recorded on a Mac), but it really felt like Windows support for musicians was just not there. Or maybe, it was just that musicians on Windows were not there.
Since at the time I didn't have any Apple machine, and because they were terribly, terribly expensive in Italy and I couldn't afford one, I did the best that I could as a teenager: spend my time on online forums writing how much Apple sucked compared to PCs (ah, the brain of a teenager, what a marvel of biases and preconceptions!).
The second epoch: Mac (Antithesis)
That lasted until my early 20s. I was gifted an iMac for my 18th birthday, and that radically changed my perspective. At that point, I realized that all of my hate for the Apple platform was merely due to ignorance (how surprising!).
All of a sudden, using the Terminal and Automator unlocked the inner geek in me, and the plethora of audio plugins and apps made me fall in love with the macOS OS X ecosystem. Between using Logic to record small music pieces and hacking around Quartz Composer for quirky realtime visuals, my early 20s were dominated by the feeling that I had found the perfect computing platform for creatives.
I'll never forget the fact that Apple support replaced my whole motherboard for free (well, I had Apple Care) because I had fried the audio input jack by plugging my electric guitar without any audio interface. This further solidified in me the idea that the Apple "of those years" was truly doing its best to provide a great customer experience.
As a result of the ease of hacking around, I started being waaaay less interested in playing games and way more into all kinds of more 'creative' computing. This eventually led me to learn Processing and hack around with OpenFrameworks. Again, judging from their online footprint, it really seemed the majority of creative hackers were using Apple machines (Kyle McDonald, Zach Lieberman, Golan Levin..) so for once I felt like I was not an outsider and there were no barriers between me and the creators I looked forward to: I just needed skills and good ideas. From time to time I could also see on the openframeworks forum that they were folks expert enough to be able to run Ubuntu on their personal machines, something which to me felt so edgy (!) at the time. Running Linux as your main daily OS sounded like such a tall technical barrier, one that I wasn't really ready to cross. It was at this time that I was brave enough to record my first ever tutorial, called "How to send Midi via Wifi on Mac - Tutorial". Of course, it was uploaded on vimeo because at the time 'Vimeo' was the source of quality content (unlike YouTube, which contained way more 'low effort' slop).
I have fond memories of learning Processing and Arduino on my Macbook. I even did a few audiovisual live sets connecting via ethernet Max MSP to custom Processing code for the visuals, and it felt such an incredible technical achievement: I was crossing some mythical bridge between art and programming, and it felt great.
While on my personal computers I had been running only macOS, over the years working in the CG industry got me exposed to systems running on Linux, mostly servers and render farm nodes, but also workstations meant for 'desktop' use. After interacting more and more with those machines, I started to like and deeply appreciate the "Linux" way of doing things, particularly because I was lucky enough to work with talented folks that taught me "the way" (whether it was how to tunnel via ssh or use tmux to run the same command on multiple machines).
Somehow, with Linux it felt as if the machine was always open up to inspection in a very special way. Going back to macOS started to feel a bit more of a constrained environment. Now I was shaping more and more into a developer, so I missed things like the /proc filesystem to quickly poke at the environment vars of a process, the idea of using /etc for generic configuration, a package manager that was built-in, and.. even things like systemctl to quickly check the status of services on my machine. In macOS the UI and app experience is (generally) great, since that's where folks are expected to spend the majority of their time.. but now that I had started being more empowered with the terminal and text-based approaches my experience of the OS started changing.
Ultimately, this feeling of "being there but not quite there" kept itching. I was productive on macOS, but the OS itself started to feel like it was constantly policing me and telling me how I should be using it. I rationally understand why certain things (gatekeeper, the secure enclave, etc.) exist and I appreciate the effort to improve everybody's security. Yet, irrationally, I started to feel more and more as if my computing experience was placed in a box, and the box was just as tall and as wide as a certain corporation wanted to make it. The early years of using macOS felt empowering: I had an idea for a project and I could execute it. The computer was just a temporary mean required to realize my vision. But more and more with the passing of time computing itself started being a fun activity in and of itself.. and with macOS I felt like this 'fun' component got lost more and more.. especially when compared to the freedom I had found in my encounters with Linux.
The third epoch: Linux (Synthesis?)
So finally, in 2023 (My first SFF build) I jumped ship and I went back to the origins of my computing journey: a custom built machine, but with a twist: this time I was ready to give Linux a real try.
As stupid as it can seem, the whole experience of choosing which components to use and actually assembling a PC felt incredibly inspiring: no longer bound to predefined configurations of hardware, I could pretty much pick whatever the f* I wanted! Geeking out on things was fun again! On top of this sense of freedom for the hardware choices, Linux felt a perfect complement on the software side. Having had only exposure to CentOS systems from work, I thought that choosing a Linux distro for my "day to day computing needs" was like a small step in the same direction. Only with time I realized that - of course - running a desktop system on Linux is a much bigger jump than simply running Raspbian on a few Pis or on your remote server.
What distro to use? And what Desktop Environment?
Linux offers so much choice that it can be overwhelming. After countless searches on Reddit, I eventually settled for Arch Linux. Despite the childish and meme-like kind of representation that Arch sees online (I suppose mostly due to a minor but vocal club of 15 y/o guys that never leave the house and constantly scroll Reddit?), I can now say without doubts that Arch is a great systems for anybody that cares about having deep control over their computing experience (which - of course - requires a certain type of skills). As a side, I really wish we could cut the memes that surround Arch because the system truly deserves to be celebrated for what it achieves as an integrated-but-DIY experience, not because it's so hard to use that you can flex it with less tech-savy people. I personally want to celebrate the punk/DIY nature of Arch, instead: their Wiki pages are the best that I have ever used on Linux, while its forum community is filled with useful tips to help with more banal misshaps.
So after one year of playing with Arch, in 2024 I bit the bullet again and got myself.. another dev laptop running Arch (Rocking a Framework 13 as a hobby laptop) ! In turn, this made me want to play with other distros for my main workstation, finally opening the door to the so-called.. distro-hopping. For me (and I know I'm not alone, see The joys of distrohopping By Josh Tronic) distro-hopping holds a special meaning. In an age where many online services are mass produced using the same 3 ultra polished UI frameworks, scouting the web to find niche distros is a fun way to re-image the computing experience from the ground up. A similar idea applies to trying out esoteric window managers, like Niri.
In all these years desktop Linux hasn't been a perfect experience, far from it. Particularly on Cosmic I keep constantly finding small paper cuts, despite the system no longer being considered "beta" (bold move, if I may say!).
When talking about creative software, things are still very rough. While projects like graphite are still growing, there's just no straightforward alternatives for running "basic" design apps like Affinity Photo or Photoshop. For editing, Resolve kinda works, but can be a bit of a pain to setup if you have an AMD GPU. In the 3d world things appear a bit simpler, since both Houdini and Blender run without problems on most Linux distros. And Gaming on Linux would require its own blog post, but suffice to say that 90% of the times, for the type of games that I play, Proton "just works" (even for Microsoft titles like Age of Empires IV!).
But all in all, while each rose has it thorn (and Linux has many UI-shaped thorns!), I can say that my overall experience has been.. fun!
T(h)inkering around, learning how systems work, exploring wildly different ways to customize and setup your computer. For geeks, that's dumb, silly, primitive raw fun! Exploring the online Linux community feels a bit like a travelling through Europe, visiting different countries each one with their own very different takes on food and culture. In a world dominated by generic looking big corporation culture that looks the same in every place you stop by, this variety of experiences and point of views is just as refreshing as finding a traditional, locally owned Mexican restaurant in a land of McDonalds and KFCs.
I must say that my excitement for Linux as a computing environment is also because I've been lucky enough to never get to a point where a bug/missing feature proved so critical that I couldn't somehow work around it. As matter of fact, I still use my old mac as a more 'boring' but reliable alternative for when I need to quickly whip out an image using Affinity Designer (number 1 use case: create article covers for this blog!). On top of that, I'm also in my Emacs honeymoon, so my experience of the OS is definitely mediated by my experience in Emacs. Because Emacs is my happy place, any OS where Emacs runs fine doesn't take too much to become an happy place in itself.
At this point though I feel that in order to avoid providing an overly simple characterization of the average Linux experience, I need to also mention that, for me, searching a document via find is terribly more effective that using Spotlight! And checking the disk space used by a few dirs using dust is much better than Disk Utility.
If you cannot reasonate at least partially with this^ approach, Linux desktop will not necessarily be a fun experience. What I mean is that, below the layer of "fun", I also have a solid foundation of being able to "get sh*t done" because I have been working with a command line for many many years. I feel that sometimes, in the online discourse, a lot of folks these days fail to mention that having a good understanding of the terminal is kinda of a prerequisite of a happy Linux journey. I guess they mostly do it to "sell Linux to the masses", but I don't necessarily share that vision. While you can get by with less knowledge, knowing more about how to interact with the filesystem using a shell will prove terribly useful in many of the activities you'll do on Linux. That's kinda where both the strength and the fun of the system lie! If you're not looking for that kind of fun, maybe think twice. This doesn't mean that Linux is just meant for "programmers", but that you need to have a bit of intellectual curiosity in order to be successfull. Without it, you'll not only struggle with the occasional bug, but you won't find any pleasure in finding the solution yourself.
In any case, after all this unsolicited advice.. is Linux the final leg of my computing journey?
For now, it looks like it's the most culturally vibrant digital platform, which clearly resonates with me more than anything else spit out and regurgitated by the Marketing department of your average-looking shareholder driven US corporation.
Would I love for more UX/UI designers to come improve the desktop experience of many apps, and for more CLIs to be targeted to complete novices, to make more folks feel at home? For sure. But seeing that newer generations (like YouTube creator Bread on Penguins) are picking up Linux in a more 'casual' way makes me hope that we're all in here to change (for good) the next 10 years of computing. Let's make tech more human, more quirky and ultimately.. more fun.