<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Joe Stead</title><link>https://joestead.codes/posts/</link><description>Recent content in Posts on Joe Stead</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><lastBuildDate>Mon, 01 Jun 2026 09:00:00 +0100</lastBuildDate><atom:link href="https://joestead.codes/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Stop letting your AI agent grep its way around your codebase</title><link>https://joestead.codes/posts/jetbrains-mcp-claude-code/</link><pubDate>Mon, 01 Jun 2026 09:00:00 +0100</pubDate><guid>https://joestead.codes/posts/jetbrains-mcp-claude-code/</guid><description>I&amp;rsquo;ve been using coding agents like Claude Code a fair bit recently, and for the most part I think they&amp;rsquo;re great tools, but not without flaws. The agent doesn&amp;rsquo;t understand my codebase; It just reads it. Those two things are not the same.
How an agent finds things by default Ask an agent to rename a method, or to find everywhere a particular type gets used, and watch what it actually does.</description></item><item><title>Semantic versioning? Nah, just break your users</title><link>https://joestead.codes/posts/versioning-software/</link><pubDate>Tue, 03 Sep 2024 12:00:00 +0100</pubDate><guid>https://joestead.codes/posts/versioning-software/</guid><description>What is Semantic Versioning and why is it useful? At a very high level, Semantic Versioning is a way of versioning things to indicate whether a change is breaking, additive, or a fix for something. It is a version number split into 3 chunks, Major, Minor and Patch. It can be summarised as:
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes
MINOR version when you add functionality in a backward compatible manner</description></item><item><title>Testing and Configuration in .NET Core</title><link>https://joestead.codes/posts/testing-with-configuration-dotnet/</link><pubDate>Tue, 04 Aug 2020 17:00:00 +0100</pubDate><guid>https://joestead.codes/posts/testing-with-configuration-dotnet/</guid><description>When running automated tests, or running things locally, I often want to use a different configuration to what I would run in production. A JSON file often suffices for local development, however this isn&amp;rsquo;t useful for automated tests where I want different configurations for different tests, or if my configuration is dynamic (e.g. I need to spin up a docker container during startup, and I have to get some configuration from that on the fly).</description></item><item><title>Testing in Production with Feature Toggles in .NET Core</title><link>https://joestead.codes/posts/testing-in-production-feature-toggling-netcore/</link><pubDate>Thu, 18 Jun 2020 17:30:00 +0100</pubDate><guid>https://joestead.codes/posts/testing-in-production-feature-toggling-netcore/</guid><description>I&amp;rsquo;ve always been a big fan of testing, and often think about ways to improve the testability of our system. The most effective testing is to test what your users actually use, and that is to test in production. This can be quite a scary thought to some, shipping untested code out to our live system, with real users, and hope it doesn&amp;rsquo;t break!
Of course, the simple solution would be to run two &amp;ldquo;Production Environments&amp;rdquo; side by side, and use one exclusively for testing, and only once you are satisfied everything is working, push the tested changes across to the other environment.</description></item><item><title>Getting Into Blogging</title><link>https://joestead.codes/posts/getting-into-blogging/</link><pubDate>Tue, 16 Jun 2020 19:17:59 +0100</pubDate><guid>https://joestead.codes/posts/getting-into-blogging/</guid><description>I&amp;rsquo;ve always had a &amp;ldquo;blog&amp;rdquo;, but I&amp;rsquo;ve never actually written anything for it. I&amp;rsquo;ve always been committed to doing other stuff. However, I can finally say that is no longer the case! I&amp;rsquo;ve got plenty of posts lined up, and a few even ready to publish in the next few days (I just need to polish off some templating bits and pieces before I do).
What&amp;rsquo;s the motivation for this? Well, I&amp;rsquo;ve been advocating people use Hugo and Netlify for a long time now, but I don&amp;rsquo;t actually have a public presence using either of these two technologies myself.</description></item></channel></rss>