Joe Armstrong - Erlang and other stuff

2022-02-25

I've been working on generating an Atom feed for this site (because RSS should never die!) and in the course of my research, I discovered a conversation on Twitter from someone else who was working on migrating their blog to Tiddlywiki. The name "Joe Armstrong" rang a bell, and it hit me suddenly...this can't be the late Joe Armstrong of Erlang fame, can it? But further poking around showed it was indeed. His journey to use Tiddlywiki really hit me; it's just so similar to my own, from thinking of Tiddlywiki as a note system to discovering that it's really more of a database and programming language disguised as a web page. He wrote an interesting post in 2018 about wanting new blogging software that would stay still so he could focus on blogging rather than blog software. He even has a quote in there that really hits home for me:

I decided to take the easy way out. Write my own static site generator. Moreover I would use no external dependencies...Are you crazy - no dependencies at all? Perhaps I am crazy, but every time I've included somebody elses code it has turned round and hit me in the face a few years later.

So what does he go with in 2018? Emacs' org-mode. Ah, I know this path well! But I share his viewpoint: if you want a low-maintenance site, you need stable, monolithic building blocks that you assemble yourself into the desired solution (stuff like SQLite, Fossil, Emacs, and Tiddlywiki fill the bill nicely). Joe started with org-mode, and then added his own embedded Erlang tags to automate things. But, facing similar challenges that I've faced (I'm sure), a couple of years later, he discovered Tiddlywiki. He has a post about his eureka moment working with it. It has this quality that isn't apparent at first: it's a full-fledged system for manipulating a database of notes (and the notes themselves contain the system!), so no extra embedded language is needed. Instead, it not only has wikitext (with macros and widgets), but can embed JavaScript code as well. This self-contained package is self-sustaining, needing no updates unless they are desired. This property makes it different than other systems (he mentions Jekyll and Hugo): both are dependent on separate language ecosystems (Ruby and Go, respectively) as well the associated projects being maintained. His tweet about using Tiddlywiki because it will endure really resonates with me:

you can hopefully read [my posts] in 1000 years

And then, just months later, he was gone. For me, finding his posts about all this only three years later is amazing...I never knew Joe, but I've long been a fan of Erlang, and it turns out he was a fan of the same sort of tech that I've found inspiring. The great news is that, since he switched to Tiddlywiki, his site should stay up as long as Github will host it, and even then, if anyone has saved the wiki (I have!), it can easily be hosted elsewhere, not only over the web, but also over newer technologies like IPFS. And that's great! His blog has a host of interesting posts about crazy stuff that I adore like Sonic Pi and the joy of really bad websites. If you're curious, the link is below, as usual.

Joe Armstrong - Erlang and other stuff