#tech
- Blog post
Social media was supposed to connect us, but most of it has turned into ads, division, and loneliness. I'm betting on ATProto as a way to fix that, and not just for developers. Whether you're a scientist, journalist, or just someone who wants the internet to feel human again, I think ATProto matters for you too.
- Blog post
Nobody knows what the future of software engineering looks like, and that's incredibly uncomfortable. But instead of waiting for someone to hand us the answer, I think the move is to embrace the uncertainty, because these moments of deep uncertainty have historically been moments of extraordinary opportunity.
- Blog post
The best practices for building with AI haven't been written yet, and that's actually exciting. This post breaks down a layered approach to AI-assisted development, from chat to coding agents to agent fleets, with practical tips for getting started no matter where you are.
- Blog post
AI agents like OpenClaw can run continuously on your machine, read your email, push code, and post to the internet on your behalf, often with minimal supervision. I've put together six practical guidelines for using AI Agents without losing control... favor scripts over agents for deterministic tasks, guard against prompt injection, monitor what your agent is actually doing, vet community plugins before installing them, scope permissions tightly, and minimize the data you send. This isn't a "don't use AI" post, it's a "here's how to not shoot yourself in the foot" post.
- Blog post
I'm scared, I'm excited, and I'm exhausted by the pace of change. All of those things can be true at the same time. This blog post is a (hopefully) grounded take on living through AI's inflection point, why the backlash is valid, and why human connection matters more now than ever.
- Blog post
I went from brain dump to a working productivity tool in a single day. Here's how listening to the How I AI podcast pushed me to finally experiment with personalized software, MCP, agents, and skills—and why I think it's time to get on board (with some caveats).
- Blog post
I spent 2025 going from skeptical to genuinely excited about AI tools. My non-tech friends and family spent 2025 learning to hate them. The AI industry has fumbled this introduction so badly that we've turned a useful set of tools into a cultural flashpoint - but the damage isn't irreversible.
- Blog post
2025 was my year of doing ALL the things - speaking at 5+ conferences, starting a podcast, shipping side projects, and somehow not completely burning out. I learned that momentum creates more momentum, perfectionism is overrated, and seeing people in real life again after years of isolation is actually really, really good.
- Blog post
I wanted to add book clubs to my GoodReads-like app (Collective), but ATProto doesn't have a standard way to handle shared group resources yet. So I'm building opensocial.community—a separate service that manages groups independently from any single app. This means the same book club could potentially work across multiple apps (imagine your book club having both a reading list in Collective AND a discussion forum in another app), and groups can migrate between providers if needed. It's probably over-engineered for my use case, but might help other ATProto developers building community features.
- Blog post
For most of my career, I've been confusing building products with building businesses—and that confusion kept me from pursuing a lot of ideas. Two weeks off helped me realize that not everything needs to be a startup, and some of the best things we build are the ones we build just because we want them to exist.
- Blog post
I've cracked the code on breaking the eternal cycle - features win, tech debt piles up, codebase becomes 'legacy', and an eventual rewrite. Using coding agents at GitHub, I now merge multiple tech debt PRs weekly while still delivering features. Tickets open for months get closed. 'Too hard to change' code actually improves. This is the story of the workflow.
- Blog post
Learn how to add Bluesky comments and likes to your blog in under an hour using ATProto integration, with copy-paste code for Astro sites.
- Podcast
- Blog post
- Comic
- Blog post
A look back at parental leave, switching teams at GitHub, finding crochet, and starting therapy and an SSRI that changed everything.
- Blog post
- Blog post
My experience at BoiseCodeCamp 2024: talks on AI, OpenSCAD, and domain-specific languages, plus my first time speaking at a developer conference.
- Blog post
- Blog post
Notes from reading Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim, and the practices that separate high-performing software organizations from the rest.