Spec-Driven Design: Write the Spec Before the Code

Most teams already write something down before coding — a requirements doc, a design doc. The problem isn't that this doc doesn't exist. It's that once coding starts, the doc stops being maintained, the code quietly becomes the real source of truth, and nobody goes back to update the doc to match. Spec-driven design keeps the spec live: it stays the source of truth the whole way through, and code, tests, and docs get built and re-checked against it — not just once at the start.

From Containers to Cloud-Native: The Evolution of Application Architecture

For years, containerisation has been the cornerstone of modern application deployment. Tools like Docker revolutionised how we build, ship, and run applications by packaging code and dependencies into a single, portable unit. This approach solved the classic "it works on my machine" problem and streamlined CI/CD pipelines. However, as the cloud ecosystem has matured, a new paradigm has emerged: cloud-native, event-driven architecture. While containers remain powerful, understanding when to embrace server-less functions, like AWS Lambda, is key to building truly efficient and scalable systems.

Is Golang Object-Oriented?

If you are a developer coming from a background in Java or C#, picking up Go (often referred to as Golang) can feel like stepping onto a different planet. You look for your classes, your inheritance hierarchies, and your method overrides, only to find... nothing.

The Alchemy of Words: Unleashing the Magic of Neurolinguistic Programming

I enjoy Neuro-linguistic programming (NLP). Below is generated with the help of Copilot, but I think it is amazing and thought I would share it here.

New base site

After much too long since I bought my domain, did I build a site there. 

I wanted a simple design to just display the links to my different sites for professional and personal agendas and I did that by just using Bootstrap 5 for the CSS design. I am considering rewriting in Tailwind though since it is starting to grow on me, but for now pre-made CSS classes with Bootstrap seemed the fastest approach, even if not most customisable based on my simple needs. 

Check out https://Keenan.technology 🙂

Targeted advertising

Targeted advertising is online advertising that uses our personal information to display ads that are most likely relevant to us. While targeted advertising can be more effective than traditional advertising, it also raises serious concerns about our privacy and manipulation.

Unit testing

Unit testing is a software testing method in which individual units of source code, such as functions or methods, are tested in isolation from the rest of the program to ensure that they function as intended. Unit tests are typically automated and run each time the code is changed to catch any regressions or bugs that may have been introduced. In this blog post, I will discuss some of the benefits of unit testing and some popular frameworks for writing unit tests in C#.