Humans vs Computers by Gojko Adzic

Humans vs Computers, the first book I read in 2019 and it was an excellent choice! This book is a collection of (horror) stories about software design failures. There are 4 themes in the book:

  • Names
  • Addresses
  • Numbers
  • Time
  • Process automation

And the best part? The end of the book contains an overview of the ‘lessons learned’ you can take away from all these stories when designing software.

Of course, computers couldn’t be upgraded so quickly, so people just typed VOID into the licence plate field, and Turner started receiving all the tickets. Mistakes such as these happen when a computer insists that humans provide a piece of information that isn’t immediately available or just doesn’t exist, so people find workarounds. (loc. 94)

People designing these systems made, in retrospect, silly mistakes. But the consequences were far from trivial. One system considered the lack of history as confirmation that there was nothing suspicious, (Get out of jail free stories, loc. 136)

people might think they’re managing conceptual values such as quantity, but computers only care about numbers. (loc. 180)

It’s often much better to allow the inventory to go slightly negative and order more supplies than to reject a sale. (loc. 184)

it’s easy to blame computers. At the same time, computers do whatever they’re told, even if that’s as stupid as reusing old numbers. (loc. 210)

that information provided by computers should not be blindly trusted, especially if it needs to fit into some kind of strict business context such as equal representation or total prize pay - out value. (loc. 253)

Most applications won’t blindly trust the data supplied by users, but for some reason data supplied by computers gets accepted without questioning. (loc. 311)

computers don’t belong to any particular human race, so there’s no real need for cross - race effects to spill over to the digital world. (loc. 433)

we try to shape the world into something more logical, easier to square, or at least simpler to validate. (loc. 443)

judging what exactly is a valid name is a lot more difficult than it might seem at first. (loc. 532)

people lose track of the fact that automating makes things faster, not better. (loc. 846)

The dangerous trend for automated government penalties seems to mean that the accused are guilty until proven innocent, and that the whole burden of proof shifts to the individuals caught between software bugs and too much automation. (loc. 1156)

One of the most common wrong assumptions software developers make about the world is that everyone is connected to the Internet as well as they are, and has access to the same types of modern gadgets. (loc. 1210)

On 29 January 2038, around 3am GMT, Unix epoch timestamps will go over the storage limit for 32 - bit signed integers. Due to how integer arithmetic works on computers, 32 - bit timestamps will go into negative values at that point. (loc. 1522)

how critical it is to monitor not just the effects of the whole automated process, but also the individual collaborators in the pipeline. (loc. 1647)

Version of the book

Gojko Adzic. Humans vs Computers. Kindle Edition