Jamie Taylor

@gaprogman.com

Technology consultant & fractional CTO specializing in .NET architecture & security. Former Microsoft MVP | Host of The Modern .NET Show | Open source contributor

I've been reading The Little Book of Hygge (by Meik Wiking) this week. And now I'm deeply regretting not experiencing more of what Copenhagen had to offer when I was there a few month back.

The bug I could not crack at my desk solved itself in the shower. The design that would not come together arrived on the walk home. Every developer knows this feeling. Most of us file it under luck. It is not luck.

You sit down to do the one thing that actually matters. Eleven minutes later you are reading a Slack thread about nothing in particular, with a vague sense of having failed. The story we tell ourselves is always the same: I need more discipline.

Last Friday I finally published the post I had been promising for years: how I actually do agentic development after four years of it. Not vibe coding. Discipline. If you meant to read it and the week got away from you, here it is again.

"Use Picard to tag your CD rips," they said. "It uses MusicBrainz behind the scenes," they said. "It'll always be correct, they said." My music collection is now filled with made up nonsense from the MusicBrainz users. Crowd sourcing doesn't always work.

Sunday thought. Three things I keep writing about are one idea. Rethinking: noticing when you have stopped being right. Safe agentic data access: deciding what a tool may do before handing over the keys. Agentic development: staying responsible for what it produces. The judgement stays human.

A way to think about agentic development that calms most of the panic around it. We have done this before. Every few decades the industry adds an abstraction layer and everyone worries it makes engineers obsolete. It never has.

There I was wondering why none of my GitHub cron jobs seemed to have completed. When suddenly (image shows that they ran 2 hours and 33 minutes late).

Bild

New post today, and it is one I have been meaning to write for years. Everyone keeps asking how to actually get started with agentic development. Here is the honest answer, and the first thing to say is what it is not: vibe coding.

Tomorrow I publish the post I have been promising: how I actually do agentic development, after four years of it across personal projects, open source, and client production work. Not vibes. Discipline.

A technique I taught a journalist last year, and also use on million-line codebases nobody fully understands. When you do not know enough to brief the agent well, stop briefing it. Ask it what it needs to know instead.

The loudest advice about AI coding right now is to not read the code at all. Give in to the vibes, ship it, forget the code exists. I have spent four years doing almost the opposite. A post on that later this week.

Just in case you still use any Basecamp products, DHH is crashing out about his AI product gently pointing out that it’s bad for him to have extermination fantasies about the Roma people.

DHH tweet saying “This is why we need competition and open weights in Al. Imagine a world where only Anthropic sat as the moral arbiter of acceptable speech. Fucking ridiculous. (Grok of course did it no problem, same too with Kimi K).” when presented with his blog post using a slur about the Roma people.

A last, quiet nudge towards last week's post on Adam Grant's "Think Again", and the line I keep coming back to. Education, Grant says, is not the information we pile up in our heads. It is the habit of revising our drafts.

Sunday thought. Two things I published this week rhyme more than they look like they should. Rethinking is noticing quickly when you have stopped being right. Good engineering is deciding what the tool should do before you hand it the job. Think first. Then let the tool earn its place.

A little history: The original XP team invented story points to deal with a time-obsessed manager. They were estimating in what they called "ideal days"—days where you're doing your best work, focused entirely on the work, with no distractions, never getting tired, &c. 1/7

The season eight finale is out. Jerry Nixon bookends the season, having opened it too, and this time we get into SQL MCP Server: how to give an AI agent safe access to your data.

New post today, built around a line Richard Feynman gave us and Adam Grant put back to work: you must not fool yourself, and you are the easiest person to fool. It is a post about rethinking, and why technical teams are unusually bad at it.

The season finale of the podcast lands this weekend, and it answers a question that makes a lot of people uneasy: how do you let an AI agent touch your production database without it going badly? Jerry Nixon has a clean answer.

A quiet reminder about last week's post, and the number underneath it. One unchanged CV, run through an open-sourced AI screener a hundred times, scored anywhere from 66 to 99. Set the pass mark at 85 and that same candidate was rejected on 65 of the 100 runs.

Two questions I have started using in technical arguments, ahead of a post later this week. Both cost nothing. Both change the room. The first is "how do you know?"

One last nudge towards the OwaspHeaders.Core episode, and the line that has stuck with me since recording it. In May, the TanStack project learned it had been compromised from a third party. Not from its own tooling. Someone else told them.

Sunday thought. AI is a speed multiplier. Aim it at a process you have not examined and you get more of the same, faster. Eight years of open source taught me the other half: automation is about giving up the ability to make certain mistakes. Think first. Then reach for the tool.