AI-generated code can be useful in the early stages of a project, but it raises concerns in mature ones. Recently, a 280kloc+ Postgres parser was merged into Multigres (https://github.com/multigres/multigres/pull/109) with no public code review. In open source, this is worrying. Many people rely on these projects for learning and reference. Without proper review, AI-generated code weakens their value as teaching tools, and more importantly the trust in pulling as dependencies. Code review isn’t just about bugs, it’s how contributors learn, understand design choices, and build shared knowledge. The issue isn’t speed of building software (although corporations may seem to disagree), but how knowledge is passed on.
I oversaw this work, and I'm open to feedback on how things can be improved. There are some factors that make this particular situation different:
This was an LLM assisted translation of the C parser from Postgres, not something from the ground up.
For work of this magnitude, you cannot review line by line. The only thing we could do was to establish a process to ensure correctness.
We did control the process carefully. It was a daily toil. This is why it took two months.
We've ported most of the tests from Postgres. Enough to be confident that it works correctly.
Also, we are in the early stages for Multigres. We intend to do more bulk copies and bulk translations like this from other projects, especially Vitess. We'll incorporate any possible improvements here.
The author is working on a blog post explaining the entire process and its pitfalls. Please be on the lookout.
I was personally amazed at how much we could achieve using LLM. Of course, this wouldn't have been possible without a certain level of skill. This person exceeds all expectations listed here: https://github.com/multigres/multigres/discussions/78.
"We intend to do more bulk copies and bulk translations like this from other projects"
Supabase’s playbook is to replicate existing products and open source projects, release them under open source, and monetize the adoption. They’ve repeated this approach across multiple offerings. With AI, the replication process becomes even faster, though it risks producing low-quality imitations that alienate the broader community and people will resent the stealing of their work.
An alternative viewpoint which we are pretty open about in our docs:
> our technological choices are quite different; everything we use is open source; and wherever possible, we use and support existing tools rather than developing from scratch.
I understand that people get frustrated when there is any commercial interest associated to open source. But someone needs to fund open source efforts and we’re doing our best here. Some (perhaps non-obvious) examples
* we employ the maintainers of PostgREST, contributing directly to the project - not some private fork
* we employ maintainers of Postgres, contributing patches directly
* we have purchased and open sourced private companies, like OrioleDB, open sourced the code and made the patents freely available to everyone
* we picked up unmaintained tools and maintained them at our own cost, like the Auth server, which we upstreamed until the previous owner/company stopped accepting contributions
* we worked with open source tools/standards like TUS to contribute missing functionality like Postgres support and advisory locks
* we have sponsored adjacent open source initiatives like adding types to Elixir
* we have given equity to framework creators, which I’m certain will be the largest donation that these creators have (and will) ever receive for their open source work
* and yes, we employ the maintainers of Vitess to create a similar offering for the Postgres ecosystem under the same Apache2 license
"We appreciate your honesty! While our data shows a few unoptimized pauses, those afternoon naps, we’re happy to confirm your six-hour rest cycle remains respected. This isn’t just a device; it’s your partner in reclaiming every waking moment with seamless efficiency."
Not sure if this is the right place to ask, but why does Bluesky feel so much faster to load and interact with compared to X? On the surface, both have similar interfaces and equally rich content, yet Bluesky consistently feels snappier and more responsive, even though it’s the newer platform.
Newer is generally faster, hasn't had time to accumulate cludges and dead ends from years of evolution. The bigger factor though I would imagine is not having 100 tons of analytics tracking everything.
Iiirc, Twitter uses some mongrel version of React Native on the web. That's why you get the 3 seconds long loading thingie whenever you open a new tab.
Oh in that case bsky is basically the same stack, they happen to have a react-native-web app with Expo. Maybe its the dozens of analytics that is being processed every minute.
> “Computers aren’t the thing; they’re the thing that gets us to the thing.”
I used to be overly pedantic about the kinds of things programmers often obsess over—like micro-benchmarks, the whole “I use Arch, by the way” attitude, and other obnoxious quirks. But this quote stuck with me and helped me move past that shallow, one-upmanship view of computers. Great show to ones who haven't watched yet.
It's a great line. I think our current tech industry has forgotten this. You can't make a product for everyone but you can make an environment for everyone. Something that can be adapted for (almost) anyone.
Take the phone industry. They're happily gouging developers, taking large sums of app sales. But at the same time, a smart phone isn't a smart phone without apps. Everyone has different ones installed and ones they highly depend on that aren't from Apple/Google. It's the program that makes the tool.
But this kind of thing is happening more and more and can only happen because consolidation. It maximizes profits for today but at the cost of higher future profits and better products. It's funny how there was a strong counter culture early on but it feels like that was lost.
Thank you very much. As you mentioned, connecting via URI is not currently supported, but it’s not difficult to implement, so I will consider adding it to the specification.
Not surprising. This reminds me of HBO's Silicon Valley:
Ron LaFlamme: So Pied Piper, You're one of Peter's compression plays, huh?
Richard: One of? How many does he have?
Ron LaFlamme: Not too many, like six or eight.
Richard: Okay. Why are there so many?
Ron LaFlamme: You know how sea turtles have a s*t ton of babies because most of them die on their way to the water? Peter just wants to make sure that his money makes it to the ocean.
No! I'm super bummed. I had them burned to CD, but then a hot texas summer destroyed the CD. Although, like the cartoons I enjoyed as a child, my games are probably better off being remembered than actually re-read as an experienced software engineer. ;-)
Edit: Reference to the time it took to open the PR: https://www.linkedin.com/posts/sougou_the-largest-multigres-...