Hello, World!
meta blog
After 20 years of blogging across various platforms, I’ve come full circle: back to static files, Markdown, and a deploy pipeline I actually understand.
Why move?
Substack was fine. But “fine” isn’t what I’m after. I wanted:
- Markdown files in a git repo — version-controlled prose
- No vendor lock-in — my words, my infrastructure
- RSS-first distribution — because RSS never died, you just stopped using it
- Simplicity — a blog should be a function from Markdown to HTML
The stack
This site is built with Astro, styled with Tailwind CSS, and deployed on Railway. Newsletter delivery is handled by Buttondown, which picks up new posts via RSS.
No JavaScript frameworks. No client-side hydration. Just HTML and CSS, the way the web intended.
What’s next
More writing about Python, open source, infrastructure, and the occasional rant about software complexity.
def hello():
print("Welcome to the new blog.")
if __name__ == "__main__":
hello()
Subscribe via RSS or the newsletter form below. See you around.