Modern passenger lifts are reliable, versatile, fast and designed around every potential eventuality, but part of this could be credited to the troubles of one frustrated programmer nearly two decades ago.
In what could possibly be considered the opposite of the elevator pitch, one particular lift became the spark for a coding revolution.
Whilst working for Mozilla, an open-source software company, Graydon Hoare would be constantly frustrated whenever he got him and was greeted by a friendly notice that the lift was out of order again.
There was nothing wrong with the underlying mechanical components; instead, the issue was rooted in the fact that the lift control software had crashed and needed debugging.
Mr Hoare was annoyed on multiple grounds, not least of which was the fact that he had to climb 21 flights of stairs to get home after a long day in the office.
He was frustrated that in the mid-2000s, in the early age of access control systems and what would become the Internet of Things, the relatively simple programming task of coding an elevator access control system that did not frequently crash was apparently impossible.
However, because he was a programmer and knew it was a software issue, he also believed that he might be able to be part of the solution.
At the time, embedded device software was typically coded using high-level programming
languages such as C or its extended counterparty C++.
These languages make it relatively easy to create code very quickly that also fits in the relatively small memory space that an embedded device would have.
The problem is that they are also too forgiving in some respects, allowing code to run despite the fact they would cause a memory error later.
Mr Hoare worked on a solution, which would eventually become the highly popular Rust programming language, ensuring that many modern lifts would not face the same types of coding issues.