Posts
-
High Coverage, Low Confidence: What Mutation Testing Reveals About AI-Generated Tests
Why high test coverage does not necessarily mean strong tests, and how mutation testing can reveal weaknesses in AI-generated test suites. -
Agentic development in practice: Building a weather MCP server with Spring AI and Cursor
A practical look at building a weather MCP server with Spring AI and using Cursor to support the development workflow. -
Integration tests in Angular using PollyJS
Our Angular build spent nearly half its time on end to end tests, so I built a faster integration test framework using Jest, Spectator and PollyJS to record and replay network requests. -
My DigitalOcean App Platform Hackathon entry: stock-checker - Part 4: DigitalOcean App Platform Hackathon Submission
The final part of my Go stock-checker journey, covering the DigitalOcean App Platform Hackathon submission and deployment. -
My DigitalOcean App Platform Hackathon entry: stock-checker - Part 3: Developing stock-checker app
How I built the stock-checker app in Go, including the packages, Docker setup and Twilio SMS integration used to monitor Xbox Series X stock. -
My DigitalOcean App Platform Hackathon entry: stock-checker - Part 2: Development environment
How I set up a Go development environment with Visual Studio Code, debugging, formatting, language support and golangci-lint. -
My DigitalOcean App Platform Hackathon entry: stock-checker - Part 1: Background and learning golang
How I came up with the stock-checker project idea and the resources I used to learn Go before building it. -
Building a Kubernetes dashboard using Xamarin Forms
After six months building kubemob, a Kubernetes dashboard app for Android and iOS, I share the architecture patterns, performance tips and UI components that helped most along the way. -
Azure Application Insights with App Service — ENABLE ALL THE THINGS
After a production issue that newer Application Insights features could have helped diagnose, here's my checklist for enabling them on an App Service: the Profiler, client-side monitoring and Snapshot Debugging. -
C# Code Style using EditorConfig
Visual Studio 2017's code style preferences can be defined in an EditorConfig file, so they live in source control alongside your code. Here's the example I settled on for my Xamarin project. -
Building a Kubernetes deployment pipeline for Microsoft Bot Framework – Part 2
Part 2 covers building and deploying the bot itself: creating a Helm chart, adding NGINX and Redis as dependencies, and shipping Docker images to Kubernetes with Travis CI. -
Building a Kubernetes deployment pipeline for Microsoft Bot Framework — Part 1
Part 1 of setting up an end to end pipeline for my theme park bot: defining the Azure infrastructure with ARM templates, setting up Helm, and automating it all with Travis CI. -
Kubernetes development environment using docker on Windows
Docker for Windows (Edge channel) now ships with Kubernetes, which makes a local dev cluster far easier than minikube and Hyper-V. Here's how to get set up. -
Creating a bot using Microsoft Bot Framework in Node and TypeScript
I finished my theme park chat bot, so I put together a starter project and walk through the key parts: structuring dialogs with libraries, first run and help dialogs, prompts, state storage, and LUIS. -
Configuration settings in Node with dotenv
How I keep secrets like a LUIS endpoint URL out of source control in a Node app, using dotenv to load a .env file into process.env during development. -
VSTS hosted macOS agents not available outside USA
Microsoft's preview hosted macOS agents for VSTS look ideal for Xamarin iOS builds, but a two factor authentication limitation means they don't work for Apple accounts outside the USA. -
Microsoft Bot Framework Emulator and docker
Why my bot wouldn't respond to the Bot Framework Emulator when running in a Docker container, and the ngrok fix I found after a few frustrating days. -
Getting started with TypeScript type definitions
How I wrote a complete TypeScript type definition for the themeparks npm module, using dts-gen to get started and dtslint to check it. -
Validation using JavaScript decorators
class-validator lets you define validation rules using decorators, much like C# Data Annotations. Here is how to set it up and use it in TypeScript. -
React and Redux with TypeScript
After building a password manager app to learn React and Redux, here are examples of each major part, typed properly in TypeScript without resorting to any. -
Document templates in .NET
Why I chose DotLiquid over RazorEngine and RazorLight for generating PDFs and emails from templates in .NET, and the three steps needed to render one. -
Combining webpack with ASP.NET MVC 5
How we combined webpack with ASP.NET MVC 5 to get an npm, TypeScript and LESS pipeline, plus the steps to recreate the template from scratch. -
Creating a fake REST API with json-server
How I combine json-server and json-schema-faker to spin up a fake REST API with randomly generated data, so I can build a front end without needing a real back end. -
Writing npm scripts using TypeScript
When a build script outgrows a one-liner in package.json, ts-node lets you write it in TypeScript and keep the same rules and checks as the rest of your project. -
Prettier with linters
Prettier and your linter will fight over formatting unless they are configured to cooperate, so here is my minimal setup for using prettier with tslint and stylelint.
subscribe via RSS