Nick Perkins

Software Engineer. Volunteer Motorsport Official. ADHD Brain. Bit of a nerd.

Software Development


The Testing Pyramid Still Matters (Even When AI Wrote Your Tests)

I’ve been spending a lot of time in agentic AI workflows lately. Describe a feature, the agent writes the code, the tests, and the PR. It’s genuinely impressive. And the test suites are taking fifteen minutes to run, full of integration tests that didn’t need to be integration tests. The testing pyramid didn’t become irrelevant just because AI wrote the tests. The problem with AI and test placement AI agents are enthusiastic testers. Continue reading

AI and the Human Factor - My Observations

Over the last year, I’ve been watching how people use AI coding tools. GitHub Copilot, ChatGPT, Claude - everyone’s got access to them now. But the results? Completely different depending on who’s using them. Here’s what I’ve noticed: the engineers who were already good are using AI to get even better. The ones who struggled before? They’re producing questionable code at an incredible rate now. AI just amplifies what you already are AI tools can be amazing productivity boosters. Continue reading

Building Interactive MCP Tools with Elicitations: A Practical Guide

The Model Context Protocol (MCP) is revolutionising how we build AI tools, but a powerful new features recently added to the protocol will be a game changer: elicitations. These enable your MCP tools to have interactive conversations with users, gathering input dynamically rather than requiring all parameters upfront. Let me show you how to build engaging, interactive MCP tools using a practical ice cream topping recommender as our example. What Are MCP Elicitations? Continue reading

How I Built Interactive AI-Powered Training with GitHub Copilot

One of my current projects is a migration from Azure DevOps to GitHub Actions. I saw a challenge: how to effectively train DevOps teams on new tools in an engaging, practical way? Traditional docs and tutorials often miss the mark. So, I experimented: using GitHub Copilot’s Agent Mode to build an interactive, AI-powered training platform. The result was a self-paced, conversational learning experience, guiding users through complex migration scenarios like having an AI tutor. Continue reading

A simple static blog comments system using Cloudflare Workers and D1

I’ve spent the last couple of weeks off work, which has given me time to tinker with some different tech. For starters, I migrated this blog over to Hugo, a static site generated written in go. I’ve never had comments on this version of my blog, but I wondered how difficult it might be to roll my own system using Cloudflare Workers? This seemed like a good opportunity to play with one of Cloudflare’s newest offerings, D1. Continue reading

Using pyodbc in AWS Lambda functions

This week I was working on an AWS Lambda function that needed to read and write from a legacy Microsoft SQL database. It’s written using the AWS Chalice framework and in local testing everything looked great. Not so much when we needed to deploy it to AWS for testing. Why? Most of the time that you include a python package for use in a lambda function, Chalice is able to package that into the deployment, and you’re good to go. Continue reading