Programming

The Microservices vs Conway Test

Posted on

Following on from my article on Mescoservices back in 2015, this article expands on an idea I had in September on how monoliths, mescoservices, and microservices fit into organisation design. The microservices vs Conway test encodes a common piece of advice into a first-draft formula for testing your architecture against your organisation. Microservice Advice Microservices […]

Process

Why Devs (Should) Understand Estimates

Posted on

Yes, this is a sub-post! A reaction to a post titled “Why Devs (Should) Like Estimates”. I try not to get involved in industry conversations about estimation (or, indeed, #NoEstimates) as it can get very dicey at a general level in ways that simply don’t occur for a specific team or organisation. I’ll briefly qualify […]

Programming

Using .NET Core Identity Without the Standard Pages

Posted on

This is a quick article about using .NET Core Identity without the standard pages. It was almost titled “why does .NET Core Identity ignore my LoginPath that I set in options?”. Let’s start with a common chunk of code that you’ll find in your Startup.cs file if you’ve added identity to your project… services.AddIdentity<ApplicationUser, ApplicationRole>() […]

Analytics

Debugging Adobe Analytics

Posted on

Adobe Analytics can sometimes be a bit of an enigma, so people often turn to browser extensions to help them with debugging Adobe Analytics. However, for those of us who spend most of our lives in browser tools; there’s a simple way to get x-ray vision into what Analytics is thinking. Let’s get straight down […]

Programming

Simplify Strings for Comparison by Removing Special Characters and Diacritic Marks

Posted on

I was working on a search system that needed to simplify the strings for comparison. It needed to compare the text regardless of special characters (diacritic marks) or casing. The following function breaks the special characters into their component parts, before removing the “special” parts and lower-casing the whole thing. function normalise(term) { // Simplifies […]