There is a fantastic line in the 1978 film Superman, penned by Mario Puzo of Godfather fame and delivered flawlessly by the actor Gene Hackman as the perfect nemesis, Lex Luthor:
“Some people can read War and Peace and come away thinking it’s a simple adventure story. Others can read the ingredients on a chewing gum wrapper and unlock the secrets of the universe.”
The line is profound, meaningful on many levels. It is in fact ironic to consider that 561,093 words might convey something of limited value to an audience and, conversely 35 words can inform and influence an entire generation. Thought-provoking as that may be, you’re probably wondering, how does that relate to any kind of technology perspective? Let’s start with the idea that, just because there is an abundance of something, its sum may not have inherently greater value – and let’s apply this consideration to lines of code.
Some programmers have measured their careers by the number of lines of code that they produce, akin to a piecework role. But as noted in “On the cruelty of really teaching computer science” by Professor Edsger W. Dijkstra back in 1988, and still valid now, lines of code may be better considered as “spent” rather than “produced”, effectively moving the activity to the other side of the balance sheet. That is not to diminish the effort; it’s to recognise that there is a cost in, what boils down to, inefficiency. There’s inefficiency in the source, inefficiency in repetition and inefficiency in the reliance on compile and runtime optimisers to keep us just within, or just beyond, today’s technological boundaries. This manifests itself in a continued sense of disappointment in the performance of many potentially life-enhancing applications, devices and services until a step change in the available throughput, density or precision of a contextual sensor improves user experience. Think virtual reality as an example.
Should we compensate for inefficiency with the provision of cheap compute power, pools of memory and faster networks, which are also in perceived abundance? Or is this simply the path of least resistance? If we positively adopt the principle of being charged for the execution of the task, rather than the discrete overhead of the factory, tools and labour, is it acceptable that the task may be weighed down with arguably superfluous activity or, worse, a bloated footprint that is intrinsically linked to a cost metric? Let’s examine that thought for a second. My suggestion here is that as the charging of code execution moves (or returns, depending on your view) to per CPU Ghz/sec and/or per RAM GB/sec, there is a potential for discrepancy between the costs of executing the same task, using the same cloud, the same code and the same interfaces – but in a different runtime environment.
How does this compare to an Infrastructure as-a-Service hosting model? Well, using the traditional, though oversimplified, automotive analogy: In the IaaS model, you hire the car but choose the route yourself. In the serverless model, you hire a taxi and tell the driver where you want to be. The discrepancy exists when the taxi driver takes a longer route or, worse, stops off for groceries while the meter is running. At some point in the future, it seems essential to offer some form of comparative redress to ensure that the migration of runtime control from customer to provider is underpinned by sustained governance and trust. Careful consideration needs to be applied to the timing and flexibility of any “virtual bureaucracy” as to prevent the stifling of essential innovation. In short the responsibility for the efficient use of resources needs to be shared.
So, in returning to where we began, the main point of that comment from Lex Luthor, in my view (and not to take anything away from a literary masterpiece) is that to be inspired doesn’t take a comprehensive understanding; it takes a vision to see what is beyond the words. And if you are wondering why chewing gum could unlock the secrets of the universe…. Well it turns out a 1944 patent for chewing gum contains the use of ethylene glycol to make the gum more elastic. Ethylene at 700 degrees, when laid on iridium, spontaneously creates graphene, a single-atom-thick nanomaterial that is transparent and extremely strong. Something that sounds to me like Transparent Aluminium which, as everyone knows, is a core material for the building of the Starship Enterprise. The weird thing is that almost everything in this paragraph is now fact, and simply a set of ingredients. To unlock the secrets of the universe, now all you need to do is see beyond the words.
Feedback is always welcome, so feel free to get in touch at @glennaugustus
comments powered by Disqus