Home
About me
My blog
My blog
Apr 2, 2025
Reflecting on My Time at Kainos
Kainos
Programming
Development
Mar 22, 2025
Why Learn Rust?
Rust
Programming
Development
Mar 20, 2025
What Is Three Amigos and Why Do It?
Agile
Story refinement
Nov 14, 2024
Exploring Snapshot Testing in Jest: Pros and Cons
Jest
Snapshot Testing
Testing
Oct 20, 2024
Blazor #3 - How to Install Foundation into a Blazor Project
Blazor
Forms
Sep 25, 2024
Why I don't include 404's when designing API's
API Design
Status Codes
Sep 2, 2024
Blazor #2 - How to work with SASS in Blazor
Blazor
Sass
Aug 30, 2024
Blazor #1 - What is this Blazor thing all about?
Blazor
Aug 27, 2024
iTerm on steroids: Why I've Switched to Warp
Warp
iTerm
MacBook
May 26, 2024
Setting up My New Macbook
MacBook
Jul 20, 2023
What do story points actually mean?
Agile
Story refinement
Apr 3, 2023
Simple Mocks With Mockaco
.Net
Mockaco
Mocks
Integration testing
Jan 14, 2023
New year. New resolutions. New goals. New blog
New year
New resolutions
New goals
New blog
Jan 9, 2023
Node Version Manager: Nvm Install Guide
NVM
Node
Mac Setup
35mm
Jun 26, 2018
Visual Studio: Converting a Webproject Into a Class Library
Umbraco
Visual Studio
Jun 2, 2018
Getting started with User Story Maps
Agile
Story writing
Mar 22, 2018
Umbraco Tip Allow the <wbr /> Tag to Be Used in the Rte
HTML
Umbraco
Mar 21, 2018
Collaborating on a Db and Having Different Named Sql Instances
SQL Server
Mar 17, 2018
Umbraco 7 Cleaning Out Urltracker
Umbraco
Urltracker
Dec 21, 2017
My First Conference Talk Experience
Umbraco
Conference talk
Medium format
35mm
Nov 15, 2017
Preventing Denial of Service via Image Processor
Umbraco
Image Processor