Kevlin Henney

consultant • father • he/him • human (very) • husband • programmer • keynote speaker • technologist • trainer • writer

Kevlin Henneykevlin
2025-08-18

I've been wondering what the backing store model is for Gmail, specifically its snooze functionality. More specifically, when you snooze multiple items to the same time they do not preserve any meaningful listing order, i.e., they do not preserve the sequence in which they were snoozed (if done individually) or their relative position in the inbox.

Arbitrary ordering suggests it might be a hash, which seems overkill for something that would be as efficient and more usable as a sequence.

Kevlin Henney boosted:

Found a @kevlin in my long distance train tonight. Apparently zip.local isn't behaving as it should.

#ComputerFail #Train

An info screen in a train showing an error message: "This page isn't working. zip.local didn't send any data." The page looks like a browser error page.
Kevlin Henneykevlin
2025-08-15
Kevlin Henneykevlin
2025-08-13
Kevlin Henneykevlin
2025-08-13

@bertkoor 🤦‍♂️

Kevlin Henney boosted:
Kevlin Henneykevlin
2025-08-13

A question (or hope) that keeps popping up is whether or not LLM prompts will replace code, not simply generate it.

The short answer is no.

A slightly longer answer is that prompts will only ever replace code by having LLMs not behave like LLMs.

Kevlin Henneykevlin
2025-08-13

@RichardWallintin @tastapod Somewhere in a forest, unobserved, a mic is dropping...

Kevlin Henney boosted:
Kevlin Henneykevlin
2025-08-13

There are lots of principles that vie for developers' attention, some of which are arbitrary (e.g., SOLID), some of which are misleading (e.g., SRP), or misunderstood (e.g., DRY, Separation of Concerns), some of which are redundant (e.g., ISP) and some of which are just plain wrong (e.g., OCP), but there are some that are classic, timeless, effective and, unfortunately, still ignored.

In this category we find the balanced pairing of high cohesion and low coupling.

Kevlin Henney boosted:
ACCUACCU
2025-08-13

Join ACCU For Access To Journals

📚 ACCU members receive two fantastic journals:
✅ C Vu - The formal journal of ACCU for its members
✅ Overload - Journal focusing on all aspects of software development
Memberships from just £35/year: accu.org/menu-overviews/member

Kevlin Henneykevlin
2025-08-13

@ewolff 😄

Kevlin Henneykevlin
2025-08-12

@shafik Indeed. There are a number of curves in play: what the tech can do; what developers can do; what developers actually do; what the hype says they can do. The hype curve is the most extreme of these. Would be nice if it settled down and starting converging with the reality of the other curves.

Kevlin Henney boosted:
thinkbeforecodingthinkb4coding
2025-08-12

@jackeric @oskardudycz @kevlin
A tweet from 2009:
(I keep it in my images... super useful these days...)

Tweet from Kevlin Henney, August 17, 2009

The act of describing a program in unambiguous detail and the act of programming are one and the same.
Kevlin Henneykevlin
2025-08-12

@OmegaPolice Yup. Sometimes the most effective way to get the best of what you want from an LLM is to clip its wings using non-LLM tools and techniques.

Kevlin Henneykevlin
2025-08-12
Kevlin Henneykevlin
2025-08-12
Kevlin Henneykevlin
2025-08-12

Another reason we know that LLMs cannot be used to reliably replace code is far simpler: the LLM companies have told us that it can't.

They repeatedly say that the field is constantly changing and that how prompts work and the quality of the output is changing.

In other words, their business proposition is that, leaving aside the nature of LLMs themselves, the LLM business is based on change, not consistency. They are guaranteeing code generated in future will differ from code generated now.

Kevlin Henneykevlin
2025-08-12

Code is a repository of determinism. That is its value. While it is not necessarily perfect, it has a consistency, comprehensibility and level of correctness that is inherent to its design.

By design, LLMs do not have this and are, therefore, unsuitable as a direct replacement. That does not mean they cannot be useful. It does not mean they cannot be used to generate code. But it does mean they cannot be used to replace code.

Kevlin Henneykevlin
2025-08-12

There is a hope that incorrect output can be fixed with better 'alignment'. Alignment is a euphemism for hacking and filtering input/output of an LLM to stop it from producing results that are considered unacceptable. In other words, to stop the LLM producing what the LLM would normally produce.

It's basically a bug filter that by its nature needs to be constantly updated in response to feedback and complaints. It is by its nature volatile and never complete.

Kevlin Henneykevlin
2025-08-12

You also want a high level of correctness. Very high level. Consider how often you encounter compiler bugs. Compare that with the frequency with which you experience AI hallucinations. It's not even a close competition.

Hallucinations are a feature of how LLMs work.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst