I used to post here some 5+ years ago. Those posts were aimless and scattered, so I fell out of the habit, never feeling like I got much out of it. My goal was to document projects, but completed projects are rare and not that much fun to write about finally finishing them.

Rationale

After 5 years… I’m going to resume periodic blogging/posting/writing/whatever this is. Because I’d like to be a person that writes. I consume too much and produce too little.

Yes, I produce at work: I write specs, build things, fix tests, close bug tickets. And I enjoy the subjective quality of quality. I’m happy to produce software that’s mostly bug-free and that’s well monitored — I like to set up twitchy alerts and iterate quickly to stamp out bugs until the software hums, silently, in the background while I move on to the next feature or service.

But I feel less connected. I am no longer honing my craft. I’m a productivity-minded feature implementer whose goal is to do a “good job”… without reflecting enough about what I learned, or looking externally to absorb what others have learned.

I tried side-projects. I tried Advent of Code. I tried new languages (for Advent of Code). They felt shallow and unfulfilling. Like opening random Wikipedia pages to acquire trivia. Too abstract and self-performative — each a shot at convincing myself I’m developing into a more serious person.

So, anyway, writing is, I think, a chance to self-reflect and remember why I liked software in the first place. It was never to close tickets, or fix bugs, or get promoted. Through writing, I hope to reconnect with the craft, the trade-offs, and the user and developer experience.

My secondary goals are pedestrian:

  • to think deeper about new concepts than I do scrolling NYT/YouTube/Hacker News
  • to prove, to myself, that I wasn’t entirely a code-producing drone over the last decade — I developed tastes and opinions and interests that I can enumerate and defend
  • to document my opinions so I can reference them without reconstructing them from scratch each time they’re relevant

Inspiration

My only inspiration for this (revived) blog is Murat Demirbas’s. At the time of writing we are, technically, coworkers. He doesn’t know me. But I am a fan. I took a 2024 TLA+ seminar of his during an internal Skunk Works, produced a Raft spec, and said a bunch of obnoxious things to my teammates including “it’s like programming in 4D.” It was my second favorite week at MongoDB — beat only by the next year’s Skunk Works project.

Before writing this and committing to the goal below, I re-read his posts Why I blog and How I write. And while I won’t cover the subjects Murat does, I admire his voice — knowledgeable without pomp — and I plan to replicate his approach:

The audience I have in mind is myself. I blog to clarify my understanding and thinking about a topic.

The process

To accomplish my goals — of producing more, self-reflecting, clarifying my opinions — I’m setting a biweekly writing target. My first post (this one!) is published today, the same day I refreshed my blog’s tech stack, and I’ll aim to post every 2 weeks hereafter.

I’m going to write about software engineering — either opinions I already have or things I want to learn more about. I’ll avoid the show-and-tell approach I used to take — a tech blog isn’t the right spot, and I won’t feel motivated.

In terms of tooling: I’m abandoning Gatsby — and its React and GraphQL. Good riddance. Neither made sense for a blog. I am writing this in Obsidian, which is quite nice. I already use it daily, it has vim bindings, this is just another vault. Further, I’m iterating on a custom plugin for building, proofreading, and publishing the blog (they’re just buttons on the left the editor). I’m using Quartz… but I’m a little unsure what I’m getting besides Markdown to HTML conversion, so I might remove it to simplify.

Regularly writing small posts shouldn’t be hard. But it will be. I’m counting on feeling motivated on lazy Sunday afternoons. I hope I stick with this long enough for it to become habit.