- AI
- ambiguity
- APIs
- architecture
- augmented reality
- books
- bureaucracy
- career
- change
- Christmas
- cloud
- collaboration
- communication
- complexity
- computer history
- corporate life
- data
- decisions
- delivery
- devops
- end user tools
- ethics
- failure
- fear
- fundamentals
- gaming
- government
- halloween
- history
- humans
- hype
- identity
- infrastructure
- innovation
- language
- leadership
- learning
- legacy
- management
- measurement
- mental health
- money
- networking
- New Year
- operations
- partnership
- philosophy
- physics
- platforms
- prediction
- process
- procurement
- programming
- quantum
- reliability
- resilience
- risk
- science
- science fiction
- security
- shadow IT
- space
- standards
- strategy
- teaching
- teams
- technical debt
- technology advocacy
- testing
- thinking
- transformation
- TV
- virtues
- vision
- writing
Precision is not pedantry; clarity is not cynicism
The Nomenclature Committee of the Association of Computing Machinery might not sound very exciting. However, it got to decide the words that we use to describe computers, and words matter: naming is a powerful act. When the computing pioneer, Grace Hopper, chaired the committee in the 1950s, she steered them to avoid ‘words of the magic brain class’, and to use terms such as ‘storage’ instead of ‘memory’, and ‘processing’ instead of ‘thinking’.
This direction was needed in the 1950s. Computers were new, and to most people they seemed like magic. Even though the computation they performed was complex - since the early days, computers had been used for hard mathematical problems such as code breaking and navigation - they did far less than the computers we have today. Today, it would seem strange to describe a machine that was limited to mathematical operations (no speech, no graphics, no sound) as thinking. Yet, in those early days, it was astonishing that computers could compute at all: that they could do work previously reserved for the human brain and mind. It is unsurprising that they were described with breathless excitement.
An infinity of interesting problems
In 1944, Grace Hopper was working on the Mark 1 Harvard computer, solving mathematical problems for the US military. The machine had a clock speed of three hertz - three cycles per second. That’s not three million, three thousand, or even three hundred - it’s three. By contrast, today’s processor speeds are measured in gigahertz, billions of cycles per second. In order to get more power out of the machine, Hopper and her colleagues figured out ways to inject more instructions into the machine in what would otherwise have been idle cycles: an early form of parallel processing.
Across the Atlantic, in Bletchley Park, Tommy Flowers faced a similar problem, but adopted a different solution. The Heath Robinson machines intended to break even more complex codes than Enigma, lived up to their name - they were complicated and prone to failure. He proposed to replace the electromechanical relays with vacuum tubes, creating the first ever electronic computer. His colleagues were sceptical, until Flowers and his colleagues proved that a computer could be built from electronic parts, and could run thousands of times faster than the alternative.
In the 1960s, Margaret Hamilton and her team in MIT were writing the software for the Apollo Guidance Computer, the machine that the Moon mission would depend on. The size and weight of the machine were severely constrained, to the extent that the computer architecture only had three binary digits available to encode each command. If you know your binary, you’ll realise that three binary digits only have room for eight numbers - and eight commands are not enough to get a spacecraft to the Moon and back. Hamilton’s team came up with ingenious ways to extend the AGC’s core vocabulary to just under fifty commands - and then built an interpreter to extend the vocabulary even further and code in a language that was easier to understand.
Embrace the low-coders and the no-coders (and perhaps even the GPTers)
In the early 1950s, there was a problem with programming. Digital computers offered the promise of automation and innovation: the press was full of reports about the wonders of ‘electronic brains’. But it had become apparent that just having computers was not enough: to do useful work, they had to be programmed, and programming turned out to be hard.
It’s important to remember what programming meant in those early days. It did not mean opening up an IDE: there were no IDEs, there were no text editors, there weren’t even any screens. It did not mean importing libraries, or entering commands in a language which looked like English. It meant breaking down every problem into mathematics, and then breaking the maths down into basic arithmetic and atomic logic. The primary productivity innovation was the creation of assembly languages: symbols and mnemonics to make it easier to shuttle numbers in and out of memory and perform operations on them - but even these languages were only one step away from the physical hardware.
Practice takes practice: don’t mistake AI proliferation for maturity
“This is only a foretaste of what is to come and only the shadow of what is going to be.”
These words appear on the fifty pound note issued by the Bank of England, under the portrait of their speaker, Alan Turing. They come from an interview with Turing in The Times in 1949, and continue, “We have to have some experience with the machine before we really know its capabilities. It may take years before we settle down to the new possibilities, but I do not see why it should not enter any one of the fields normally covered by the human intellect, and eventually compete on equal terms.”
The current wave of innovation in AI has led to more excitement about the last part of this quote than the rest, “I do not see why it should not enter any one of the fields normally covered by the human intellect, and eventually compete on equal terms.” Much of the press and social media, along with masses of marketing material, would have us believe that AI models are already competing on equal terms with humans, even if every article about how an AI model has passed the bar exam, or leapt some other professional hurdle, seems to be offset by another article questioning the legitimacy of the test, and yet another giving examples of how the model got things wrong in hilarious ways.
Don’t stop explaining
Have you ever been tempted to give up trying to explain how technology works? To accept that ‘it’s not about the technology’, that business people only care about outcomes, and to keep the technical details for the people who understand them?
If so, it is worth referring back to a piece of wisdom buried in a footnote of a book on computing from 1953: We apologise for the repetition of much of the subject matter of this chapter elsewhere in this book; it has been our experience that the layman finds it very hard to grasp and follow an account of the operation of a computer, and that he finds it helpful if the whole subject is presented to him several times, particularly if successive treatments are more and more sophisticated . . . In any event it is quite unnecessary to follow all the details of circuits and things: if the fact can be appreciated that circuits exist, and can readily be built, which will perform certain specified functions, that is all that is necessary in order to follow the rest of the book.
Transistor powered jet skates: seeing the future from the past
‘Look who it is! Iron Man using his jet skates! Those transistor powered wheels of his can do 200 miles an hour!’
If you are familiar with the superhero Iron Man from Marvel movies, you may be surprised by the idea that he would be travelling using skates, rather than flying. However, if you are familiar with electronics, you may be more surprised by the idea that wheels could be transistor powered.
This is a quote from an Iron Man comic in the 1960s. Some things in the comic are the same as the movies of today: Iron Man is a flawed human in a metal suit which enables him to do astonishing things. Some things are very different: the armour is chunky and does a lot more rolling than flying. And, rather than being powered by nanotechnology wizardry, it is powered by transistors.
Who puts the V in your MVP?
We’ve been doing it since before the beginning.
In 1943 Donald Michie and Jack Good were working at Bletchley Park on a machine known as the Heath Robinson, after the cartoonist who drew outlandish contraptions. They were attempting to break the Lorenz cypher used by the German high command, an even greater challenge than the Enigma cypher broken by the team which included Alan Turing.
The machine was known as a Heath Robinson because of its complex and unlikely appearance: paper tapes running at high speed around an apparatus called a ‘bedstead’, connected to a maze of wires, mechanical relays and, crucially, a few electronic valves. Getting the Heath Robinson to work reliably was an enormous challenge - such a challenge that it led to the creation of the Colossus, the first digital computer, by Tommy Flowers and team.
Innovation as application: a murmur from the mumble-tank
What was that?
A modest stone plaque on a street corner, part overgrown with leaves. My wife and I were heading home from an exhibition at Olympia when we spotted it.
LEO
LYONS ELECTRONIC OFFICE
THE WORLD’S FIRST BUSINESS COMPUTER
WAS BUILT AND OPERATED NEAR HERE
BY J LYONS AND CO
FROM NOVEMBER 1951
Innovation and application
A couple of months ago, I wrote about the book The Elements of Computing Systems, by Noam Nisan and Shimon Schocken, and how it was helping me traverse the layers of abstraction out of which computing is constructed. After many hours of reading, thinking and programming, I am nearing the end, and was struck by a few sentences in the penultimate chapter which are worth quoting in full:
Modern high-level programming languages are rich and powerful. They allow defining and using elaborate abstractions like functions and objects, expressing algorithms using elegant statements, and building data structures of unlimited complexity. In contrast, the hardware platforms on which the programs ultimately run are spartan and minimal.
At a time when Moore’s law has been running for decades, when semiconductor manufacture is an industry of global significance, and when ever more specialised chips are being produced to optimise the performance of artificial intelligence models, it’s easy to forget that, at root, all this silicon is, as Nisan and Schocken say, ‘spartan and minimal’. However we arrange them, the atomic units of computing remain ones and zeroes. (Let’s leave quantum computing to one side for a moment.)
Automation or augmentation?
On 9th December 1968, Douglas Engelbart of the Stanford Research Institure, gave what was later called ‘the mother of all demos’. In a 100 minute session, he demonstrated the capabilities of the oNLine-System (or NLS - they had terrible abbreviations in the 1960s too), including features which we would not see in commercial computing for many years: windows, hyperlinks, real-time collaboration, video-conferencing and the use of a mouse. It’s striking how familiar the experience is (even down to elements of the demo going wrong), and it’s not surprising that Engelbart got a standing ovation at the end.
However, once you get used to seeing technical advance after technical advance, all described in Engelbart’s calm and level voice, one more thing stands out in the demo: the conception of computing as a means to augment what Engelbart calls ‘intellectual work’, a goal which he also makes clear in his paper, Augmenting Human Intellect: A Conceptual Framework. Engelbart decided to pursue computing after the Second World War, with the goal of turning machines which had previously been solely used for calculation into machines which could be used to help people think and work collectively.
Sometimes it’s fine to have a solution looking for a problem
The lightbulb was not always the symbol of a good idea.
Edison’s incandescent electric lightbulb initially met with scepticism on both sides of the Atlantic. Henry Morton of the Stevens Institute of Technology said that, ‘Everyone acquainted with the subject will recognise it as a conspicuous failure,’ while a British Parliamentary committee said that it was, ‘unworthy of the attention of practical or scientific men.’
Part of the reason for this scepticism was due to problems that had not yet been solved, such as the distribution or ‘subdivision’ of electricity. But part of it was also due to the feeling that these problems did not need to be solved: there were already established ways of providing illumination. Edison’s lightbulb was a solution looking for a problem.
Technology estimates: unpredictable since 1823
In 1823, Charles Babbage was awarded £1,700 to build a machine known as Difference Engine 1, capable of automatically producing astronomical and mathematical tables. It was to be based on Babbage’s success in building Difference Engine 0, a smaller, prototype machine, which showed the potential of automatic calculation.
Nineteen years later, in 1842, after the budget had been spent ten times over, the project was abandoned. By this time, Babbage’s attention had shifted to an even more ambitious project, the Analytical Engine, which anticipated much of the computing architecture of modern, digital machines, including programs, memory and an arithmetic processing unit. Despite the contributions of another genius, Ada Lovelace, only a small part of the Analytical Engine had been built before Babbage died in 1871.
We should not disparage the work of Babbage and his colleagues for being incomplete: the Analytical Engine may be the best example ever of a machine being ahead of its time. To a modern computer engineer, the idea of building a mechanical digital computer out of brass and steel is audacious, to say the least. To a software engineer, the idea of developing computer programs, as Lovelace, without a machine to run them on, without the fundamentals of computing being settled - and without the modern programmer’s primary resources: the Internet, a search engine and online forums - is terrifying.