Home

Steve Fenton is a software punk, programmer/architect, and bossy boss mostly working around the .NET space. He has created mail transfer agents with zero-day threat detection, clinical decision support engines, and web crawlers. Steve has been active in the whole DevOps life-cycle and enjoys coaching people on agile and lean methods (and the theories behind them). He also enjoys finding fractal principles; such as those found in monitoring and alerting, or in queuing theory.

Books by Steve Fenton

Pro TypeScript Second EditionWeb Operations Dashboards, Monitoring, and Alerting by Steve FentonExploring Octopus Deploy by Steve FentonCranked by Steve Fenton

A Note From Steve

The primary audience for the writing found herein is me. It’s super-easy to forget stuff if you don’t write it down, as I did the second time I had to fix a really tricky certificate problem in .NET. If only I had written down the answer, I could have saved hours of irritating replays of all the same steps I had used to find the problem in the first instance. My goal in life is to start a punk revolution in software development. I am also secretly S. M. Fenton the author of The Vanishing Room.

Recent Thoughts

You can review my full archive of thoughts, but the most recent entries are listed below.

Software Development Process Does Not Matter Posted in: Process - Process interests me. Refining and improving a process to make work more joyful and productive matters to me. But, what has become clear over the past thirty years is that in software development, process just doesn’t matter. Seriously. It doesn’t. It might just be because I’m becoming a software punk revolutionary, but I suspect not. […]
The Software Punk Revolution Posted in: Programming - Let’s be honest. Our planet is churning out supercodemonsters at an alarming rate. These pinnacles of virtuosity are idols to the false gods of development ego. The pattern has always been there, but in the past it was misdirected enthusiasm. On day one you’d learn how to extend prototypes in JavaScript. On day two, everything […]
Should I Migrate to Hey for Email? Posted in: Opinion - Having signed up the wait list for Hey, I received my invite and subsequently undertook a two-week trial. What happened next has changed how I interact with email forever. Although I may be repeating information that is already out there, I’m going to focus on a small number of features that let you change your […]
#SleepBedless Nominations Posted in: Other - This month (June 2020), Depaul UK launched the #SleepBedless campaign. They asked members of the public to sleep without beds for a night to raise awareness of hidden homelessness and to help fundraise to help them with their coronavirus crisis costs. More than half of young people in hidden homelessness have suffered harm and Depaul […]
The Lockdown Effect Posted in: Opinion - As some countries around the world lift restrictions following COVID-19 lockdowns, we can start to see the effects the lockdown will have on different companies and industries. From the data I have seen so far, the lockdown effect seems to divide organisations into three broad categories: winners, losers, and recoverees. Let’s look at what this […]
C# 9 Covariant Return Types Posted in: Programming - Just a quick note on a neat feature in C# 9 that will allow sub-classes to return a covariant return type… what?! Okay, it allows you to return a more specific, or narrower type. For example, we used to have to return the same type… // parent class... public virtual Literature GetLiterature(...) { return new […]
Turn an Old Phone into a Programmable Keyboard Posted in: Programming, Windows - It seems like everyone has a high-quality, expensive, programmable deck on their desk these days. Elgato’s Stream Deck, with it’s glowing LCD buttons, comes in flavours that cost between £100 and £200 (depending on how many buttons you want). It’s beautiful bit of kit that glows its way into the hearts of tech geeks everywhere. […]
C# 9 Non-Null Parameters Posted in: Programming - This neat C# 9 feature can be summed up in a tiny snippet of code. You know that code analysis warning that tells you that the argument passed might be null… wouldn’t it be nice if you could refuse to accept null? Well, you can. This is the before… public Book(string firstName, string lastName) And […]
C# 9 Record Types Posted in: Programming - We have taken a quick look at C# 9 Initializers and Immutability and C# 9 Non-Destructive Mutation. Let’s now look at the full transformation from an old class to a super character-light record type. Our original record type is very much just a class with two auto-properties. It looks different to a normal class because […]
C# 9 Non-Destructive Mutation Posted in: Programming - There are some phrases in programming that feel like they belong in a superhero movie. Non-destructive mutation is just such as phrase. It refers to a concept in functional programming that means when you want to change the state of an object, you create a copy with the change – rather than changing the original. […]