the scapegoat dev

Finding my way back to open source

Writing open source in my twenties

I published a few open-source packages in my twenties, but never put any effort into making them more widely known. The most widespread was an afternoon hack where I developed a Common Lisp macro called parenscript to write Javascript in S-expression form, along with some constructs borrowed from Common Lisp. In the end, the package was taken over by actual maintainers (Edward Marco Baringer, Vladimir Sedach, and possibly others) who did all the heavy lifting. Another project I am proud of is BKNR, a datastore and web application that I wrote with Hans Huebner, who then came to do most of the continued development around the project too.

In both cases, I must have spent time writing nice documentation which must have contributed to the relative success of the projects. I don't remember writing it, but my memories tend to fade and disappear after a few years.

Starting a hardware company—burnout #1

At the end of my twenties, I decided to start a company building MIDI controllers with opensource schematics and firmware. In hindsight, I had absolutely no idea how to function in a commercial and professional context: the absolute focus and dedication I used to build software was at the expense of understanding what a healthy approach to work was (or that not everything about living is about building tools). In fairness, I still don't understand, but at least I am able to function.

Having burned out spectacularly from working 90 hour weeks for $5/hour, I had to move on. I became a full-time freelancer, taking delight in wrangling large pieces of legacy code into something pragmatically shippable. I also appreciated learning that you can actually make a living writing software, even if you don't know much about it. This might sound like an obvious concept, but it is something I still have a hard time grasping.

Justin Valer, a customer of mine at the time, did an INCREDIBLY impressive job of continuing the project, pushing far beyond what I thought was possible, and is actively building a community around MCL. I am incredibly proud to have laid the foundations for what this project has become.

Working for a startup—burnout #2

Over the last 10 years my self-esteem steadily eroded and I ceased writing software that was not directly related to work altogether. I stopped believing that software could be fun, well documented, and stand on its own. I stopped believing that I had from time to time some worthwhile ideas that other people could appreciate.

I built a fair amount of what I thought were really interesting and powerful tools. However, I never managed to share with people outside of my close collaborators how valuable they were. Building things without ever getting feedback (beyond at times remarks about how I shouldn't waste my time) is not very fulfilling. Because of what I think is an autistic communication style and the lack of a prestigious degree, I was probably considered more of a prolific but visionless grunt than someone who could strategically contribute. By I have come to understand that my strength is having a holistic and long-term approach to building, which is intrinsically strategic.

I am still extremely proud to have carried a codebase from 2 engineers and a spaghetti desktop application to a codebase shipping weekly. This codebase supports many hardware platforms, for an engineering team of around 100 people, and never missed a beat.

Many of the ideas I developed during that time were forged in the heat of continuous shipping, highly diverse engineering teams and relentless scaling and change. They inform most of the software I write today.

Recovering and getting back to open source

Over the last year, I have slowly built this creativity and confidence back up, doing a batch at the recurse center, writing a lot, collecting lots of ideas in my Zettelkasten. This came at the cost of making music, but also allowed me to reflect on what creativity means to me.

I realize now that all my interests: programming, drawing, music, electronics, writing are fundamentally interconnected and related. I can't separate them from each other.

I had the enormous luck to have a group of friends in my late teens and early twenties around the entropia chaos computer club in Karlsruhe that approached building things in a similar way. We built many Dadaist projects, had a website that was constantly changing in the weirdest ways.

Oddly enough, fucking around with Midjourney and ChatGPT is what made me reconnect with this concept of work as art, art as work and everything is dada. I love creating boring backend data wrangling software, but there is no reason I can't make it as weird as I want. I don't need to have a wiki and a discord and a community and a manual. No, I can literally write my documentation in UPPERCAPS, publish it in zine form and use hallucinated woodblock art to illustrate its core concepts.

This insight, that there is no reason I shouldn't build things the way I see them in my head, was a turning point.

I created the GO GO GOLEMS organization and have been busy chipping away at a whole interconnected web of tooling and frameworks, but that is for another blog post (or zine).