This blog represents a new benchmark in my writing career, and my coding career, too. I have built it ‘nose-to-toes’; I began with a bare OpenBSD instance, installed Node & PostgreSQL, and then went and built a cutting-edge blogging engine in Next.js, from scratch.
It took approximately two hundred hours, and I had to learn innumerable new tools, and there will be substantial ongoing maintenance. There are any number of free or cheap blogging and newsletter platforms I could have used instead. Yet I wouldn't have it any other way.
I admit that I was radicalized, largely by the purchase of Twitter by a transphobic billionaire brat. This crystallized feelings that I'd been gestating for the past decade: Zuckerberg kowtowing to Trump; the rapid extension and symbiosis of corporate and state surveillance; and, abroad, the ease with which authoritarian regimes have coerced major platforms into manipulating discourse in their favour. (Looking at you, Modi.)
Before we were all bedazzled with network effects and easy UI—which is to say, on the old, old Internet— there was currency in the understanding that ownership of a platform provided the owner with control over everyone else using that platform.
The earliest Internet protocols, from NNTP to IRC, recognized that ceding control over the platform out of a hunger for eyeballs and a desire to get to the meat of creating (what I will refer to hereinafter as the ‘Medium.com Pitch’) is a poisoned apple. We understood that there was strength in federation and decentralization: what those on the left call anarchism, and those on the right call liberty.
It might even be a poisoned apple offered with the best of intentions. The problem is not with the technology, it is with human nature, and it is unfortunately a well-documented artifact of human nature that some of us wish to control the others. The justification is usually that it is for their own good, or the good of the group, or the good of future generations. Yet underpinning all these excuses is a vision of knowing better than others what they themselves want and need.
As it happens, I am the sort of person who prefers not to be controlled, and has a strong idea about what her own best interest entails, even when that idea seems at odds with so-called common sense (which is to say, received opinion recapitulated uncritically.)
So: I have taken it upon myself to master every technology at every level of the stack, from the server on up.
For now, I am still dependent on the awesome folks at OpenBSD Amsterdam to provide my hosting, but that may yet change (albeit not soon.) Yet I have taken responsibility for administering my own OpenBSD instance, which required knowing BSD; for configuring my own firewall; for setting up and protecting the reputation of my email servers; for setting up a VPN; for setting up NGINX; for setting up Node; and, most critically, with the fluency in Typescript and React required to build a blogging and newsletter engine from scratch, not to mention maintain it.
At any point on this journey I could have taken the easy way out, but I am so glad I didn't. By taking full control of the writing and publishing chain, I have been able to realize my dream of combining my gifts. For far too long, I have been an ice-cube tray of a human, with discrete puddles of wisdom: writing here, activism here, coding over here, design over there. But now, I feel whole and empowered in a way that is difficult to communicate, but should admit easy demonstration with time :)
So, welcome to my new blog.
The first series of articles, tentatively called ‘Nose to Toes’ will be a deep dive into each part of the stack that I am using. Along the way, I expect to demonstrate some of the power that has resulted from my strict, individualistic choices. I can knock off things like interactive graphs and animations as afterthoughts, without compromising SEO or syndication! I can accept donations, without giving a cut to Patreon! There are lots of opportunities, and I intend to explore them all.
So thus I bid you welcome, welcome, welcome. And don't forget to sign up for the newsletter :)