Home

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.

Using Sibling Selectors to Style the Element Before the Match Posted in: Programming - The original question for the below answer was wanting to hide a link when a button that’s next to the link has a “selected” class. This is interesting because this requires a sibling selector, but sibling selectors in CSS are a bit funky… with a sibling selector, the target element is always _subsequent_. That meansContinue reading "Using Sibling Selectors to Style the Element Before the Match"
Calculating Coronavirus Timings with Excel Posted in: Opinion - Following on from my article on working with public coronavirus data where I calculated the original peak in the UK to have been an estimated 50,000 cases per day (not the recorded 6,000 cases per day)… the most common follow up questions (aside from predictions on what will happen next) are about timings. What isContinue reading "Calculating Coronavirus Timings with Excel"
Microsoft Teams – Ask Questions with Polly Posted in: Office - Microsoft Teams has a growing collection of apps that can be used to enhance your calls and chats. One of these is Polly, which lets you run highly configurable polls within your chats. Installing Polly To install Polly, click on the triple-dot menu in any chat, search for “polly”, and select result for Polly inContinue reading "Microsoft Teams – Ask Questions with Polly"
AJAX Request Interceptor Posted in: Programming - This is a little funky script to intercept AJAX requests and raise a simple custom event for everything else in your app to listen to. To use this, you just need to listen for a custom event named `AjaxDetected`. The method, url, and any data is passed in the event detail. document.body.addEventListener('AjaxDetected', function (e) {Continue reading "AJAX Request Interceptor"
It’s Time to Support CSS Dark Mode Posted in: Programming - We have now reached the tipping point with dark mode on The World Wide Web. Support has reached the point of broadness that means users who are browsing on their mobile phones are going to notice what you are doing to their eyes if you don’t support it. We will soon pass from “users areContinue reading "It’s Time to Support CSS Dark Mode"
Adobe Analytics Segment Applicability Posted in: Analytics - Adobe Analytics makes it super-easy to add segements, with a visual designer that will help you build the logic. As well as traditional and/or logical tests, you can use time based “then” tests to create segments where things happen in a specific order. For example, you might be interested in visitors who arrive from aContinue reading "Adobe Analytics Segment Applicability"
Rate Limiting Googlebot Across Many Websites Posted in: Programming - Googlebot is one of the good guys. It will check your robots.txt file and respect any crawl delays you’ve asked it to use. However, if you run hundreds or thousands of websites across your infrastructure you can encounter waves of Googlebot traffic due to it coincidentally selecting many of your websites to crawl at theContinue reading "Rate Limiting Googlebot Across Many Websites"
Change an Excel Cell’s Colour Based on Data Posted in: Programming - This might be a bit niche, but I needed to collect RGB values in an Excel spreadsheet and I though it would be neat to preview the colour in another cell. To cut a long story short, the only way I could make this happen was with a bit of Visual Basic for Applications. It’sContinue reading "Change an Excel Cell’s Colour Based on Data"
The Ethics of Scale Posted in: Automation - One of the tenets of automation is that while you can produce stuff faster, your mistakes will happen at the same speed. You might replace manually updating 100 files with a process that updates them all in the blink of an eye… but what if it updates more files than you intended. In developer terms,Continue reading "The Ethics of Scale"
Lookup DNS on a Specific Nameserver with NSLOOKUP Posted in: Windows - The nslookup command is really easy to use. You just type nslookup [host-name] and you get an answer. But what do you do when it looks like it is working, but your monitoring is detecting intermittent issues connecting to a website? The answer is, you check each nameserver individually to make sure they are allContinue reading "Lookup DNS on a Specific Nameserver with NSLOOKUP"