The reverts will continue until morale improves
peter.eisentraut.org
peter.eisentraut.org
Congrats on the team for putting stability ahead of features for such an important codebase.
On top of that I think this is actually great FLOSS news, knowing how many commercial products have sacrificed proper professional programming on the altar of shareholder expectations.
Previously my main concern was with LLM's writing worse code. Now my concern is the ability to write better code than I was ever able to write before -- considering every possible potential bug and race condition and error state and what have you -- but at what cost? How much more time do you have to spend researching, designing, making decisions around every possible edge case and state?
Before, you couldn't even attempt to balance quality with speed, because you couldn't see the quality in advance. You had to wait for bug reports to come in. Now, you're confronting quality up-front in a much deeper way. Which allows for much more reliable software, but then you have to decide how much effort is worth it and how much isn't?
In it he pointed out a huge deficiency of most programming languages that still haunts us: they’re wickedly difficult to reason about. So proving important properties about programs is all but infeasible.
So we try to handle it empirically with unit tests, but that has its limitations.
LLMs can kinda sorta do it analytically, but that isn’t completely satisfying, either. The results are probabilistic, and they are pretty bad at inferring intent which can be a source of both type I and type II errors. But still, it would be silly to throw out a layer of Swiss cheese for having holes.
But I sure do wish we could have a plausible version of Backus’s original vision of a language that lets us formally declare (a useful subset of) the specification and then statically verify that the program conforms to it.
a particular statement to make during the slop apocalypse
You can not know what you're doing and use it to write slop.
Or you can set up your project with best practices in every way with full design documents and code that flows from design and full rigor around everything.
I do it the second way. And so yes, I find myself being confronted with so many edge cases that I just never thought about before. And I'd say it about doubles the time it takes me to deliver stuff, and I'm not always sure it's worth it.
You speak in hyperbolics, my friend. You may be lacking some realistic perspective here.
Plenty of people who are using LLM's within technical organizations, as opposed to script kiddies vibe coding, are encountering the same kind of issue. And people spend lots of time fixing bugs in existing code anyways. This is just a simple question of newly-visible tradeoffs.
Being able to take an old code base up to 100% test coverage alone is incredibly eye opening.
Multiple features?
> Maybe we just didn’t do a good enough job. Maybe the code was just not good enough. We’ll learn and improve. It’s probably some of that, and I’m mentioning it here to not give the impression that it was only the other factors that I’m going to mention.
> It could also be a coincidence. Maybe we had been on such a good roll that we attempted to tackle several features that turned out to be too hard, or at least too hard to finish in time.
All of the above seem clearly the case--not that it could be realized at the time of cutoff and not getting it cleaned up in the window.
> we, meaning all the developers affected, have had enough time to fully reflect on all this.
Title should be: The reverts will continue until quality improves. Humour is good for the clicks but also a means of deflection. I sort of feel bad saying without putting in effort contributing myself but having it merged would have been worse.
Not quite as bad as those recipe sites that expect you to read the rando's life story before the recipe, though.
The "life story" is a means to it easier to issue takedown notices, and report rehosters for copyright infringement.
Google isn't involved.
Also adversaries are using abliterated LLMs right now to search for vulnerabilities, so it's important to stay ahead.
This is much more useful.
Projects and developers and maintainers using LLM to review all of the code and the original specs for the architecture to make sure it makes sense and to find things that are just flawed or half baked or “now that we have Llm is this really all you can do?”
I’m actually kind of excited to see more Llm structure in a project as a given for things like Linux, Postgres etc, things that make it possible to find problems early … further left. Actually higher standards for what constitutes code that’s pushed for a project.
We need this bad in the open source world.
This is quite a nice perspective to end up on, and a little humor too.
Some of the beauty of linux that wouldn't happen in corp.
I'm not sure I understand this, for an OSS project, the only timeframes at play are self-imposed. I don't think most people would care if you pushed a release back by a week to fix some last minute bugs. /shrug
Since people refuse to read things on HN, I might as well bubble up this particular bullet point.
Or if not the title, the general context is this: https://news.ycombinator.com/item?id=50119991
A bunch of features that made it to beta turned out not to be in a state that could be made satisfactory for release time and so was reverted.
That seems to me to be the right thing to do. Unfortunate, but the right thing to do.
“[something] will continue until morale improves” is usually a sacastic dig at tone deaf and incompetent leadership (e.g, “firing will continue until morale improves”)
I don’t think that is fair to say here.
Generally, software engineering like other industries is evolving and there is need for different facilities. Consider graph and vector databases featuring, as well as json columns as examples of things you that are relatively recently in common use.
sounds like a revolutionary rather than incremental change, does that get into postgres?