Over the past few years, many advanced computing technologies have made the leap from being specialised research and development tools to forming the core components supporting the everyday elements of our lives. Microprocessor-based technology is ubiquitous - there are few areas of our private or professional lives that have not been affected by this. While this has been an obvious trend for at least the past decade, the extent to which these devices are designed to communicate extensively with external data networks - with the aim of both seeking and disseminating information - has recently grown, and continues to grow, dramatically.
Take, for example, that most innocent of creatures, the humble office photocopier. It's not nearly as humble or as innocent as it used to be. From being a cranky assemblage of opto-mechanico-electrical analogue technologies, the photocopier has segued over time into a profoundly different device that appears to have been created by some sort of shotgun-recombination of digital DNA. Think about it: the platen where you place the item to be copied is now a digital scanner, sending a set of data to a processor - loaded with image-processing software tweaked to clean up the image - and then on to a laser printer.
So far, so ordinary. But although you can still shove a book on top of it and press the green button, the device has now gone far beyond such pedestrian tasks: it is now routinely networked to the rest of the department by means of standard ethernet technology, so that it appears as a printer to your desktop PC. This in turn demands some form of queuing mechanism so that the stuff you are copying manually doesn't get tangled up with someone else's network print job. No problem: the processor can handle that too. But it needs somewhere to hold the incoming queued material, so suddenly there is a hard disk as part of the equation. Now we have a device that is visible to a wider network, potentially holds copies of everything the department has printed over a considerable period of time, and has most of its internal processes hidden from the user - whose communication with this complex operating system is largely limited to an obscure pictographic touch-screen. Hopefully, this thought will dissuade you from any of the apocryphal photocopier misuses that allegedly occur at office parties.
If even a photocopier presents such potential complexities and risks, think how much the current rash of "smart" devices know about us. That slender, elegant, achingly fashionable slab of chips knows all about your professional and private contacts, the text messages that you have sent and received, the web content you have surfed, your complete schedule of meetings and collaborations, probably your email activity, possibly all your banking information and - if location-based services have been switched on - a frighteningly accurate record of your day-to-day movements. George Smiley and his colleagues would have killed for such depth and quality of information.
There is, of course, a defence against the potential paranoia that this awareness could create. The more you learn about the processes and systems that underlie the devastatingly user-friendly interface, the more you can make a sensible judgement when you are asked to tick or un-tick a box in some obscure menu to allow someone or something access to yet another aspect of your life - and this excellent book by John MacCormick is a means of gaining that knowledge.
He takes an interesting approach to his topic by concentrating on the "invisible" aspects of information systems - those elements that are concealed from the user in much the same way as car drivers are now separated from what goes on under the bonnet using the old gambit of "no user serviceable components inside". Motorists are dissuaded from touching anything that isn't colour-coded for their use - a Huxleyesque piece of conditioning almost guaranteed to imbue you with a fear of the unknown. MacCormick clearly believes that to be a responsible driver of current technology, you need to understand what is going on at the fundamental level. In addition, he wants us to take delight in the elegance of the solutions that have been developed to address complex questions of the security, integrity and availability of data and digital services.
The journey MacCormick takes us on has an eclectic itinerary, but each element is presented with the same high degree of enthusiasm and engagement. We begin with the largely unregarded (by users at least) area of web searching and how search engines decide which pages might most closely meet our requirement. Using the example of Google's original PageRank algorithm, famously developed in a Silicon Valley garage by two Stanford PhD students, the author takes us through some of the "tricks" of matching and ranking that can be used to help us find "needles in the world's biggest haystack". Anyone who has ever wondered how their obscure query has been returned from across the world in a fraction of a second will be inspired by what they discover here: techniques that can appear superficially simple, yet become in equal parts intriguing and elegant yet increasingly complex as you delve into them further. And, of course, the more you understand about how it works, the better you are likely to become at framing effective queries.
Public key cryptography is the next stop on our trip. The internet was designed to be open and robust, with the result that any message sent across it in plain text is about as secure from prying eyes as a message mailed on a postcard. As the requirement for enhanced security has evolved, so increasingly elaborate techniques for hiding information in plain sight have developed. While this area has a reputation for being conceptually complex, MacCormick uses a mixture of clear non-technical writing and elegant analogy to put across the message, step by step. This clarity extends to the excellent discussion of digital signatures, which have rapidly become a key tool in achieving sensible, trusted validation for the source of a digital asset. Even deeper into the technology we are introduced to the core techniques of error correction - mechanisms that ensure that the data you send are not degraded in transit, and provide resilience against noisy communications infrastructure and defective media. This becomes even more important when viewed in the context of data compression - the almost magical techniques that allow us to squeeze digital photographs and videos into more portable packages. MacCormick takes us through the benefits - and potential costs in terms of quality - of such methods, something all photographers should understand.
Databases are the unsung heroes of today's technology. They are so deeply embedded in the everyday infrastructure of service delivery that we just expect them to work, like getting water when you turn on a tap. Those who have been responsible for database administration, however, will tell you just how much frantic paddling it takes to achieve this level of digital nirvana. MacCormick explains some of the fundamental tools of database design and management - including such aspects as database replication and how you can roll back transactions. Trust me, these are things you really ought to know about if you are involved in information management.
This is an unusually well-written text suitable for anyone with an interest in how today's information systems really work. It does not assume a strongly technical background and has an exceptionally welcoming style that will appeal to a wide readership. I recommend it unreservedly.
John MacCormick grew up in New Zealand and spent most of his time sailing, kayaking and windsurfing, although he confesses he never mastered kite boarding.
He initially studied law at the University of Auckland, but after his first term was awarded a scholarship to the University of Cambridge and decided to study mathematics. A friend's computer science project carried out at the University of Oxford inspired MacCormick to pursue a PhD in computer vision at Oxford.
MacCormick recalls writing his own sorting algorithm to print his Latin vocabulary in alphabetical order and, without realising it, stumbled on one of the fundamental ideas in the theory of algorithms - complexity - when the program started to take an inordinately long time to sort the words as they got longer. "Years later, I learned that the algorithm I used is never used in real applications - many well-known sorting algorithms could have dispatched my Latin vocab in a jiffy. If only I'd known about them then."
When he is not busy "wrangling two kids under two", MacCormick says, he enjoys almost any outdoor activity and playing board games. "I'm also a recent convert to some types of opera."
Nine Algorithms that Changed the Future: The Ingenious Ideas that Drive Today's Computers
By John MacCormick
Princeton University Press
248pp, £19.95 and £23.94
ISBN 9780691147147 and 9781400839568 (e-book)
Published 25 January 2012