Home Flight manual Ramblings Tags RSS

The advent of AI

We've pretty much always had "artificial intelligence" in our lives: the ghosts chasing Pac-Man in its eponymous arcade game from 1980 operate according to 4 sets of rules (each their own): that's Artificial Intelligence (AI), too.

I mean to talk here of Machine Learning (ML), the subset of AI that has been making waves in the last few years, and most specifically about Large Language Models (LLMs), which are capable of (essentially) conversing just as humans would1. I'll keep referring to these as AI, for it sadly is the established vernacular.

I'd like to start with something that's not often talked about: the AI that's now available to us is a huge achievement, something that'd been dreamt since the inception of computing, perhaps even before. In my teenage years, I grew up with Asimov's Foundation and Robot series. I also remember the iconic HAL 9000's eerie "I think you know what the problem is just as well as I do", K.I.T.T. as the original J.A.R.V.I.S., GLaDOS's sinister humour in yet another of Valve's game-changing accomplishments, and Star Wars' beloved C-3PO and R2-D2 doing their best Laurel and Hardy impression.

That's quite a few acronyms2, come to think of it. We should consider christening (ha!) our first Artificial General Intelligence (AGI) something like SAGE, for Self-Adapting General Entity. Or whatever OVERLORD might spell out, to tease the soothsayers. But I digress.

We are now somewhere. We can, albeit at a strenuous (if not staggering) computational cost, have machines that can "understand" and respond in a natural language. It is now unequivocally workable as a long-awaited solution to be refined in the years to come.

As a programming companion, however, it's of very little use to me.


I like my craft. I refined it enormously and have achieved some mastery in some regards that I'm certain is far from being available to the general public, would they even by armed with the World-Wide-Web and aided by some companions of the artificial kind.

If I use a tool to author and compose code for me, I rob myself of the opportunity and experience of thinking through the problem, arriving at a solution, possibly trudging on my way there and only then realising that a smoother path should be available.

After some decades of this, the most excellent of us end up developing some sense for these mechanisms, as we've built similar things in different ways, in different cultural and technological contexts, using different tools, for different purposes.


None of this corresponds to any sort of experience that the current LLMs could at all contemplate acquiring: they have no experience of their own. They exist in a fantasy world dreamed up from the weighted statistically average (or popular?) amalgamation of (only) the written report of third parties; it certainly doesn't "learn" in any human sense. Richard Sutton (a foundational figure in modern artificial intelligence) puts it well: learning isn't just about training, it's an active process.

The general-purpose programming assistant is nothing like having a general-purpose tool that would have been careful crafted to perform a specific task, possibly rather through reinforcement learning rather than mere vaguely supervised mimicry training on a large corpus of text.

And of course, with general-purpose chatting engines come the yet-to-be-solved issues regarding, off the top of my head:

There's also the seeping, encroaching problem of the horrifyingly inadequate appeal to authority bias that we are getting increasingly subject to, using sources whose influence only gets further and further ahead of their competency.


My third point is that, under the hypothesis that we are to keep signing off on the code that an AI produces for us, the argument should be made that—to the fanatic developer at least—the mechanical act of curating the codebase is certainly not the bottleneck in building perennial software.

On that note, a close colleague of mine confided just this week that reviewing code may more strenuous than authoring it, depending on how diligent one wants to be. It may have to do with the pull in opposing directions: you need to appropriate the entire context in the first place, but wouldn't quite dare, at this point, even considering alternative solutions.

In any case, correctly identifying and contextualising the problem, the solution space, the implicit and explicit constraints, the trade-offs to be made with regards to maintainability, performance, security, etc. are indisputably the more costly (and valuable) parts of the process. Having the artificial assistant execute the plan is not, in the general cases where the alternative would be that I personally fly through text documents, much of a time-saver.

And again, that's assuming the end result is correct under scrutiny—which it isn't always, let alone exemplary, let alone graceful.

In short, I am, intrinsically, somebody that does stuff. Not because I can't delegate, not because I need the stuff done (though sometimes I do), but because I was plagued and blessed with a profound obsession for refining my craft. And I was afforded the luxury of being born just in time for not only software being a major, obvious, lucrative industry, but also the notion that care, skill and experience can make a tremendous difference in the quality of the resulting product.

I come from a time when every kid at school heard that we wouldn't always have a calculator in our pocket; when, if we played video games, it'd be the few that were available, over and over; when the first consoles were requiring great ingenuity just to have a counter-melody play over the main theme and sprites would flicker to work around memory constraints; when access to a digital, let alone on-line! encyclopaedia was an indulgence; in summary, I come from a time where the family camera and the family computer would never have been thought to soon be available as a single, personal device. And I'm not that old!

Yet, the Discord of today is substantially more sluggish than the MSN Messenger of yesteryear. It does far more, certainly, but I do realise that hardware and networking have come a long, long way since I took my first steps into IRC servers and BBS Websites; to my understanding, there still is room for some excellence even in the execution of the vision.

AI will get better. It already is of great value as a preliminary to some search engine queries. It's pretty great at getting some vaguely mushy implementation that mostly does the thing you asked it for. But that is not remotely enough to pique my fervent interest:

It does what we asked it for... But what if we were misguided? The well-travelled quote "the customer is always right" should be followed by: "in matters of taste".

We built what the marketing department sold... But what of the -ilities?

What of the cut-throat, no-nonsense, ruthless pragmatism where one could want to do away with dependencies and frameworks altogether? If made to optimise, could it avoid doing it prematurely—the root of all evil, as proposed by the illustrious Donald Knuth?

We've arrived at a set of nascent tools that will help and get better. Once again, a new fad is upon us, just as the past two decades brought us the Big Data craze, the NoSQL movement, the Microservices bandwagon, the REST cult, the Event Sourcing phase... In some contexts, these are the right tools; in general, they merely serve to indicate when about were these solutions designed and built.

Will our own systems and products stand the test of time, or shall we right away mandate Vibe Coding to faster implement complexity3?

  1. Artificial sentience is yet to be incepted electronically, to be best of my understanding. Although, who am I to judge—am I even conscious to begin with?

    • K.I.T.T. stands for Knight Industries Two Thousand,
    • J.A.R.V.I.S. for Just A Rather Very Intelligent System,
    • GLaDOS for Genetic Lifeform and Disk Operating System, and
    • HAL for Heuristically Programmed Algorithmic Computer (go figure).

    The names of Star Wars' iconic droids are more the result of chance than deliberate acronyms.

  2. Being a proponent of radical simplicity, I may smugly smirk at the idea, yet I shudder at the realisation that some serious people are indeed in favour of such mandates, and in position to put them into practice.