Hacker News with Generative AI: Software Development

AI Can't Even Fix a Simple Bug – But Sure, Let's Fire All Our Engineers (nmn.gl)
Reddit discovered the funniest thing in tech this week, and it shows exactly how broken the AI narrative is.
A Run of CRDT Posts (jhellerstein.github.io)
Over the next few days, I'm going to post a number of observations about CRDTs: Convergent Conflict-free Replicated Data Types. These are data structures that aspire to help us with coordination-free distributed programming, a topic that interests me a lot. How can developers (or languages/compilers) deliver distributed programs that are safe or correct in important ways, without employing expensive mechanisms for coordination that make the global cloud run as slowly as a sequential computer?
Async from scratch 3: Pinned against the wall (natkr.com)
So, we've covered polling. We've tackled sleeping (and waking). Going back to the definition, that leaves us with one core concept left to conquer: pinning!
Practicing graphical debugging using visualizations of the Hilbert curve (akkartik.name)
For a while now I've been advocating for a particular style of programming: Use tools that don't change too often. Use tools that don't keep historical accidents around indefinitely. Minimize moving parts. Avoid additional third-party libraries, and forswear native libraries entirely.
Some Life Lessons from VAX/VMS (2013) (davewentzel.com)
JEP 519: Compact Object Headers (openjdk.org)
Change compact object headers from an experimental feature to a product feature.
Building software on top of large language models (simonwillison.net)
I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they needed to get started writing code that makes use of LLMs.
An upgraded dev experience in Google AI Studio (googleblog.com)
Google AI Studio is the fastest place to start building with the Gemini API, with access to our most capable models, including Gemini 2.5 preview models, and generative media models like Imagen, Lyria RealTime, and Veo. At Google I/O, we announced new features to help you build and deploy complete applications, new model capabilities, and new features in the Google Gen AI SDK.
Collaborative Text Editing Without CRDTs or OT (mattweidner.com)
Collaborative text editing is arguably the hardest feature to implement in a collaborative app. Even if you use a central server and a fully general solution to optimistic local updates (server reconciliation), text editing in particular requires fancy algorithms - specifically, the core of a text-editing CRDT or OT.
Qt Bridges: Hiding C++ and bringing Qt UI to any language (devclass.com)
At the Qt World Summit in Munich the Qt Company, maker of a widely used UI framework, unveiled its plan to bring Qt UI to any programming language, starting with Java, C#, Rust, Swift and Kotlin, and extending a technology that already exists for Python.
Show HN: OpenHands, an open source alternative to Devin, Codex, and Jules (github.com/All-Hands-AI)
Welcome to OpenHands (formerly OpenDevin), a platform for software development agents powered by AI.
Things that have a bigger impact than coding assistants (wordpress.com)
Here are 5 factors that make a bigger difference to software development outcomes than “A.I.” coding assistants, but teams don’t address because they’re “old news, granddad!”
Ship Code to Kubernetes in Seconds: How mirrord kills 30-min CI Loops (metalbear.co)
For cloud-native applications, moving code from a developer’s local machine to a staging or testing environment is rarely straightforward.
AI can't replace devs until it understands office politics (theregister.com)
AI can't replace devs until it understands office politics
Modern Python Boilerplate – good package basic structure (ycombinator.com)
TL;DR: Python Boilerplate repo for fast package building with all best practices
How we made our OCR code more accurate (pieces.app)
Discover how Pieces enhanced its optical character recognition (OCR) engine to improve accuracy, speed, and real-world application for software developers.
Rust turns 10: How a broken elevator changed software forever (zdnet.com)
Rust 1.0 shipped in May 2015. Here's how it came about and why it marked a turning point in the world of software development.
Disabling kernel functions in your process (2009) (chadaustin.me)
Detecting and reporting unhandled exceptions with SetUnhandledExceptionFilter seemed logical, and, in fact, it worked... for a while. Eventually, we started to notice failures that should have been reported as a last-chance exception but weren't. After much investigation, we discovered that both Direct3D and Flash were installing their own unhandled exception filters! Worse, they were fighting over it, installing their handlers several times per second!
The value isn't in the code (2022) (jonayre.uk)
Okay, I’ll admit that calling your software worthless was a shameless clickbait tactic. However, I will assert that it’s not as valuable or indispensable as you might think it is. You need two things to solve a problem using software, skill and time.
Open Source Maintainers Demand Ability to Block Copilot-Generated Issues and PRs (socket.dev)
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Why Good Programmers Use Bad AI (nmn.gl)
AI code generation is error-prone. Why, then, are programmers still using it?
I spent 15 years developing a tool to make sense of software version numbers (ycombinator.com)
Over 15 years ago, I had a strange idea: what if software version numbers weren’t just arbitrary labels, but followed deeper patterns - almost like coordinates in a space?
Allow us to block Copilot-generated issues (and PRs) from our own repositories (github.com/orgs)
Ask HN: When do you just give up and ship it? (ycombinator.com)
Products are never really finished, they're always evolving and growing and changing, for better or worse. At what point do you draw the line, call it quits on further breaking changes, and ship it? Asking for a friend.
Ask HN: Don't You Mind That LLMs Are Mostly Proprietary? (ycombinator.com)
I'm not sure if it's just me getting older or what, but something strikes me as odd about the future of programming and software engineering: LLMs are impressive, but you have to pay to use them.
The Ignorability of Attributes in C++ (brevzin.github.io)
Attributes turned out to be unsuitable for solving problems because they are ignorable. I found this a very frustrating introduction to read. Because, on the one hand, it’s true — C++ attributes are, today, completely unsuitable for solving any problem. How did we actually get into this situation? How did we decide that attributes must be useless?
Jonathan Blow on Removing Dependencies (twitter.com)
Something went wrong, but don’t fret — let’s give it another shot.
A Zero-Level Set Preserving Technique for SDF Computation (jcgt.org)
Vibe coding is changing the indiehacker landscape (wonderful.dev)
Greenspun's 10th rule and the sad state of software quality (github.com)
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.