thoughts about software and sensible security.

CategoryUncategorized

Anti-patterns part 2: Coding is the biggest Golden Hammer of all

A

In my previous post I explained how software anti-patterns are symptoms of bad habits that can be endemic to entire teams. Today I want to talk about what is perhaps the most infamous of all: the Golden Hammer. Actually, it’s a collection of hammers that makes up the toolbox from hell.

The Golden Hammer anti-pattern is a result of narrow focus, which in itself is an admirable and even necessary character trait for many pursuits: there’s a lot to admire in people who become experts in their chosen specialised field. It takes dedication and stamina. Science wouldn’t have made it to its present state without it. However, what makes a hammer golden is having experience and affinity with a technique (framework, language) that in itself has a limited range of applications but that you misapply through overuse. (more…)

When anti-patterns become a pattern

W

There are plenty of learning resources on software best practices. Sprinkled in between all the well-intended advice are warnings about common pitfalls. We could do with a lot more of these warnings and think about why we keep doing the same things wrong. What makes anti-patterns so irresistible? (more…)

An AI gaydar? What were they thinking of?

A

Several newspapers recently reported about an AI program developed at Stanford University that claims to predict sexual orientation from portrait photographs. Is it any good? Apparently it has better hunches than humans, but it still produces a fair amount of false positives. The designers claim 91 percent accuracy once test subjects are more outspokenly gay. What’s that supposed to mean? Is the gold standard a 1978 Freddy Mercury in his leotard singing Good old fashioned lover boy? (more…)

The most useless knowledge of all

T

There are things a programmer needs to know, no excuses. There are things you can’t possibly all remember, so it’s fine to look them up when needed. There is the business domain the software touches on that you need to know. And then there’s knowing how to grapple with quirks that come from not doing things in a standard way; the most useless knowledge of all.

Throughout history humans have developed skills and then invented tools to perfect the execution of those skills. A lathe can make cuts straighter than any skilled carpenter could make with a hand saw but it doesn’t replace the carpenter. Meanwhile other innovations have made entire professions obsolete through competing technologies. The centuries-old craft of typesetting has been effectively killed off by word processing and laser printers; not by a typesetting robot. Mind you that the difficulty of mastering a craft says little about its likelihood to be mechanised into oblivion: there’s still plenty of vacancies for human dishwashers. (more…)

thoughts about software and sensible security.

Recent Posts

Jasper on twitter

Catching thought criminals in Orwell's analogue dictatorship was time-consuming and ineffective. A.I. will fix all… https://t.co/XpzIDondJe
h J R
I expect Mars to be successfully colonized long before we have flawless PDF to Word conversion.
h J R
Don’t tout #kotlin conciseness as a unique selling point. Concise does not equate understandable and if concise is… https://t.co/Hj7FrbZuI8
h J R
Hilfiger gives ‘smart dress’ a whole new meaning with new tracking chip. https://t.co/OeB4NEbVQI
h J R
ATDD is really different. Think of it as All Tests Drive Development. New blog post. https://t.co/J7uyHmCXFf
h J R