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

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. Continue reading “Anti-patterns part 2: Coding is the biggest Golden Hammer of all”

An AI gaydar? What were they thinking of?

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? Continue reading “An AI gaydar? What were they thinking of?”

The most useless knowledge of all

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. Continue reading “The most useless knowledge of all”