Blog

.NET Conf 2023 Review

This year I watched a bunch of the sessions from .NET Conf, both live streams and in the days following. I’ve collated my top recommendations and my reviews and thoughts on others that may be of interest to some Developers in the Microsoft ecosystem. Without any further ado, we’ll crack into the must-watch …

My idea of an ideal CICD pipeline

This article represents my current thoughts around building and deploying software (circa 2023). It is a general straw man. As usual in software development, the caveats apply that there is no one size fits all silver bullet pattern. This is where I start as a “given no further constraints” approach. It is …

An almost seamless transition from Ghost to Hugo

Well, I finally did it. Ghost has been sitting on an older version for a long time, my certs were expiring, and I did something about it. TL;DR; My blog engine and hosting were deteriorating fast, so I moved to GitHub Pages, Hugo, and Static Site Generation, (mostly) without losing or breaking anything. Synopsys Years …

Failed to query available provider packages - Terraform NewRelic Provider :facepalm:

Recently I tried upgrading from Terraform 0.12 to 1.0.1. I think the key here is leaving 0.12. Anyway, there was a breaking change in 0.13 around how providers worked, and we got this cryptic error. (Caveat: I don’t actually know how much of this has to do with a newrelic provider update as well or instead, but …

Kotlin, TeamCity and reflection

I’ve been getting stuck into upskilling in Kotlin. Mostly for TeamCity build automation and trying to produce quality tested code in a space where automation was retrofitted in. Today’s fun little problem was the error message: Runtime error RootProjectId: …

Bluetooth Devices keep disconnecting

It all started when I installed Windows Update 20H2 in October 2020. I’ve had a stable machine (HP ZBook laptop for reference) for months and months with the same Bluetooth hardware, no issues. But that fateful day I installed the 20H2 update from Microsoft, everything changed. Suddenly I was having disconnect …

Nullable and notnull Serialisation Properties

The C# 8 feature Nullable has been well received by myself and others into our workflows and has improved code bases immensely. However, there is one niggly workaround that I’m not a fan of, and that is = default!; problem definition // This class is used to serialise/deserialise a payload from a server public …

We are all 10x engineers, but I don't think it means what you think it means

If your reading this blog, and used twitter in the past few days, you have probably already seen this tweet, or some of the replies coming through from the community: 10x engineers Founders if you ever come across this rare breed of engineers, grab them. If you have a 10x engineer as part of your first few engineers, …

Snuffleupagus-Oriented Programming

An impromptu introduction to Snuffleupagus-Oriented Programming (SOP): https://t.co/jPkjPRgqQr — Casey Muratori (@cmuratori) July 21, 2015 Sometimes naming something is the best way to start talking about a topic that lots of people do but don’t realise or haven’t pulled together as a concept. This is …

Looking Back on C# 7: Pattern matching

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. Pattern …

Looking Back on C#: async and await

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. …

Looking Back on C# 7: refs enhancements

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. We talked …

Looking Back on C# 7: Out variables

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. What are …

Looking Back on C# 7: Local functions

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. Lambdas - …

µCon 2019 - Day 3

Good morning day 3. So much to absorb already from Day 1 and 2 but it isn’t over yet. This morning’s Keynote “Crossing the River by Feeling the Stones” from Simon Wardley is a must see. This was a very educational look at the value of maps, and the importance of knowing the landscape, looking at …

µCon 2019 - Day 1 & 2

After a restful night at a London hotel (I learned my lesson from the last time I came in for a London conference) coffee and breakfast at the Business Design Centre in London, muCon 2019 kicks off. muCon (or µCon) is a Conference on Microservices, DDD & Software Architecture. From what I gather, this year for the …

Looking Back on C# 7: throw expressions

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. Throwing …

Looking Back on C# 7: More Expression body members

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. We …

Looking Back on C# 6: Expression body members

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. Method …

Looking back on C# 6: Initializers

With C# 8 on our doorstep, I figure it is a good time to reflect on recent additions to the language that have come before. There are some great improvements you may have missed, some that I really enjoy using, and some I consider have reached canonical usage status that I think are all worth some reflection. …