Steve Fenton is a three-time Microsoft MVP for developer technologies. He’s a Software Punk, an author, a programming-architect, a pragmatist/abstractionist, and a generalising-generalist. His day job spans the worlds of Product Management, Data and Analytics, Support, and Software Development. These are brought together in the DITE Cycle. Like many of you, he’s too busy to remember all of this stuff, so he writes it all down here.

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.

Awesome Microsoft Edge Vertical Tabs Posted in: Browsers - I’ll be honest, it has taken a day or two to retrain my cerebellum for this one, but it is totally worth it. Modern day displays happen to be wider than you need. Horizontal real estate is in surplus and is cheap, but vertical space is more valuable. That’s why Microsoft Edge is getting a […]
Increase Productivity by Quantifying Simpler Tasks Posted in: Opinion - The full title of this article should really be “Increase Productivity by Quantifying Simple Tasks; Protect Complex Task Productivity by Not Quantifying It”. This is the result of a study by Aruna Ranganathan, co-authored by Alan Benson, that studied workers in a garment factory and I’ve added my opinion because sometimes I’m a narcissist like […]
Skipping the Chasm: How a Crisis Accelerates Progress Posted in: Opinion - Full credit to Geoffrey Moore, whose seminal “Crossing the Chasm” keeps proving to be a useful book thirty years after it was written. Credit also to Hans Baumhardt who introduced me to the book and who critically shaped my thinking about work and life. What I hope do, now that the credits are over, is […]
Execute Raw SQL Scripts in Entity Framework Core Posted in: Programming - Most of the time, Entity Framework Core will just do the right thing. Every now and then, though, you’ll find that it’s doing something in a bit of a sticky way and you’ll want to take control. Usually it’s when you’re deleting a range on a table with cascading deletes. Here’s an example of the […]
Simple Conditional Updates to Entities in ASP.NET Core MVC Posted in: Programming - When you accept a view model in your .NET Core MVC application, you can request that only certain fields are bound, like this [Bind("Title")]. Neat. But when you want to apply the changes to your domain object, you often want to do a similar thing and only update certain fields (and only if they really […]
The Fly on the Windshield Posted in: Opinion - Every organisation has to deal with this problem. It has been described in many different ways, including the famous quaductionism of “Urgent vs Important” to the simplicity of phrases like “firefighting”. Yes, it’s all those tasks that people seem to want now, which are stopping you from doing the real work. My analogy for this […]
Switch Off Rich Link Pasting in Edge Posted in: Browsers - There is a cool new feature in Microsoft Edge that pastes links with rich formatting. If you copy a link from the page or from the address bar, it will paste in a rich format, so instead of seeing https://www.example.com/ you’ll see Example Website (example.com) and it will already be linked to your selected destination. […]
What Data is Missing? Posted in: Analytics - When you start collecting data at scale, you need to decide when to invest in keeping “all the datas” and when to keep only a sample. When it comes to sampling, you need to ensure that the parts you discard and the parts that you keep are a truly representative sample. That means you need […]
Working With Public Coronavirus Data Posted in: Opinion - The UK Government provides public datasets that can be used by the media or the public. One such dataset contains information collected for the Coronavirus pandemic and its impact on people living and working in the UK. The problem with this dataset, though, is that we weren’t able to record the data until after the […]
Remove Blank Lines From a File with PowerShell Posted in: Automation, Programming - When importing a file full of data into a test system, I discovered that the CSV library I was using to do all the work was stopping when it reached a blank line. That makes sense, it thinks the data has ended. On inspection, I found quite a lot of blank lines, so there was […]