Thinking out loud, with a URL I own

I rejoined the working world about a month ago as CTO at Stacklok. That means I’m writing again: customer conversations, product decisions, technical strategy. Some of that writing wants to be longer and more considered than a social post. I needed a home for it. So: this blog. Why not just use an existing platform I’ve had a personal site for a long time. Over the years I’ve watched platforms change their terms, start charging writers, or simply disappear. Medium pivoted away from the model that made people trust it. Twitter has too many Nazis. LinkedIn is useful but is, in my opinion, a super needy, toxically positive address book. ...

May 25, 2026 · 3 min · Joe Beda

Hello, World

Well, here we are. This is the first post on the new joe.dev — a fresh Hugo setup deploying via Cloudflare Pages, with posts mirrored to ATproto via Sequoia. Nothing deep to say yet. Just kicking the tires and making sure the whole pipeline works end to end. More soon. Code highlighting Here’s some Go: package main import ( "context" "fmt" "log" "github.com/stacklok/mcp-go/pkg/server" ) func main() { srv := server.New("example", "0.1.0") srv.AddTool("greet", func(ctx context.Context, name string) (string, error) { return fmt.Sprintf("Hello, %s!", name), nil }) if err := srv.Run(context.Background()); err != nil { log.Fatal(err) } } And some Bash: ...

May 21, 2026 · 2 min · Joe Beda