Web dev at the end of the world, from Hveragerði, Iceland

Links (2 September 2024)

This week’s must-read

Is AI a Silver Bullet? — Ian Cooper - Staccato Signals

This incredibly detailed and well thought out essay by Ian Cooper is a must-read. It took me a while to get around to reading it as it was originally published in June. Don’t be like me. Read it sooner rather than later. You won’t regret it.

But the flaw in prompts as a description of the code to be generated tends to be that natural language is a remarkably poor medium for expressing the model that we want to use in our software. Every time we move away from a 3GL to create a more natural interface, we rapidly get diminishing ability to author software.

[…]

Where a space is already commoditised and no advantage through an innovative internal product is possible, it is likely that a SaaS offering is a better way of reducing the cost of software, than authoring an LLM based solution. We have already moved away from end user authored software in many such cases.

[…]

If we already have developers who work in the abstraction of 3GL to model the problem it is unlikely that switching them to Prompt Engineering will do anything other than slow them down. We create new accidental complexity that they are less experienced with.

As we develop more code by Prompt Engineering the question becomes what feeds the LLM with new or innovative solutions to the problem, new ways to model the answer? Prompt Engineering itself is unlikely to provide that. But the LLM can only parrot existing solutions to the problem.

[…]

This is the trade off we have seen before: eliminating the accidental complexity of authoring code has less value than we think because code spends most of its time in maintenance, so the maintainability of the code is more important than the speed to author it.

[…]

The risk is though that Prompt Engineering is just a replacement of one form of accidental complexity – which we are good at solving – with another form of accidental complexity, how to elicit the computable model we want, via Prompt Engineering – which we are lest good at solving (for now). The current state of Prompt Engineering, with its “spells” that must be incanted to work, just looks like another form of accidental complexity.

[…]

Finally, code generation often suffers from the problem that it does not build understanding. Because the team did not build the code up, or use publicly available, well-documented frameworks, the onboarding costs are high.

[…]

The problem is a classic trade-off: what many innovations in the space took from the accidental complexity of authoring software, they added into the accidental complexity of owning that software.

This is a problem we repeatedly forget, and relearn. Any successful software will be changed as the needs of its users change. Most of the lifetime of any successful piece of software will be in the ownership phase. During ownership our costs will be the cost of change. So to reduce overall costs, we need to reduce the cost to change our software.

I could quote from it all day. My only quibble (and it’s a quibble) is that I’m much more sceptical about copilots than the author. I think software developers as a group have a history of being completely incapable of accurately judging the effectiveness of whatever is the current trend in dev, and I think that we, as a demographic, are uniquely vulnerable to the type of cognitive biases that LLM tools trigger. As in, we are generally confident that our intelligence somehow makes us immune to biases whereas the superior pattern recognition that comes with the one-dimensional capability that gets labelled as intelligence in our community is more likely to do the opposite. We see patterns that aren’t necessarily there.

Photos

Only a couple of photos this week.

This one was from a walk by Varmá river here in Hveragerði. Taken on the iPhone using Halide and its Process Zero.

A small shed made out of rusty corrugated iron by a picturesqe river.

And this one is a new photo of my sister’s cat Kolka.

Kolka, a black cat with a white medallion spot, relaxes so much that she does a masterful blep.
You can also find me on Mastodon and Bluesky