Though it’s a years-old news story, Volkswagen produced a diesel-powered car which was designed to pass emissions checks although, under normal operation, the vehicle produced emissions which would not have met an acceptable threshold. The
...
2021.07.16
There is a sense of click-bait, and one of the most common forms is n-best lists. These are the 10 best basket weaving solutions on the market. Here are the 5 best practices of highly successful cat herders. Vampires HATE these 3 things do
...
2021.06.29
Bikeshedding1 – that never-ending debate about a material disagreement – is so commonplace in the software industry we actually have parables about it. What’s more, I have actually seen people launch into meta-bikeshedding where they actual
...
2021.05.18
This is part 4 of a multi-part series on naming things. part three will be useful
Names are pesky little beasts. No single name exists without context1. This can be a disadvantage when names are unclear, abbreviated, or accidentally relat
...
2021.04.29
In every brownfield project I have ever worked on – and I have worked on a fair few – there is a common pattern I find. Developers either name their variables incomprehensibly, or they avoid using variables at all. Chains of function calls
...
2021.04.27
In a previous blog post1 I talked about an article claiming that reading source code was not like reading natural language. The original post referred to an article from “Science Daily”2, however there were far too many details missing, so
...
2021.04.06
While analyzing and editing source code, much of the work to be done is rather straightforward. Many business applications are data stores with a user interface so a non-developer can manage the data.
Even these applications, however, intro
...
2021.04.03
In the past 25 years, or so, it has become popular to consider high-level structure of programs in chunks defined by a group affectionately referred to as the “Gang of Four”. They wrote a book called “Design Patterns”1 which laid out common
...
2021.03.27
This is part three of a multi-part series on naming things. Part two will be useful1.
When looking for the right name for something you can end up with a pretty long name. In part 2, we looked at capturing conditional context by extractin
...
2021.03.25
I realized a few years ago that one of the most important aspects of writing software, to me, is to build it for people. For several years, I thought, given enough research, there was a technical solution out there that would help me to fin
...
2021.03.23