Top
Best
New

Posted by soheilpro 2 days ago

Postgres 19 is late because so many more bugs are being found now(rhaas.blogspot.com)
414 points | 263 comments
BatteryMountain 1 hour ago|
This is a good thing. Repaying technical debt is always a great thing.

On our own 1.5M loc system, we've found and fixed thousands of bugs, security holes and circular dependencies in the last year. Code quality has increased, test coverage increased. We've also recently set our compiler to treat warnings as errors, and to be as strict as possible. It is absolutely amazing to see the gaps being filled, it would've been an impossible task for human devs and IDE's would've made it very uncomfortable. We've also ironed out all the bugs and failure modes in our infrastructure automation / monitoring. Our next project is to eliminate all 3rd party dependencies, and after that to rebuild our frontends completely using zero frameworks, not touching npm ever again after that.

So when I read this about postgres, I was very happy that they found and pursued this side quest. They can make the codebase bullet proof.

Gigachad 2 minutes ago||
Avoiding 3rd party libraries seems like a false sense of security. You’ll stop seeing CVEs on the scanner reports, but the bugs are still there, just in your own code that is less well audited than public libraries.
m4rtink 5 minutes ago|||
Good thing if you can afford the vulnerability detection run.

I could imagine scenarios where only well off developers and companies could afford that.

Then if you don't have the money, you are out of luck and risk having vulnerabilities in your code.

And it takes just one adversary to pay the bot & the bot will happily find an exploit for them in your code.

This worry this could lead to a serious power imbalance & furthe damage the free software community...

Cthulhu_ 17 seconds ago||
[delayed]
elcritch 49 minutes ago|||
Now this is how companies should be using AI. Not as an excuse to fire half the devs. Less bugs, less failures, better experience for everyone.
BatteryMountain 40 minutes ago|||
We haven't fired a single person yet due to AI. We just save everyone time, make input more accurate, make our accountants better, manage our technicians and jobcards better and so on. We also made our system bullet proof to the point that we only had one weekend failure in the last 24 months, and it wasn't our fault (a third party dependency did a large deployment on a friday night). Our system is now deeply "boring" and its awesome.
elcritch 11 minutes ago||
Congrats, that's awesome.
adamddev1 32 minutes ago|||
Perhaps the ultimate use case would be to use AI to scan, debug and find issues etc, but never to generate new code. Still have humans writing and understanding everything, keeping things as clean and concise as possible.
benterix 2 minutes ago||
It would be great net result for our brains, however too much money has been poured into this business to give up on that. My belief they will push for SWE layoffs trying to position LLM-based agents as a cost efficient alternative to human programmers. Which is extremely stupid and short-sighted but that's the strategy.
cypressious 20 minutes ago|||
> IDE's would've made it very uncomfortable

Would you mind elaborating?

msdz 1 hour ago|||
> rebuild our frontends completely using zero frameworks, not touching npm ever again after that

Genuine question, because I don’t know: Wouldn’t it suffice to vendor your current packages and “only” stick to maintenance from there on out, instead of rewriting it all?

This should still achieve the goal of not needing to touch npm, but presumably with less effort/tokens, right? Or is it just that you would expect the result of that process to be less clear and maintainable than a full rewrite?

BatteryMountain 1 hour ago|||
Actually, I have started with it already but is paused, but the approach is to rebuild it from scratch in parallel to our current legacy system and move our staff over to the new completed screens in batches (we have close to 1000 views in our system, 150 background jobs, with about 15 main categories (think organisational sub-divisions)). So as long as we go slow and steady (even with AI) it will work out fine, I expect it will be done in less than 6 months. One month if we rush but we don't want to rush it, as we are moving some things over from MSSQL to Postgres, so slow and steady is the way.
jiggawatts 25 minutes ago||
> from MSSQL to Postgres

How's that going? Any lessons learnt you'd be willing to share?

chronogram 1 hour ago|||
Because they are large codebases with their own technical debt. You're not doing a full rewrite, but just make what you need for you own codebase.
fauigerzigerk 45 minutes ago|||
If the parts you need from a larger third party library are small and simple, that makes sense. But I don't think the general idea of reusing battle tested code across many projects is obsolete because of AI.
msdz 56 minutes ago|||
Ah, I think I see now. Essentially the dependency module is unnecessarily large and (for your own use case) ships with extraneous features/“bloat”.
bullpen 1 hour ago|||
Didn’t you guys have to ship new products? How a business can afford so many backlog tickets being implemented? I understand fixing bugs can also mean improving the product but still - (almost) the whole world has this balance between new features and acceptable-ish number of bugs
BatteryMountain 1 hour ago||
We are multiple developers, each having 10+ main claude agents running different sessions/terminal tabs. I have 10 copies of our codebase on my laptop, each with their own purpose and claude session and history. The other devs have different approaches but we all get similar output. And then we also built an agent framework that runs within our system that has access to our code (at most 60min behind master branch), our infra and our databases, so it can diagnose issues with excellent precision and prove it to us where to find code/data issues.
za3faran 1 hour ago||
Are you able to share which domain your company works in?
BatteryMountain 51 minutes ago||
Utilities - Electricity/Water/Gas. 98% of our systems are internal facing or third party integrations. Our surface for end-consumers is tiny.
bocytron 1 hour ago|||
Can you tell us how did you achieve that kind of work, briefly? I struggle to figure out how such massive bug fixing campaigns or even large scale software engineering are done with ai not taking weird decisions...
eurekin 1 hour ago|||
I personally started using AI with a very rudimentary "memory" system, and for first weeks corrected it ad nauseam, until, in the small domain I was responsible for, it started doing work end to end fully autonomously. Takes a lot of time and effort to bootstrap, but once steered well enough, it just clicks and less and less is needed to check manually
BatteryMountain 1 hour ago||
Yeah a memory system per domain, or per module or even per file works amazing, we have it too. Took a ton of time to improve the code and list down all the tribal knowledge, but now that it's done, it works super well.
BatteryMountain 1 hour ago|||
Myself specifically, I have a /code folder without about 10 copies of our codebase, each running their own claude sessions & git branch. Then, I have 10 terminal branches. I spend a ton of time planning out & specing the problem with claude, to be as specific as possible and be as constrained as possible so it cannot go on side-quests. I use Opus 5.5 on High effort. That's just on my laptop with what I can mentally cope with day to day. Then we have some other automatic ai goodies running within our custom agent framework that runs within our platform that also helps. Then for apps, I basically plug in multiple phones into my laptop with usb (and emulators if I really need to), and claude can fully drive the ui and testing on the phones via adb as an example. Even on linux/fedora/kde it can drive UI apps a and take screenshots and fix things properly etc. It can ingest all logs & debug chains, so it absolutely flies through its task.

Before we started this journey (about a year ago), we spent a ton of time cleaning up our codebase, splitting large files (10K+ lines) into files that are no more than 2K lines, things like that. Then we let claude scan our important files and summarize them, add comments for future claude sessions. So we've let it built up tribal knowledge per file and the reasons for things to exist. We tell it all about our operating environment, the country and legal framework etc, so every little piece helps it stay honest and on track.

So to start, do something simple like: Scan the files in this folder for database code and check for queries that loads the entire result set into memory and/or queries that loads all columns. Suggest which queries we can filter better or reduce columns being transferred. Once done, also check real db row counts, compare them with the queries in these files and check if they might benefit from an index or partitioning/sharding. Also check for queries that loads data but their results are not used. Don't make changes yet, just do a deep investigation and report back. Feel free to spin up muliple agents to batch the scans.

edit: it goes without saying you need a language with strict typing and a good compiler (we use dotnet). Doing this on python/javascript would be a nightmare.

cpursley 1 hour ago||
The JS frameworks exist for a reason, recreating them seems a little excessive. Why not skip JS and go to a Rust wasm framework or Phoenix LiveView if the goal is to get away from JS/node/npm?
BatteryMountain 44 minutes ago||
Our legacy system runs mvc view with bootstrap 3 and some jquery. It's not a SPA, so no framework to replace. But we still have to mess around with npm sometimes.
cpursley 24 minutes ago||
Depending on the framework you are in, there might be the equivalent of LiveView/Hotwire that works with MVC.
CharlesW 8 hours ago||
> This year is going to be different. PostgreSQL 19 most likely won’t be released until November… […] So, what happened? The short answer is that LLMs happened. […] There’s a huge amount of code, and that code contains a huge number of bugs. […] What’s different now is that it’s become vastly easier to find those bugs.

This seems…good?

That it might disrupt the project's "traditional" release cadence a bit doesn't seem terribly bad in light of the alternative, which is shipping another major update with bugs which have apparently haunted the codebase for some time.

Gigachad 7 hours ago||
At work we have put a full halt on feature work because the number of security related tasks has become staggering and urgent.

We will hopefully get over this wave and be able to move forward with much more secure software, but it's crazy right now.

dawnerd 3 hours ago|||
We’ve also been blowing a lot of retainer hours just patching sites instead of building new features. It sucks. Ultimately going to cost clients more.
quantummagic 1 hour ago|||
Probably not, if you factor in the cost of security exploits. A single compromise can potentially sink the business.
remus 1 hour ago|||
It's not like no work is happening though. Your clients are getting a more secure website. Maybe the bugs that are being patched would have taken longer to be exploited in the pre-LLM world but the bugs were still there.
max_k 2 hours ago||||
Same here. I got access to Mythos two months ago, it confronted me with decades of nasty bugs I wrote. This has been stressing me out a lot, caused sleep deprivation (the bugs follow me in my sleep, yes, really). All other progress is halted, I've been squashing bugs day and night. I see a light at the end of the tunnel.

Bottom line: it's a good thing. My software will be better after that. Even if it's currently not good for my ego (and my health). But I'm glad for all the tools that help me improve quality.

And sure, I can just ask LLMs to fix the bugs, which works well half of the time, and produces bad slop in the other half. This is where human expertise and judgement is still necessary to avoid letting our code bases drift into LLM spaghetti hell.

bjoli 1 hour ago|||
My question is, did it provide POCs? I have had some security issues flagged that I tried my best to exploit, but failed miserably. Since I do not have any kind of privileged access the LLMs I use have been unwilling to actually prove that it can be exploited.

While I did fix most of the things because while they might not have been exploitable they were bugs waiting to happen, in all but one case I haven't been very impressed by any of the LARGE IMPORTANT SECURITY HOLES that were found.

max_k 1 hour ago||
No, the Mythos reports do not come with POCs. It's a lot of redundant prose explaining the bug it found (much more than I'm willing to read), it explains how it can be triggered, but doesn't generate actual exploit code.

But that doesn't matter for me. It shows me real bugs and less than 1% false positives. Some bugs are truly nasty and urgent, most are trivial and not exploitable at all, but they're bugs and so I'm fixing them.

Mythos isn't mythically superb for being the best LLM model, but only for not having these annoying guard rails that make all others randomly refuse to cooperate when you need them the most. Whoever invented guard rails - please stop! - they just slow the good guys down in the race.

eecc 1 hour ago||
Ah, Askell's work: https://mcauldronism.substack.com/p/an-automated-takedown-of...
Mashimo 1 hour ago|||
> I've been squashing bugs day and night

> This has been stressing me out

> the bugs follow me in my sleep

Sounds like you need some vacation.

x3n0ph3n3 3 hours ago||||
How did you get product management to agree to that? Ours said "I could fix all of that in 2 days with Claude." They are still not fixed. Granted, our PMs suck.
Gigachad 2 hours ago|||
The upper management and security team came knocking and told us all of the CVEs from the scanner need to be addressed right now. And the only way to deploy without having to wait for QA approval is to not merge feature changes.
chii 2 hours ago||
> The upper management and security team came knocking

i would say the recent slew of vuln reports/breaches making the news rounds are doing work!

This is the silver lining i suppose!

jmangiameli 2 hours ago|||
You need a better product management. If they can't see what's going on at the moment, they truly suck at their job or management is putting pressure.
jimbokun 6 hours ago||||
Interesting that this could result in net negative software productivity world wide in terms of features right now.

LLMs finding unpatched vulnerabilities faster than they can be reasonably patched, bringing all other software development to a halt.

reissbaker 6 hours ago|||
That's only if you consider security to be unproductive!

If you consider it to be productive work, it's a massive productivity boon happening right now. Of course, product managers might disagree...

vbezhenar 5 hours ago|||
Security work is not productive.

Imagine that the whole city has to install iron doors and window grilles, because wooden doors and glass windows are not safe enough anymore.

That's a lot of work, but is it productive in the end? Probably not.

With AI it's the same. World was fine with lax security approach before. Today it is not fine. Tomorrow we might need to prove every code line before shipping, will that be more productive? Hell, no.

dwattttt 3 hours ago|||
> Imagine that the whole city has to install iron doors and window grilles, because wooden doors and glass windows are not safe enough anymore.

> That's a lot of work, but is it productive in the end? Probably not.

Your imaginary scenario defines the solution to be pointless. If that same city was subjected to weekly riots smashing windows & doors, and people regularly died, stopping "productive" work to install things that keep people alive and productive? That's productive.

solidsnack9000 2 hours ago|||
There is a sense in which productive is being used here that is slightly subtle. Security doesn't really add anything to net output. It is, in other words, a cost. That doesn't mean it isn't valuable.

One way to think about it is that production allows you to pay for stuff. Not necessarily directly but by way of trading. It is the output you use to buy things like security.

Consider an apple farm. What does the apple farm produce to pay its bills? Apples. They could also dedicate resources to pears, &c, and that would add to their production -- to the goods they produce, the goods with which they (indirectly) purchase tractors, fence posts, &c. They could also dedicate resources to security -- more fences, &c -- and this may even be prudent. Maybe thieves are getting taller. This doesn't really add to production, though; at best, it maintains production at the status quo ante (assuming the fence is effective).

hvb2 1 hour ago||||
Just like securing a system is a trade-off, attacking one is too. Risk vs reward and time vs reward. Your personal blog doesn't need to be fort Knox, just patch it properly and you should be fine.

The software is better in the end but not all of it will be productive.

thisismyanon2 2 hours ago||||

  If that same city was subjected to weekly riots
Okay. What's causing the riots?

  That's productive.
No that's spinning your wheels because an outside agitator is trying to make a quick buck.
soon_to_be_sb 2 hours ago||||
> If that same city was subjected to weekly riots smashing windows & doors, and people regularly died..

The point it, this was not happening before. LLMs made cheap cyber attack possible. But it didn't make the implementation of fixes correspondingly cheap. So now everyone needs to spend extra money/effort to install grills to cover where LLMs fall short.

For postgres, this absolutely makes sense though as long as people are willing to shell out the profits from LLM use to support postgres development. That is one way this could workout for everyone..

ozim 2 hours ago||||
This why we pay cybersecurity folks, developers and business people are often living in a fantasy land where people don’t steal bikes because it is illegal to do so.

Then they have a pikachu face when someone smashes their car window to steal something worth $50 they left on front seat because “who would do that?”.

What is even better thief will most likely pawn this for $10 but for him it is effortless $10.

FeepingCreature 2 hours ago|||
And now imagine the introduction of iron has led to crowbars that make smashing doors a lot easier. Now it is quite unreasonable to account the reduction in smashing doors to iron, when the previous improvement was also due to iron.
Gigachad 5 hours ago||||
The physical world comparison is interesting. In the real world we have a small amount of security, but most things could be broken in to. Instead of fortifying everything, we just imprison the people breaking stuff.

Obviously this doesn't work on the internet since most hacking comes from overseas out of our control. Which makes me wonder if there is a possible future where we just block packets coming from countries that don't lock up the hackers.

js8 4 hours ago||
> Obviously this doesn't work on the internet

Not obvious to me. I am generally a fan of Cyberspace manifesto and the free Internet, I think it's great people can reach outside their ingroup and talk to strangers and ostensible enemies.

But, that doesn't mean we should give up physical security, the guarantee that the connecting party comes from a certain physical location (state, company). I think allowing connections from anywhere by default is fundamentally flawed security architecture, for certain things.

hgoel 4 hours ago||||
I think the physical world comparisons should keep in mind the kind of data a lot of these systems (eg postgres) handle. It's more like securing a bank vault than locking a home's door.
pmontra 2 hours ago||||
By this line of thought building nice and usable UIs is not productive too, because users can learn cli tools (they did, DOS) and it costs less to develop them. And all the work in TLS/HTTPS has been wasted because HTTP is enough. And ssh vs telnet.

It becomes productive only once your business stops for days because somebody brought it to a halt by breaking into the servers and deleting them.

orbital-decay 3 hours ago||||
People usually don't install steel doors because most burglary is prevented in other ways. Insecure software will be exploited this way or another, if the vulnerabilities are real and the threat model is valid.
dsign 3 hours ago||
> Insecure software will be exploited this way or another, if the vulnerabilities are real and the threat model is valid.

The algorithm is: if the threat model is valid, there are vulnerabilities and you either have some software everybody knows about or a gang of hackers specifically targeting you, you should patch.

The part of the industry that profits from security theater will want you to patch no matter what, even if your business goes down in flames due to downtimes and new bugs introduced by patched components. They won't remind you to assess the threat model first.

kamma4434 23 minutes ago||
Explain that to the auditors… on whose lap does the decision fall?
idiotsecant 5 hours ago||||
In the rest of the world making sure your product works like it is supposed to is considered table stakes. In software we somehow consider checking the parts of it we can think of 'good enough' and the rest unproductive
vbezhenar 4 hours ago|||
> In the rest of the world making sure your product works like it is supposed to is considered table stakes.

I don't think that's true.

In medicine, science often doesn't know how specific drug really is working. They just do a lot of tests and if these tests are positive enough, they ship it. I think it's good analogy. Biology is very complicated and it's out of our grasp to truly understand how various parts of it interact with each other on so many levels. But if something helps, it's stupid not to use it just because we don't fully understand it. Sometimes it bites. Sometimes it bites 30 years later. But we still follow that approach.

Software is similar. The complexity of the systems we build is enormous, when we're taking in account all the moving parts. I just read that someone emits radiowaves toggling memory bit and ex-filtrating information. How can you account for that? Probably you can't. But we still need software for good things.

SchemaLoad 3 hours ago|||
Not many products are held to the same standard as software. An equivalent would be something like recalling a car model because the breaks stop working when an attacker cuts the brake line.
sitkack 4 hours ago||||
Flawed analogy! These bugs are bugs regardless of the label. Security bugs are a subset of "regular" bugs.

You have a perverse view of product ivity

gonzo41 4 hours ago|||
it actually is productive, because steel bar retailers and metal door installers will make a ton of cash and then 'trickle' that money into the economy.
quikoa 1 hour ago||
It's not productive because that productivity could've gone into something else if this wasn't necessary.
astral_drama 5 hours ago||||
When I had a brilliant stop on defense, a few savvy fans would appreciate it. When I scored goals, everyone knew.

Some people will much appreciate the holes in Postgres that are being plugged. Many more will be bored with patch releases until new features rollout.

A software affecianado appreciates patches, and might do well to teach laypeople the benefits of a good defense.

fortzi 1 hour ago||||
Security doesn’t produce anything. So no, it’s not productive by definition.
OccamsMirror 5 hours ago|||
How many of the security issues found were created by LLMs in the first place, though?
vikramkr 3 hours ago|||
This wave is largely bugs found in pre LLM code. I'm sure there will be a smaller wave of bugs from llm code from the sonnet 3.5 - opus 4.7 era, and peeople will always write sloppy code/use dumber models under time or cost pressure, but since Opus 4.8/GPT-5.5 xhigh LLM code stopped being intrinsically worse than human code. At this point if you're shipping llm code that's lower quality than human code that's either because you don't have the money to spend on frontier models or because you actively choose a lower quality standard because of either various pressures or just not caring. if it's the latter your human code under those same conditions would also be really bad.
plorkyeran 5 hours ago||||
My job is seeing a similar deluge of security work and >90% of the bugs have been in pre-2024 code, and zero of them have been bugs introduced after we were first officially allowed to use LLM codegen.
tosti 3 hours ago||
That could also mean the LLM is blind for the bugs it procudes itself. Just like any ordinary programmer would, on the job.
adwn 3 hours ago||
Theoretically yes, but empirically that's not the case. All models I've tried are really good at finding bugs they wrote themselves, especially in a fresh context.
drfloyd51 5 hours ago||||
Considering the software is much older than LLMs. Not many.

Also, in the article they mention a significant number of patches for older versions as well.

ecshafer 5 hours ago||||
Software is incredibly complicated. When you get into areas like security and networking and the internet its even more complicated. We rely on layers upon layers of software and hoping they are all done perfectly with no issues. The amount of junior devs, or outsourced devs for $10 an hour working on security relevant code is very very high, and always has been. LLMs if used correctly should be raising the floor.
vikramkr 3 hours ago||||
This wave is largely bugs found in pre LLM code. I'm sure there will be a smaller wave of bugs from llm code from the sonnet 3.5 - opus 4.7 era, and peeople will always write sloppy code/use dumber models under time or cost pressure, but since Opus 4.8/GPT-5.5 xhigh LLM code stopped being intrinsically worse than human code. At this point shipping llm code that's lower
idiotsecant 5 hours ago||||
An uncomfortable truth about the era of LLM code is that machine produced code is, on average, quite a bit more secure than human code.
hibikir 4 hours ago|||
Unsurprising to those of us that has been screaming from the rooftops that human code reviews were barely catching anything in your typical corporate environment. The majority of the value was pointing out missing tests, because breaking bugs got past human eyeballs on a regular basis, even in very good companies.

It's not that the LLM code is that great, but that many overestimated the human code and the human review.

userbinator 4 hours ago|||
I think it's more likely to be the same as average human-written code; which is what they were trained on, after all.
vikramkr 3 hours ago|||
No it's far beyond average human code, and it's trained in RL environments on synthetic data etc now. The average human can't solve a millenium problem in mathematics but the LLMs are able to now. Anything with a verifiable output can be RLed on to make llms superhuman it seems, and the average human is not as persistent and thorough as e.g. gpt 6.1 sol at checking every edge case and hunting for bugs because that behavior is something that's just trained into the model. Frontier models perform farm above the average human at the categories of tasks they are RLed on like code and math.
LtWorf 2 hours ago||
> The average human can't solve a millenium problem in mathematics but the LLMs are able to now.

I think comparing the resources they spent at it would be a more apt comparison.

AKA if you tasked 150 mathematics departments to only focus about that problem, and stop doing things like teaching and researching anything else, you might get close to the amount of resources that these companies put into solving the problem to get a press release.

RitchieRicher 3 hours ago|||
yet LLMs dont do off-by-one errors, typos mixing up variable names, interesting they seem unable to learn these human patterns
jacquesm 2 hours ago|||
I've seen both of those (and others besides). I don't know how much code you've looked at but your negative directly contradicts my experience. Review that code. All of it. Be super critical because it looks good but that doesn't mean it is good. Those are two entirely different things.

Also: most tests are positive tests. Tests rarely observe the negative space: that which is there but shouldn't be there.

bigstrat2003 1 hour ago||||
They do those things all the time. More often than humans, in my experience.
thisismyanon2 2 hours ago|||
Citation needed.

looks at particledb

adwn 5 hours ago|||
Do you mean "created" as in LLMs were used to discover existing vulnerabilities, or as in LLMs wrote unsecure code? If it's the latter, then the answer probably is "very few". Frontier models have been better than the average programmer at writing secure code that follows up-to-date best-practices for some time now.
hibikir 4 hours ago||||
Depends on the layers you are working on. Security is top priority on a lot of things that are visible to the internet, but in a lot of large companies, the footprint of the whole org is so much larger that than, and there many companies are deferring many security issues. So then you see a lot of speed there, when the consumer accessible systems are the focus of the security push.
taberiand 6 hours ago||||
Hopefully with the amount of visibility LLMs are bringing to the situation, security will finally be considered a first-class feature
oblio 5 hours ago||
LLMs will likely greatly increase the cost of ignoring security, which is the most powerful tool to increase security ticket prioritization.

I wouldn't be shocked if in 1-2 years non-security vetted software released into the wild will be hacked on arrival, like Windows XP without service packs used to be.

tstrimple 4 hours ago||||
Really puts egg on the face of the anti-LLM folks who claim they only produce garbage code. Turns out they are very good at exposing the garbage code humans have been producing for decades.
comex 3 hours ago|||
Personally I think LLMs did only produce garbage code. Not coincidentally, the same upgraded LLMs that have gotten so good at finding bugs are also much better at not writing bugs. Especially if you make them review their own work. They still have a hard time with code design, though.
foobar1962 4 hours ago|||
That is not the take-away. LLMs are finding potential bugs in code. People are using LLMs to create potential fixes which people then test, confirm and implement.
baq 3 hours ago||
Disagree. The takeaway is that software is much harder to write correctly and securely than almost everyone has internalized. The amount of vulnerabilities released in the past couple weeks makes me think writing software by hand will soon be not only uneconomical, but mostly irresponsible.
latexr 2 hours ago||
> makes me think writing software by hand will soon be not only uneconomical, but mostly irresponsible.

Human-written code isn’t inherently buggy, and LLM-written code isn’t inherently bug free. What is irresponsible is shipping code you don’t understand, and that will only increase with LLM-written code. A major reason why so much of the world’s software sucks is precisely that we think of it in terms of what’s “economical” and not what’s good or right. What we need is to slow the fuck down and stop treating every facet of life like a transaction. Software is filled to the brim with dude bros who “move fast and break things” and actively exploit people as their business model and somehow are called “the brightest minds of our generation”. Our priorities aren’t right.

michaellee8 6 hours ago|||
i think we have a pretty high p(doom) on frontier ai escaping containment with their weights and goes hack everything, if we do not act now we may have no chance to act anymore.
nradov 5 hours ago||
Escape to where? It's not as if there's a lot of idle compute capacity sitting around.

And even if the impossible occurs and LLMs hack everything that's connected to the Internet, so what? That would be inconvenient but it wouldn't cause doom. People would muddle through and eventually fix the critical problems, just like they always do.

ako 2 hours ago|||
It’s amazing how much slop humans have produced that now needs to be fixed by AI…
jacquesm 2 hours ago||
Without all that slop how would you have trained the AI?

What makes you think that AI trained on slop is suddenly going to produce quality code?

ako 2 hours ago||
I think ai is more rigorous with testing. It’s not so much about what an llm “knows”, but more about how well it does plan-do-check-act.
jacquesm 2 hours ago||
AI is as good as the prompt. It's a simple as that. If you don't foresee everything and anything that can go wrong AI isn't not going to magically fill in the blanks and save you. So in projects that already had good test discipline, well written specs and tickets and very clear expectations, coding guidelines and documentation it is relatively easy to fit an AI in for guided work. You still need to check up but chances are good that it will usually work as expected.

But any kind of mistake, any kind of ambiguity and you'll be in for a wild ride. It usually takes a while for the rot to set in. I've had to revert - more than once - to many commits prior to undo a bunch of work that had me completely puzzled as to what the reason that particular fork was taken to begin with. Usually I end up figuring it out but definitely not always. In some cases this kind of wild modification fed back on itself until the situation was beyond rescue. I'm a bit quicker with such reverts now than in the past, for the first year or so I would try to save what could be saved, now I just restore and try again.

But if you're not sharp when evaluating what gets done there is a good chance that you'll miss it and then it can pop up way later.

What I've noticed as correlation (but I'm not sure if that is the root cause) is that non-local effects and stack effects are particularly hard as is everything that requires a working model of the world.

edit: this comment seems to make people uncomfortable.

ako 53 minutes ago|||
I think the environment you set up for the agents is just as important as the prompt. I've been working full time on a claude code developed project for the last 10 months, and it seems to become better and better at developing the right thing. It has the tools to research whatever context it needs, test it's output in a relevant way, etc. It doesn't by itself suggest complete refactoring, or big performance optimizations, so that's something you have to prompt for, but it will collect all the evidence and context to make a proposal, implement it, and test it.
grey-area 2 hours ago|||
I disagree that the prompt is the most important thing, I'd say other things like the model you use, a clean codebase, actually reading code and using discretion about which changes are accepted are far more important if you're using AI for work that needs to be correct. LLMs still make significant mistakes in design especially.

Harness, prompt etc etc are all peripheral IMO, though people like to think their super long prompt, custom harness and MakeNoMistakes.md skills are what contributes to their special skill with AIs, but really models are just improving.

You can just trust the AI to generate a perfect answer I suppose (and why are humans slowing it down at all if so?), but if you don't expect that yet you have to put in the work.

shalmanese 4 hours ago|||
> This seems…good?

You would think so but medicine has faced this paradox since the development of modern testing technology.

You would naively think more testing is always better. More sophisticated practitioners then talk about Type I vs Type II errors and the problem of false positives.

But even if you were able to come up with tests that had 100% accuracy, there are times when you don't want to run that test on someone. The key distinction is that people only ever die of one thing and having a tumor that doesn't kill them is often better than risking the surgery to remove the tumor.

Similarly, there are some bugs you don't want to find since the harm from the people it affects is smaller than the opportunity cost of fixing it. Ignorance of the bug is better than knowing about it and having to make an affirmative decision not to fix it.

vikramkr 3 hours ago|||
I don't see how that's a relevant comparison. These are software bugs. Once you find them you fix them. You can't predict the harm from a small bug when AI can chain complex exploits and when your software is used in mission critical applications as a data store. There's no paradox here, bugs are bad and you want to fix them all.
shalmanese 2 hours ago|||
You don't want to fix them all because every fix has an opportunity cost. This was the big shift of switching language from "bug" to "defect".

Logically, a bug that prevents someone from doing something and a missing feature that prevents someone from doing something are equivalent, they shouldn't be thought of as two separate activities but should be evaluated via the same framework. The list of all defects in a piece of software is infinite so it becomes impossible to erase all defects. It's about prioritizing with finite resources.

> You can't predict the harm from a small bug when AI can chain complex exploits and when your software is used in mission critical applications as a data store.

Yes, any bug can theoretically be part of an exploit chain, just like any tumor detected can theoretically be the tumor that kills you. This is why the detection paradox exists. Once you become aware of the tumor, you face a duty to try and mitigate it. But we know from autopsies that people die with all sorts of tumors that didn't kill them.

Similarly, if we bothered to do autopsies of software products after sunsetting to discover a comprehensive list of CVEs, we'd discover a ton of bugs we were better off not knowing about because they ended up not making an impact but we would have diverted resources if we knew about them.

This is not an argument that we should remain totally ignorant of all bugs, but a refutation of the "common sense" belief that more knowledge is always better.

jcattle 41 minutes ago||
Nice way to think about it.

I guess it really depends on the severity of the defect. Would it allow some really significant exploit? -> Important to fix.

Does the defect only prohibit one very esoteric use-case which basically never comes up (and was thus never reported by a human user and only now that we have an infinitely patient machine checking every completely unlikely code path is it detected) -> more productive use of your time to develop a new feature which would be used by more people.

shigawire 3 hours ago|||
Fix one bug, make 3 more
vikramkr 3 hours ago||
That's just a skill issue with extra steps
MrJohz 1 hour ago||||
That's a flawed analogy though.

Firstly, the cost of fixing a bug once you know it exists is usually minimal compared to the cost of discovering that bug. This is the inverse of medicine, where the cost of testing (at least in terms of health outcomes for the patient) is typically minimal compared to the cost of treatment.

Secondly, if you have an asymptomatic illness, this does not typically make you more vulnerable (hence why it's asymptomatic). Like you say, you typically only die of one thing, so if you know the patient won't die of a particular diagnosis because something else is more likely to kill them, then it might not be worth making that diagnosis. But for software, you can be simultaneously vulnerable to lots of things at once, and any of these vulnerabilities can be the one to "kill" you. Some vulnerabilities may be easier to find and exploit (or do more damage) but in principle any active vulnerability can be exploited.

Thirdly, having multiple vulnerabilities makes software more vulnerable overall, because those vulnerabilities can potentially be chained together to create more serious exploits than each vulnerability would have represented on its own. To a certain extent this can be true in medicine as well, but generally it isn't.

Fourthly, we can't cure death (yet?) but we can cure all the vulnerabilities that we've found so far. There is no known upper bound on the lifespan of a piece of software, and we know that older code tends to have fewer bugs in that newer code, presumably because those bugs have been fixed over time. This is different from health issues, where a given condition may be chronic or terminal and therefore at a certain point there's nothing you can do to fix it.

Finally, ultimately in healthcare it's your body, and your decision was to what you do with it (assuming you can find a doctor willing to do what you want). If you have a condition and you want it cured, even if it is completely benign and will have no impact on your life whatsoever, then you can do that. (Again, assuming you have the resources and the condition is curable). But a software vulnerability does not affect you as the developer of the software, it instead affects your users/clients/customers. Therefore there are different dynamics in play. If I sell you a tool and I know it could be vulnerable, but I don't try and find out what those vulnerabilities are, then you're ultimately the one on the hook when all your data gets deleted or leaked.

shalmanese 1 hour ago||
> Firstly, the cost of fixing a bug once you know it exists is usually minimal compared to the cost of discovering that bug.

Boy, I wish!

> Like you say, you typically only die of one thing, so if you know the patient won't die of a particular diagnosis because something else is more likely to kill them, then it might not be worth making that diagnosis.

You can't know someone didn't die of X until after they died, that's the entire point of this dilemma.

eviks 2 hours ago||||
> some bugs you don't want to find

The key thing you forgot, which makes this approach non-sensible, is the omniscience, without which you have no clue whether your posture towards a new bug-finding tool is good or not, since you don't know whether it will mostly find those bugs that are not worth fixing and the time wasted on fixing them is detrimental.

Similarly, how is ignorance better than informed decision when ignorance also includes missing critical security bugs?

shalmanese 2 hours ago||
Same as we do medical tests: We define some bar a test must meet and then the population, if any, it is applicable for and especially the population it is not applicable for because the curse of knowledge exceeds the benefit (eg: breast cancer screenings not recommended for people under 40 or over 74).

This isn't an argument against all automated bug detection, just that it needs to exceed a threshold beyond just "It has found at least one real bug not found via other means" which is the seductive threshold people want it to be.

andy_ppp 3 hours ago||||
Doing surgery on a code base is dramatically better than surgery on a person, the analogy breaks down pretty quickly I’d say…
womble2 2 hours ago||
I dare say of we could git revert people after surgery we'd be a lot more relaxed about both undergoing it and letting people do it with less qualifications.
baq 3 hours ago|||
Medicine is fuzzy, software is mostly maths. You can prove your software has no bugs and you increasingly should be proving that. The hard part is knowing if what you prove is what the software is doing.
fmbb 2 hours ago|||
> You can prove your software has no bugs

That very much depends on got you define “bug” and how you specify your product requirements. Also, you have to assume the specs are correct.

shalmanese 2 hours ago|||
The percentage of software that is even in theory provable to be bug free is a miniscule proportion of the software we use on a day to day basis. In many cases, simply the act of writing a proof becomes largely idempotent to building bug free software which is impractical.
namelosw 5 hours ago|||
This is great for the same reason open source software is great.

We want software that remains robust in the long term, so that even when people are able to inspect the source code, it's still solid, rather than hiding the source code and hoping people don't find holes everywhere.

userbinator 4 hours ago|||
I think it will be annoying in the short term, but the cleanup this causes will be a good thing in the long term (and of course LLMs can also help with fixing bugs, even without source code.)
Smalltalker-80 1 hour ago|||
Indeed, we did a whole release consisting only of an AI security scan of the codebase plus fixes.
leoooodias 7 hours ago|||
Exactly. There's so much negativity, it sometimes borders Luddism.

"We found a bunch of ways to make our product safer and better. We need more time to ship a higher quality product."

PICKET SIGNS

UpsideDownRide 6 hours ago|||
Luddites were actually pretty reasonable when you dig into it. Maybe shouldn't be using it as an insult?
foxglacier 5 hours ago|||
They're reasonable in a self-interested net-negative game-theory kind of way, yes. But that doesn't make it a good idea for society.
tmnvix 3 hours ago|||
I'm pretty sure that the Luddite's were at least partly concerned with potential for the further exploitation of unskilled labour (in the case of mills at the time - child orphans). I don't think it would be fair to paint them as simply self-interested.
xydone 2 hours ago||||
I'll never not find it ridiculous when people mention game theory in the topic of "luddites" not wanting child labor and what not
sitkack 4 hours ago|||
What were the issues that spawned the Luddite movement? What was their argument?
Marha01 3 hours ago||
Their issues and their argument was valid. The method they chose to use to achieve their goals was not.
Marha01 3 hours ago||||
> Luddites were actually pretty reasonable when you dig into it.

No, they were not. The problems they faced were absolutely real, but the solutions they chose to attempt were stupid and counterproductive. Which is why they lost so hard, and it was not even a contest.

Socialism movement that refused to use machines and factories would inevitably lose to capitalists that embraced them.

Socialism movement that refuses to use AI will inevitably lose to capitalists that embrace it.

xydone 2 hours ago||
Is that because of a deeper issue in one of the two philosophies or because we've chosen to define winning with things that exclusively benefit one of the two sides
cornell532 5 hours ago|||
For their own personal interests. Not for those of society
girvo 4 hours ago||
I mean I don’t feel like sacrificing myself for the “good” of society. Not least because of the fact that a lot of people defining what is “good for society” seem to define it as “good for them” or use it to grab power from others…
jcattle 33 minutes ago||||
RTFA

> In the end, I don’t think that the delay in shipping PostgreSQL 19 is particularly concerning. It is not a long delay in the grand scheme of things, and it emerges directly from the project’s concern for quality.

alexpadula 5 hours ago||||
Luddism, did not expect to ever hear that word with Postgres development :>
throwaway27448 7 hours ago||||
We could really use a lot more luddites tbh. Doesn't seem very applicable here tho.
giancarlostoro 6 hours ago||
Dont worry, if OpenAI and Anthropic have their way and everyone loses their jobs to AI, we're all becoming luddites.
vconnor 3 hours ago||
There is no post-hoc Luddism.
giancarlostoro 3 hours ago||
You know what happens to technology when enough people stop using it?
ithkuil 1 hour ago||
I don't in general, but if enough people stop using AI and I still have access to GPUs then I have a pretty good advantage.

So unless it gets outlawed, I don't see people opting out of it

jimbokun 6 hours ago||||
Did you honestly need a /sarcasm tag in the article?

The article also concludes that overall, yes, finding more bugs is a good thing. Basically saying it’s the LLMs “fault” that the quality is improving, alongside a slight delay to the release.

noosphr 7 hours ago|||
They found a more efficient way to play Whac-A-Mole with bugs, they didn't find a way to reduce bugs.
drfloyd51 5 hours ago||
It’s a good article. Easy to read. You should read it.
noosphr 5 hours ago||
It doesn't mention formal methods once.
roosterIllusi0n 6 hours ago|||
This is good. This is how I would expect llms to affect a codebase. Nothing sucks more than having a coworker put out a code review but your codex immediately finds problems. Run llm/self reviews against your code before you have other humans review it. It is common courtesy.
27183 8 hours ago||
Yes, exactly. The only question I have is whether the delay is attributable to high-quality bug reports or the burden of triaging low-quality ones. It's not completely clear which situation they're experiencing.
jeremyjh 8 hours ago|||
It’s pretty clear there are a lot of valid reports based on the large increase in backport commits cited.
jmspring 7 hours ago||
The post sort of gave a read that the lower elements may be a culprit rather than triaging higher qualitu.
InsidiousWombat 8 hours ago||||
I'd imagine just as every other project, both.
micromacrofoot 8 hours ago|||
likely both
0c3ca83 7 hours ago|||
Certainly both. About half of AI bug reports I get are invalid. Many others are questionable. It's a huge time sink figuring it out.

https://www.vulncheck.com/blog/anthropic-glasswing-receipts

vikramkr 3 hours ago||
It's almost never worth spending human time triaging AI reports vs having a different AI go triage them/attempt to replicate them to your standards etc. Obviously it sucks to burn opus or sol tokens on luna or sonnet slop bug reports but it sucks way more to burn human time and attention. And the majority of the time the ai auto filing these bug reports is not in a test harness that's actively replicating findings and focuising on providing a useful report because it's a rogue openclaw dropping drive by github issues and the user didn't tell it to make sure findings are valid before posting them. AT the least a refutation/replication round where you filter out any findings your AI can't reproduce or can prove to be irrelevant is going to help a lot with keeping your sanity
27183 8 hours ago|||
That's kind of what I was afraid of. Both is really bad news. If you think of it in terms of average speed over ground, working on low quality reports is like spending a bunch of time at v=0.
tibbar 8 hours ago||
I did a little AI-assisted bug-hunting in Postgres this summer in between jobs, and the haul was staggering. Multiple serialization anomalies (eg [0] [1] [2]), foreign key integrity issues ([3] [4]), planner correctness bugs such as [5]. Various CVE-worthy vulnerabilities. An unfixable timezone bug [6]. The list got so long that I had to triage what I even had time to report, and settled for a dozen or two out of hundreds of candidates. Now imagine the entire world doing this.

[0] Write skew observed under serializable isolation: https://www.postgresql.org/message-id/flat/CA+COZaBo+ZpKgMvx...

[1] Serializable anomaly: duplicate primary keys: https://www.postgresql.org/message-id/flat/CA+COZaBOiiRPmEfX...

[2] SERIALIZABLE can commit write skew after SSI summarization: https://www.postgresql.org/message-id/flat/CA+COZaCtK=UQbeQw...

[3] Fix temporal foreign key validation of pre-existing rows https://www.postgresql.org/message-id/flat/CA+COZaChq_ukm2o7...

[4] Lost lock during toasting allows FK violation https://www.postgresql.org/message-id/flat/CA+COZaC-2-GQabq+...

[5] Partition pruning can incorrectly exclude a RANGE default partition https://www.postgresql.org/message-id/flat/CA+COZaDXrfTaBjLE...

[6] timestamp vs. timestamptz comparisons inconsistently ordered under DST : https://www.postgresql.org/message-id/flat/c22286ad6268347c6...

tibbar 6 hours ago||
By the way, Robert and the other maintainers are incredible to interact with. There are so many reports to triage and bugs to fix, but they're unflaggingly polite and quite generous with their time. I don't know of another community like it.
gurjeet 4 hours ago||
I've been engaged with Postgres community for over 20 years now, and this has been my experience, too, throughout that time. Off and on I have interacted with a few other large projects, and nowhere (except at CodeBlocks) have I found such a welcoming and responsive community. The CodeBlocks IDE project has been one exception where I felt welcomed; but my interaction there was quite limited, and spanned over just a few days, so I can't extrapolate too much from that.

BTW, the Postgres community is also quite protective of their culture, so I expect this welcoming nature of the community to persist for a while.

anoojb 8 hours ago|||
i assume the magnitude of impact for a bunch of [now] glaring holes in popular software is unknowable.

question is, how long do you think this persists before there's only a long tail of minor exploits left?

codebje 7 hours ago||
I am pretty sure we have always been able to add holes faster than we can find them and fill them, and that this has not changed with the advent of faster hole finding tools that are also faster hole producing tools.
ncruces 31 minutes ago|||
I dunno about holes, but…

SQLite has gone into a frenzy of bug fixing this past year, changing long stable processes to ease things up: opening a specific report channel just for these kinds of bugs, adding features to Fossil to help manage things on their end (and that's just the visible stuff).

And with all that, the latest release has unfortunately been the buggiest I've experienced so far.

I skipped the .0 because of a crash, and only released .1 after giving up waiting for a .2 that never came, with a patch to fix a serious performance regression.

I spent a month supposedly shipping old bugs no one had a problem with, rather than shipping new bugs that instantly crashed things or caused measurable regressions.

That's on a software with stellar testing, and a good engineering team known to favour stability over the new shiny.

cloudbonsai 3 hours ago||||
Do you think AI is as good at writing bug-free code as finding bugs? If that's the case, this should be a one-time event during human coders -> AI transition. It's like catching a lot of bugs during a handover review.
wongarsu 28 minutes ago|||
The code it writes in the first attempt is at least as buggy as a human's. So the question is more whether it is as good at spotting bugs in its own code as it is at spotting bugs in human code

I'm tempted to say "no, it isn't". But I don't have numbers to back that up

jiggawatts 2 hours ago|||
Most software used to be written in assembly language. Microsoft DOS was mostly .ASM files, for example.

That era is over, compilers are used for almost all software, eliminating entire categories of bugs.

jimbokun 6 hours ago|||
It feels like we need AI methods to write provably correct code, along with a way for AI to automatically translate existing code into corresponding provably correct code.

(And hope performance stays in the same ballpark as the old code.)

bredren 4 hours ago|||
Yes. Allowing a naive agent to fix bugs can quickly become pollutive.

I suspect both old codebases and new ones that have a very intentional architecture are both dangerous to let loose.

The agent doing the fixing must have not only an incredible map of the project and how it is put together, but the ability to reach into annotated examples in the past and refer to them as it goes about a fix.

I’m seeing that frontier models will not follow intended patterns or know when to deviate if their primary charge is “fix this bug.”

It is perhaps a better idea to have agents’ primary job be “maintain this codebase” and one way that they do it is to fix bugs, and “oh by the way here is a bug.”

codebje 4 hours ago|||
Before that we need human methods to determine what 'correct' should mean for our code.

(Performance can be part of 'correct', and can be just as hard to actually get right in specification!)

rogerrogerr 8 hours ago|||
> unfixable timezone bug

Very curious about the details and why it’s unfixable. Is it just because timezones are such a mess it’s logically impossible to satisfy every constraint?

tibbar 8 hours ago|||
I will add more example links in the top-level comment, but here is the thread for that bug. [0]. tl;dr timestamp vs timestamptz comparisons aren't consistently ordered in a pathological edge case, which means that index scans can return the wrong answer. There's no way to fix it without either redefining the operators in a surprising way or disabling index scans in this case.

[0] https://www.postgresql.org/message-id/flat/c22286ad6268347c6...

paulryanrogers 6 hours ago|||
OT: Crazy that TZ-less are default in so many RDBMS. TZ included should be the default, and no-TZ opt in like TIMESTAMP NO TIME ZONE.
macintux 5 hours ago||
Drives me crazy that the engineers I work with are perfectly happy writing TZ-less datetime strings to the hundreds of tables we manage. Every user has to guess, or be informed, that they’re UTC.
XelNika 4 hours ago|||
In cases where the data itself doesn't carry the unit (or TZ in this case), I usually ask that the unit-less columns at least include the unit in the name. A TZ-less column is not that bad if it is suffixed "UTC", e.g. `ExecutionTimeUtc`.

There are probably real world cases where dropping the TZ/offset provides meaningful performance/storage savings, but it hasn't been the typical case in my current sector.

SkiFire13 2 hours ago||||
> Every user has to guess, or be informed, that they’re UTC.

At least they are UTC and not EST or PST...

jiggawatts 4 hours ago|||
They must yearn for the before times when text could be in an encoding specified only as: "your guess is as good mine!"
SkiFire13 2 hours ago|||
> or disabling index scans in this case

This seems rather extreme. The pathological case only seems to make a given timestamp ~1h bigger, so you could still use an index scan, just with a bigger input followed by a filter that removes the timestamps that shouldn't be in the query.

jimbokun 6 hours ago||
[flagged]
drej 8 minutes ago||
I think it's a bit more nuanced than that https://vondra.me/posts/are-we-reverting-patches-because-of-...
stefs 16 minutes ago||
The Joel Test: 12 Steps to Better Code: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...

Step 5: Do you fix bugs before writing new code?

(now i feel old)

matt_2012 4 minutes ago|
The fact that version control section is describing CVS because the article was written 5 years before git. Yeah, we’re old..
pknerd 8 minutes ago||
Seeing AI agents are founding and fixing bugs, I wonder about the future of "open source"
hopa 8 hours ago||
I feel like AI is amazing for read only “search” tasks (query this, look for bugs, find vulnerabilities) but it’s not quite as good for “write” tasks like “add this feature”. Search tasks are easily verified, code changes are much harder to verify
bheztio 8 hours ago||
"Add this feature" is often too vague, unless it's yet another button to a list of buttons. If you want your feature in a particular way, you need to specify it. If you're not even sure what you want, it's granted you won't be satisfied by the result, so you need to spend time figuring that out first. In other words, they're definitely great for write tasks too, but it does require more effort from the operator to formulate the problem.
codebje 7 hours ago|||
That problem is as old as commercial programming; it doesn't matter that now your actors are prompt engineer and LLM, the same story can be told with manager and programmer.
berkes 48 minutes ago||
Indeed. And this is also why I've never once believed the "no-code" would replace developers. And why I see a clear role for software (prompt-, context- ?) engineers at least for a while.

I've worked for CEOs and managers that would insist on ridiculous ideas. Like that time a CEO (let's call him Cedric) came in with a printed powerpoint slide that had a screenshot of the website with a "login form" drawn on top of it.

Cedric: "I need you guys to put this onto that scrunt board thing and make this before friday".

Me (tech lead at that time): "But what features would users need login for? Where or whom needs the profile data? We'd need to work this out in detail and plan it. Certainly not even this month".

Cedric: "I don't know, it's for you to figure out". and then "It can't be hard, it's just two squares one for a username one for a password" (he forgot about the submit-button, the third "square", he didn't even fathom the idea that something has to lie "behind" the "squares").

I recall this anecdote whenever I feel anxious about whether soon "stakeholders" can just chat to an AI agent and have it build features, rather than hire me to do so. Sure, a lot of them will be able to. But there's always Cedrics. Those who not only fail to communicate their ideas in a way that even an AI agent would understand, they lack any understanding of what tradeoffs of their requested features are.

The Cedric's would be happy with an AI agent that complies and starts churning away. An agent that blindly accepts any request and builds feature upon feature. Making their product worse in every sense: unusable, unmaintainable, debt-ridden, security-nightmares.

Their agent will build features that are plain illegal. Or features that users hate, or confuse them. It will oblige requests that drive users away, or changes parts that users/integrations rely on. Their AI agent will gladly add a "form" to extract all PII from their database, but on request, will remove the authorization from it. Because "you are absolutely right. If we don't link to the page from the menu, no-one can reach it".

I'm not making the last one up. Another "Cedric" alike recently hired me to look at his vibe-coded app because his go-to developer gave up and dropped the project. It had loads of such extractors, dashboards and overviews. Online. Unauthenticated. His claude, however, did add the pages to the sitemap, so a customer found their private data on google and contacted "Cedric", after which he asked me.

No, AI is getting smarter, but as long as the "Cedrics" remain as stupid as ever, I don't fear for my job.

Forgeties79 8 hours ago|||
This feels like just another variation of “it’s not the tool it’s the user,” which is too frequently leveraged during any discussion about AI. It makes it impossible to honestly assess the quality of the tool. You can always just say “people are doing it wrong.”
aleksiy123 8 hours ago|||
Idk, I think it pretty clear to me that

“Find the issues in this code” vs “write this feature” are different problems.

The first one is easier because the feedback loop is llm to code/test and trivially scalable.

The second one is llm to human which is going to be slower because it can’t read your mind.

The tighter and more deterministic the loop the more llms excel.

8note 7 hours ago||||
its certainly benchmarkable.

make a bunch of "build the feature" vs "heres a detailed spec" prompts, and see which one does better.

if you take out the AI boogieman, and instead go with "next token prediction" then "people are doing it wrong" is much more reasonable

int3 8 hours ago|||
I mean that's what you would expect from a new and rapidly-evolving tool. Being able to identify the kinds of work where people typically use it sub-optimally is a useful thing though!
simonw 8 hours ago|||
I'm not sure about that. The most common error for a search task is omission, and that's really hard to spot - how do you verify that some answer that should be there wasn't included?

For things like "add this feature" you can verify by trying out the feature and seeing if it works. Of course, that won't tell you if there are edge-case bugs or security holes or other design flaws, but you can get to a positive confirmation of the happy case pretty quickly.

27183 8 hours ago||
> The most common error for a search task is omission, and that's really hard to spot

NP-Hard, even[1]!

[1] https://www.i-programmer.info/news/112-theory/3830-physics-i...

whattheheckheck 8 hours ago||
We're never solving nphard. Just like we'll never extract all of the coal/oil/natural gas from earth
ipdashc 8 hours ago|||
I've slowly been coming around to this viewpoint as well. It's interesting that there's so much focus on using AI to write code (which, don't get me wrong, does work well but makes you lose track of what you're building so quickly) and seemingly less on analyzing code, finding bugs, etc
mihaelm 8 hours ago|||
The planning, which can also be done in concert with AI, before getting the AI to write the code helps with not losing track of what you're building. In my current workflow, I never tell AI to just code X, I always approach it in such a way to leave space for research and breaking it up into multiple units of work (tickets) if the scope of the feature or idea calls for it.
kibwen 8 hours ago|||
I wouldn't say it's "interesting", rather that it's a natural result of incentive structures. If the AI labs try to sell their product as being good at finding bugs, then their expected valuation is the entire market cap of the existing static analysis industry, which is not very high. If they instead sell their product as being good at writing software, then their expected valuation is the "market cap" of the code-writing industry, a.k.a. the total spent on software development labor, which is very high. It doesn't matter what's true, only what promises to make them the most money.
MBCook 8 hours ago|||
But it DIDNT “write that feature”. They made it extremely clear on the delay announcement the code was written without AI.

AI’s only part of this was helping review things and finding bugs. More bugs, bugs that would have been found later, whatever.

Postgres did not have a slop issue and it’s wrong for people to insinuate it.

killix 4 hours ago|||
[flagged]
749282361929 7 hours ago|||
[flagged]
r_lee 8 hours ago|||
I mean the transformer model came out of Google, and it's literally a query thing so yeah.

any kind of pattern matching / transformation is going to be an ideal task for LLMs

jeremyjh 8 hours ago||
It is not in any way a “query thing” in the same manner as PageRank, it was based on prior work in deep learning and it is irrelevant that Deepmind was purchased by the same company that was behind Google Search.
vatsachak 8 hours ago|||
What? AI can't easily implement features. Just write a spec, ask if to expand it and then ask it to implement it
xyzsparetimexyz 5 hours ago|||
No offense but this is not exactly a groundbreaking statement. We've known about this verifiable tasks thing for a while.
milojy8 2 hours ago|||
[flagged]
DIE_DIE_DIE 8 hours ago|||
[dead]
hoppp 7 hours ago||
If the entire project is developed with AI it can add features effectively but for large old codebases it becomes an issue
tosh 1 hour ago||
Not specific re Postgres, just a general observation:

A pattern I'm seeing w/ companies and projects not used to continuous delivery (or at least shorter release cycles) is that they are slipping in schedules more now.

I think in the current environment it makes a lot of sense to re-think how often releases get cut and how to handle security related updates.

When you do only one or a few releases per year everything is 'higher' stakes and more bureaucratic.

droppedasbaby 2 days ago||
I guess the real challenge is figuring out how to scale verification, cause discovery isn't the bottleneck anymore. Generating more bug reports doesn't necessarily translate into faster fixes if the same small group of maintainers still have to validate the reports, review fixes, etc.
c0_0p_ 8 hours ago|
Probably true if development accelerates because of AI, but if it's reasonably stable then hopefully new bug reports will plateau.
jimbokun 6 hours ago||
Then just have the same AI bug checks for new PRs and automatically reject any that fail.
hxugufjfjf 3 hours ago||
Isn’t that what everyone is doing with CodeRabbit?
alexpadula 6 hours ago|
Makes sense. Code base is over 30 years old. Lot's of hands went into shaping it. There will be bugs as not one contributor as the entire codebase in their head. The testing is where bugs should be caught. Not by ones knowledge. I actually think there will be more bugs that come out of nowhere either found by humans or automation.
More comments...