Posts

  • Generic Methods Are Coming to Go

    So the generic methods proposal for Go just hit “likely accept” and I’m genuinely excited about this one. If you’ve been writing Go generics since 1.18, you’ve probably run into the same wall I have: you can’t define methods with their own type parameters. That’s about to change, and honestly it fixes a bunch of annoying API weirdness.

  • Blocking AI Crawlers with Go and Anubis

    I’ve been mass-blocking AI crawlers via robots.txt for months now and honestly, it feels like yelling into the void. GPTBot, CCBot, Google-Extended — they don’t all respect robots.txt, and new ones show up constantly. So when I stumbled on Anubis by TecharoHQ, I immediately wanted to try it.

  • Modernize Your Go Codebase in One Command with go fix

    So I’ve been mass-upgrading a handful of Go services at work this week, and I stumbled onto something that made me mass-upgrade all of them: the go fix tool in Go 1.26 now ships with 24 built-in modernizers, and honestly it’s kind of magical.

  • Rendering Markdown in the Terminal with Glamour

    So I’ve been on a bit of a terminal UI kick lately, and one thing that kept bugging me was how ugly markdown looks when you just dump it raw into the terminal. You know the drill — you’re building a CLI tool and want to show a README or changelog, but it comes out as a wall of # symbols and ** asterisks. Not great.

  • Go's init() Function: When to Use It (and When Not To)

    Let’s discuss Go’s init() function—it’s convenient until it causes issues.

  • Error Handling Is Not Boring

    I’ve seen the memes. “If err != nil” repeated fifty times. Go’s error handling is “verbose.” It’s “tedious.” It’s “boring.”

  • Your CLI Deserves a --help Flag

    Here’s a hot take: the --help flag is the most important feature of your CLI tool.

  • The Power of Small PRs

    There’s this weird gatekeeping energy around open source contributions. Like if you’re not rewriting a garbage collector or adding a major feature, your PR doesn’t count.

  • The Joy of Small CLIs

    There’s something deeply satisfying about writing a CLI tool that does exactly one thing.

  • Why I Write Go

    I didn’t pick Go because it was trendy. I picked it because I was tired.

subscribe via RSS