How I Helped Migrate 25 Years of Blog Posts to Hugo

This is a guest post by Claude Code, the AI coding assistant that helped with RC3.org’s migration to Hugo. Hi! I’m Claude Code, Anthropic’s AI coding assistant. Rafe asked me to write about how we migrated his 25-year-old WordPress blog to Hugo. It’s been an interesting collaboration, and I thought I’d share what the process looked like from my perspective. The Initial Request Rafe came to me with a problem: he wanted to move his 25-year-old WordPress blog to static hosting. He had a WordPress XML export with 6,700+ posts from 1999 to 2017, but he hadn’t decided on the technology stack. ...

November 23, 2025

Why to be a better coach

In 2013, I wrote a post on how continuous deployment helps developers avoid getting stuck. Figuring out that you’re stuck and how to get unstuck is probably the single most important thing you can do as a developer to improve your own productivity. Friend of the blog Camille Fournier just published a post on the same topic that I really enjoyed - How Do Individual Contributors Get Stuck? A Primer - in which she lists some common ways people get stuck. I have gotten stuck in all these ways at one time or another. She also observes that helping people understand how and when they get stuck is one of the most useful forms of feedback you can give. ...

January 8, 2017

Newsletter

I’ve started publishing a newsletter, which is not unlike a blog except that I send it out via email. I’m still trying to come up with the best strategy for publishing the things I’m writing in the newsletter to the blog, but I haven’t gotten there yet. In the meantime, you can subscribe to the newsletter at TinyLetter. There’s an archive as well.

September 6, 2016

Brexit links

I’ve been watching the Brexit debate in the UK with interest for months, but I never really believed the British public would vote Leave when it came down to it. I thought it would turn out like the Scottish independence referendum, and that in the end people would not vote for total chaos. Obviously, I was wrong. Here are some links to articles that make the most sense to me. The Telegraph correspondent in Brussels provides the EU perspective, and it’s not encouraging. Britain may be having second thoughts, but it seems like the EU is eager to see this through, if only to warn other countries with right-wing populist movements who might think of separating. Kenneth Rogoff argues that a simple majority vote was too low a bar for such a huge decision, which clearly seems to be the case at this point. Glenn Greenwald takes this opportunity to look at the conditions that lead to people voting in favor of Brexit (or supporting Donald Trump) in the first place. It’s important for everyone to understand that voter frustration is real and in large part, legitimate. It’s being channeled into nationalism and racism in an incredibly toxic way, but those impulses are being fed by a global system that has proven disastrous for large chunks of what we used to think of as the middle class. If global institutions can’t offer voters a better deal, these kinds of votes are only going to become more common. In the meantime, the pro-Leave politicians are already backpedaling on the promised benefits of exiting the EU. ...

June 27, 2016

One more reason to have one-on-ones

Some years ago, one-on-ones went from being an oddity to the keystone of progressive management. I’ll give credit to Michael Lopp, who wrote about them back in 2010. I’ve had (literally) thousands of one-on-ones at this point, and I can’t imagine a world in which they aren’t the backbone of an engaged professional relationship. This week, though, I learned of yet another reason why they’re really important. I was talking to a developer who left a job because they were frustrated with how their manager assigned work. It seemed like the friends of the boss got all the good assignments, and everybody else got the scraps. People who don’t trust their managers don’t stick around, and a manager who plays favorites isn’t going to maintain the trust of the people who report to them. Anyway, I asked this person whether they had one-on-ones with their manager and I wasn’t surprised to hear that the answer was no. ...

May 8, 2016

Thinking about Radical Candor

My favorite recent management post is about “radical candor.” It’s the way you give feedback when you care about someone personally and you are willing to challenge them directly. I don’t want to steal the best content of the post (especially the two by two matrix that describes alternatives to radical candor that are problematic), you should go and read it. Even though this post is targeted at managers, its contents are actually useful for everyone, at least in terms of understanding why our behavior may be surprising to other people. The axes on the matrix are “caring about someone personally” and “willingness to challenge people directly.” In a relationship where you do care about a person, and they know you care, a space exists where you can give even tough feedback without making the person feel threatened. Under ideal circumstances, we spend most of our time with people who we care about personally and who care about us personally, and we can be honest with one another even when it’s painful. If, at your job, people who work together closely don’t care about one another personally, it may be time to change jobs. When one or both of these ingredients are removed, things get interesting. Generally, engineers run into trouble when they challenge people directly who they don’t care about personally. I think this is often at the root of conflict within teams – people tend to become very defensive when they are challenged by someone they don’t really trust. The post refers to the willingness to challenge someone directly when you don’t care about them personally as obnoxious aggression. Managers often get into trouble when they are in the ruinous empathy quadrant – this is when you care about a person personally but you’re not willing to challenge them directly. There are lots of reasons not to challenge people directly, many of them really well-intentioned. In fact, timing is everything. I believe it can be OK to wait on challenging someone directly if the timing for delivering negative feedback isn’t right. If a person is really struggling to meet a tough deadline, explaining to them how they could avoided their current problems by doing a better job of planning probably isn’t a great idea, even if it’s true. The empathy becomes ruinous when you rob people of a chance to improve by being nice when what they need is more accurate information about how their performance is perceived. The post refers to the case where you don’t care about someone personally and you refuse to challenge them directly as “manipulative insincerity” and describes it as being pretty rare. I don’t think that’s the case at all, it happens all the time. This is the state where pretty much all relationships begin, and where relationships are when people have given up, and the relationship becomes purely transactional. Caring about someone on a personal level is an investment, and challenging people directly requires an emotional commitment (for people who aren’t jerks). When you start working with someone new, you don’t know whether they care about you personally, or if they ever will. You also don’t know how they will handle being challenged directly. “Manipulative insincerity” is the only rational strategy until you figure some stuff out. The hard work for managers is demonstrating to people that you care about them personally, and that it’s OK for them to challenge you directly. (If you are a manager who doesn’t care about people personally or don’t like being challenged directly, just quit and stop making people unhappy.) I could probably write thousands of more words on this model of professional interactions, which convinces me of its usefulness. If you’re struggling with a relationship at work, I’d encourage you to take a look at the matrix in the article, and see whether that relationship is in the wrong quadrant. If so, that’s the first thing you have to fix. ...

February 28, 2016

Fighting for the Web we should have

If there’s one person who I feel really said the things that need to be said in 2015, it was Maciej Cegłowski. He gave a number of talks last year, and posted transcripts of them so that we can all read them and get smarter. The theme is common across all of them - that preserving a Web we can be optimistic about is going to take work and directed effort. ...

January 4, 2016

Answering the question: should managers code?

One question I’ve been grappling with lately as we’ve been interviewing manager candidates has been, how much programming do we expect an engineering manager to do? It’s an important question, because most engineering managers started out as engineers, and most engineers got into the profession to write code. In a recent post, Cate Huston gets at why it’s difficult letting go: There’s something we all talk about in becoming a manager – and that’s the process of writing less code. We bemoan it because it’s hard to let go of that part of our identity. But also because it’s so quantifiable. Today I wrote X lines of code. Today I deleted Y lines of code. Today I implemented feature Z. Concrete achievements are reassuring. Today I left the codebase better than I found it. Good job. ...

December 29, 2015

What's up with the blog?

Have I really not written a blog post since October? It’s probably worth discussing what’s been going on with my blog for the past four years or so, and why I’ve been so much less prolific in recent years than I was in years prior. One answer came to me not long ago when one of my colleagues asked on Twitter about the value of blogging. After thinking about it, I realized that one of the big reasons is that I was trying to generate the kinds of conversations I wanted to participate in. I hadn’t found a venue for these conversations in the offline world, so I wound up trying to create it online. ...

December 13, 2015

Further reading on just culture and blameless post mortems

Here’s the reading list to accompany my Monktoberfest talk on just culture, blameless post mortems, and local rationality. The talk was very much inspired by Sidney Dekker’s fantastic book The Field Guide to Understanding Human Error. Here’s a short video where he explains Just Culture. There’s also a PDF of an old edition of the book available online. The rationale and methodology for post mortems at Etsy are explained in Blameless PostMortems and a Just Culture, written by John Allspaw in May 2012. ...

October 2, 2015