MurphyA/hacker-news huggingface dataset:
I write and ship code ~20–50x faster than I did 5 years ago
by EGreg | 2025-12-30 19:19:55+00:00
I’ve been meaning to write this up because it’s been surprisingly repeatable, and I wish someone had described it to me earlier.

Over the last year or so, my development speed relative to my own baseline from ~2019 is easily 20x, sometimes more. Not because I type faster, or because I cut corners, but because I changed how I use AI.

The short version: I don’t use AI inside my editor. I use two AIs in parallel, in the browser, with full context.

Here’s the setup.

I keep two tabs open:

One AI that acts as a “builder”. It gets a lot of context and does the heavy lifting.

One AI that acts as a reviewer. It only sees diffs and tries to find mistakes.

That’s it. No plugins, no special tooling. Just browser tabs and a terminal.

The important part is context. Instead of asking for snippets, I paste entire files or modules and explain the goal. I ask the AI to explain the approach first, including tradeoffs, before it writes code. That forces me to stay in control of architecture instead of accepting a blob I don’t understand.

A typical flow looks like this:

1. Paste several related files (often across languages).

2. Describe the change I want and ask for an explanation of options. Read and summarize concepts, wikipedia, etc.

3. Pick an approach. Have extensive conversations about trade-offs, concepts, adversarial security etc. Find ways to do things that the OS allows.

4. Let the AI implement it across all files.

5. Copy the diff into the second AI and ask it to look for regressions, missing arguments, or subtle breakage.

6. Fix whatever it finds.

Ship.

The second AI catches a lot of things I would otherwise miss when moving fast. Things like “you changed this call signature but didn’t update one caller” or “this default value subtly changed behavior”.

What surprised me is how much faster cross-stack work gets. Stuff that used to stall because it crossed boundaries (Swift → Obj-C → JS, or backend → frontend) becomes straightforward because the AI can reason across all of it at once.

I’m intentionally strict about “surgical edits”. I don’t let the AI rewrite files unless that’s explicitly the task. I ask for exact lines to add or change. That keeps diffs small and reviewable.

This is very different from autocomplete-style tools. Those are great for local edits, but they still keep you as the integrator across files. This approach flips that: you stay the architect and reviewer, the AI does the integration work, and a second AI sanity-checks it.

Costs me about $40/month total. The real cost is discipline: always providing context, always reviewing diffs, and never pasting code you don’t understand.

I’m sharing this because it’s been a genuine step-change for me, not a gimmick. Happy to answer questions about limits, failure modes, or where this breaks down.

Here is a wiki-type overview I put together for our developers on our team:
https://community.intercoin.app/t/ai-assisted-development-playbook-how-we-ship-faster-without-breaking-things/2950
by badcryptobitch | 2025-12-30 19:20:51+00:00
One thing that many of these kinds of articles don't really talk about but that also emphasizes their point is that there will be an increase in interfaces/languages for software developers to do increasingly specialized for work. As such, there will be more compilers, vms, dsls, etc which means that there will be more of a demand for developers who have this skillset. Ideally, this should lead to more folks becoming developers or at least acquiring skills that professional developers have in order to make effective use of these tools.
by Alconicon | 2025-12-30 19:20:54+00:00
I own a Mustang Mach-E and I do not want to have weekly updates to my car software.

If you look at your updates, the FSD one is clearly a beta thing now for so long, of course you need to update regularly if you still change that much. Btw. Musk said 2014 that FSD will allow you to sleep in your Car while driving in 2023. Soooo?

Something like Grok was also added OTA in my Ford car. So yes they can do it apparently too.

Everything else just feels like gimicks I wouldn't want to have. I drive my car i do not play with my car. My car is not a gimmick.
by simonw | 2025-12-30 19:21:09+00:00
Have you spent much time with Codex 5.1 or 5.2 in OpenAI Codex or a Claude Opus 4".5 in Claude code over the last ~6 weeks?

I think they represent a meaningful step change in what models can build. For me they are the moment we went from building relatively trivial things unassisted to building quite large and complex system that take multiple hours, often still triggered by a single prompt.

Some personal examples from the past few weeks.

- A spec-compliant HTML5 parsing library by Codex 5.2: https://simonwillison.net/2025/Dec/15/porting-justhtml/

- A CLI-based transcript export and publishing tool by Opus 4.5: https://simonwillison.net/2025/Dec/25/claude-code-transcript...

- A full JavaScript interpreter in dependency/free Python (!) https://github.com/simonw/micro-javascript - and here's that transcript published using the above-mentioned tool: https://static.simonwillison.net/static/2025/claude-code-mic...

- A WebAssembly runtime in Python which I haven't yet published

The above projects all took multiple prompts, but were still mostly built by prompting Claude Code for web on my iPhone in between Christmas family things.

I have a single-prompt one:

- A Datasette plugin that integrates Cloudflare's CAPTCHA system: https://github.com/simonw/datasette-turnstile - transcript: https://gistpreview.github.io/?2d9190335938762f170b0c0eb6060...

I'm not confident any of these projects would have worked with the coding agents and models we had had four months ago. There is no chance they would've worked with the January 2025 available models.
by redox99 | 2025-12-30 19:21:43+00:00
It's the same idea, a narrated youtube video is meant to have the same volume throughout, while a movie is meant to have quiet and loud parts.

The problem, as you say, is that if you don't want to have loud parts, you lower the volume so that loud is not loud anymore, and then the quiet but audible parts become inaudibly quiet.

I consider this to be a separate issue to the lack of clarity of internal speakers, and a bit harder to solve because it stems from the paper thin walls common in the US and other places.

You can usually use audio compression to fix this if you can't play the movie at the volume level it's meant to be played.
by ogogmad | 2025-12-30 19:21:49+00:00
This might be why OpenBSD looks attractive to some. Its kernel and all the different applications are fully integrated with each other -- no distros! It also tries to be simple, I believe, which makes it more secure and overall less buggy.

To be honest, I think OSes are boring, and should have been that way since maybe 1995. The basic notions:

multi-processing, context switching, tree-like file systems, multiple users, access privileges,

haven't changed since 1970, and the more modern GUI stuff hasn't changed since at least the early '90s. Some design elements, like

tree-like file systems, WIMP GUIs, per-user privileges, the fuzziness of what an
"operating system" even is and its role,

are perhaps even arbitrary, but can serve as a mature foundation for better-concieved ideas, such as:

ZFS (which implements in a very well-engineered manner a tree-like data storage that's
been standard since the '60s) can serve as a founation for
Postgres (which implements a better-conceived relational design)

I'm wondering why OSS - which according to one of its acolytes, makes all bugs shallow - couldn't make its flagship OS more stable and boring. It's produced an

anarchy of packaging systems, breaking upgrades and updates,
unstable glibc, desktop environments that are different and changing seemingly
for the sake of it, sound that's kept breaking, power management iffiness, etc.
by bruce511 | 2025-12-30 19:22:23+00:00
"Economy" is a catchall word here. The answer to your question is dependent on your definition of economy.

A traditional economist might define it as "the velocity of money". In a "hot" economy there's a lot of (domestic) spending (and hence selling) going on.

But this definition says nothing about the lot of the average, or below average, individual. If a trillion $ moves from individuals to govt as tax, and the govt spends that tax, then by this definition this is a good economy.

Conversely if you use the word "economy" as a place holder for personal success / improvement, being able to buy a house, afford medical care, buy groceries, eat out, have a solid job with a decent wage, well, high taxes probably aren't great.

If taxes are high, then how the govt chooses to spend the money starts to matter. If it is pumped into domestic production (aka salaries) that can be good. If that production has meaningful long term benefits (like infrastructure) so much the better. Useless spending (like on border walls, ballrooms or silly boats) can have short term gains, but dissolve in the longer term.
by wtcactus | 2025-12-30 19:22:42+00:00
The facts are simple:

1. German authorities demanded GAB to disclosure the real identity of a user that called - a morbidly obese - politician, fat, so that they can persecute him.

Now, you can go on with your little show, pretending to be in your high horse where news that shows from Fox News don't count, so that you don't have to actually address the facts.

Yeah, nobody is falling for your childish argumentative strategy. Deny the actual facts if you dare.
by nemosaltat | 2025-12-30 19:23:48+00:00
I’ve started migrating all of my ~15 years of one-off python scripts to have this front matter. Right now, I just update when/if I use them. I keep thinking if were handier with grep/sed/regex etc, I’d try to programmatically update .pys system-wide. But, many aren’t git tracked/version controlled, just laying in whatever dir they service(d). I’ve several times started a “python script dashboard” or “hacky tools coordinator” but stop when I remember most of these are unrelated (to each-other) and un/rarely used. I keep watching the chatter and thinking this is probably an easy task for codex, or some other agent but these pys are “mine” (and I knew^ how they worked when I wrote^ them) and also, they’re scattered and there’s no way I’m turning an agent loose on my file system.

^mostly, some defs might have StackOverflow copy/pasta
by fao_ | 2025-12-30 19:24:20+00:00
> Community, All the HN belong to you. This is an archive of hacker news that fits in your browser.

> 20 years of HN arguments and beauty, can be yours forever. So they'll never die. Ever. It's the unkillable static archive of HN and it's your hands

I'm really sorry to have to ask this, but this really feels like you had an LLM write it?
by bitwize | 2025-12-30 19:24:25+00:00
The future of software development is systems analysts.

It was discovered in the 1970s (at the latest) that the hard part of software is figuring out WHAT to build not HOW to build it—and the two should be separate responsibilities with separate personnel bearing separate talents. (Do NOT let your programmers do systems analysis!)

Furthermore, it was discovered that without a clear, precise description of what to build, even the most talented programmers will happily use industry best practice to build the wrong thing, and that is worse than useless: it's a net cost to the business. This is something that programmers have in common with LLMs. So it turns out, in order to build software correctly and cost-effectively, you need to perform lots of systems analysis up front, then through a stepwise refinement process design and document your solution, yielding a detailed spec. It also turns out that LLMs, like human programmers, do just fine if you give them a detailed spec and hold them accountable to that spec!

So much of the "grunt work" of programming can be handed to the LLM—IF you perform the necessary systems analysis up front to determine what needs to be built! (Bryce's Law: Programming is a translation function, taking human-readable requirements to machine-executable instructions.)

As the AI era matures we are either going to see a revival of PRIDE—the original and still most complete software development methodology, but minus the programmers Milt and Tim Bryce loathed so much—or the entire collapse of software as a field.
Show HN: Hear Yourself – Free low-latency audio monitor for macOS
by gabrycina | 2025-12-30 19:24:28+00:00
LineIn by Rogue Amoeba was discontinued in 2017. The alternatives (Audio Hijack, SoundSource) cost $50-120 for a simple passthrough feature.

Built a free menu bar app that does one thing: routes your mic to your speakers with ~1.3ms latency.

https://github.com/gabrycina/hear-yourself
by avianlyric | 2025-12-30 19:24:37+00:00
> Americans are not used to the pin concept.

Nobody was. That's what happens when something new is invented, nobody is familiar with it until they're educated. Nobody in Europe were not used to the pin concept when Chip & PIN was originally created (except of course for access to ATMs, which I assume also existed in the US).

> my belief is that the US had much higher density of credit card adoption which significantly delayed EMV/Chip adoption - to give you an idea, even in the mid 90's a place that didnt take a credit card was an exception rather than common.

I don't know why you think Europe was any different, credit card adoption and acceptance in Europe matched that of the US in the 90s. Europe did take longer to hit the same levels of adoption as the US, but remember credit cards have been around since the 1950s, and were computerised in the 1970s. By the time you get to the 1990s, credit cards were pretty much ubiquitous across the entire western world. The US wasn't some futuristic bastion of banking technologies, if any thing, it was starting to fall behind. Today, US banking systems look comically outdated compared to anything you find in Europe.

Your "belief" for the reasons US banking tech lags so far behind the rest of the world are pretty easy to disprove with some fairly superficial research.
by bigstrat2003 | 2025-12-30 19:25:17+00:00
Depending on your house setup you might not be able to. My washer and dryer are in my basement, and I can't hear them at all (neither when they are running, nor the sound they make when they finish). Moreover, the timer listed on the machine when you start the cycle is not accurate (particularly for the dryer, which is frequently off by 30+ minutes). This means that I have no idea when my clothes are done except by going to the basement to check. That's not the end of the world, but it would be genuinely nice to be able to get them on my wireless network and have them send me a notification.

Perhaps that doesn't apply to you and how your home is set up. Fair enough. But that doesn't mean the use case doesn't exist.
by proof_by_vibes | 2025-12-30 19:25:22+00:00
I've been iterating on sodium bindings in Lean4 for about four months, and now that I've gotten to Ristretto255 I can see why the author is excited about its potential. Ristretto is a tightly designed API that allows me to build arbitrary polynomials on Curve25519 and I've been having a blast tinkering and experimenting with it! If the author by chance reads this, just want to say thank you for your work!
Show HN: AuthForge – open-source auth for AI agents (early preview)
by ashish_sharda | 2025-12-30 19:25:34+00:00
Hi HN,

I'm building AuthForge - authentication infrastructure for AI agents. Early preview at https://auth-forge-web-two.vercel.app

:
When AI agents need to access your tools (Slack, GitHub, Jira), how do you handle auth? Current options are expensive proprietary platforms or DIY OAuth with security risks.

:
- Zitadel for identity/SSO
- Ory Hydra for OAuth 2.1 (MCP-specific flows)
- Cerbos for policy engine (time/context-based rules)
- HashiCorp Vault for token management
- All Apache 2.0 licensed

:

Is this overengineered? Should I start with just basic OAuth + agent registry and add complexity later? Or is the enterprise stack necessary from day 1?

Background: 15+ years building infrastructure. Currently building AI agents and hitting auth pain points that existing solutions don't address.

: https://github.com/ashishjsharda/authforge
First docker-compose stack: ~2 weeks

Looking for honest technical feedback. Thanks!
by deltoidmaximus | 2025-12-30 19:25:50+00:00
IIRC Celeron cache being on die was actually faster as it was on die, this was mitigated on the Pentiums by there being more of it. It seemed like in games the faster cache performed better.

Another thing that helped the Celeron overclocking craze is Intel seemed to damage the brand badly out of the gate. The original Celerons had no cache at all, performed terribly and took a beating in PC reviews. So even though the A variants were much better this still had a stink on them.

The thing that probably helped the Celeron the most with overclocking though was they gimped them by only giving them a 66mhz front side bus speed. Since you had to increase this number to push the locked multiplier CPU speed up this was an advantage if you were going to overclock as you could buy a capable motherboard and run it at stable 100mhz. Whereas you'd have a lot more system wide problems trying to push a Pentium's 100mhz bus higher.
by zahlman | 2025-12-30 19:25:54+00:00
Fair.

The way I teach, I would start there; then you always have it as a fallback, and understand the system better.

I generally sort users into aspirants who really should learn those things (and will benefit from it), vs. complete end users who just want the code to run (for whom the developer should be expected to provide, if they expect to gain such a following).
by echelon | 2025-12-30 19:26:04+00:00
> What if elections are the problem?

Social media is the problem. We weren't this polarized until after the Bush admin, right as everyone on the planet got online.

Politics used to be civil. Republicans and Democrats in Congress used to go out to lunch together. Hyper online discourse and algorithms that boost rage ended that.

We're all being taught to foam at the mouth to increase screen time.
by coryrc | 2025-12-30 19:26:37+00:00
Today we scrape however many meters deep of soil and haul off to a landfill. I assume you'd scrape it up, run it through something to pull out everything bigger than a pebble. Wash the pebbles, the rinse water goes with the soil through the cleaning process.

Certainly what comes out of the machine will not be living.
by torstenvl | 2025-12-30 19:27:04+00:00
This is both factually incorrect and philosophically unsound.

Every asm or IR instruction is emitted by the compiler. It isn't a "doesn't say otherwise" kind of thing. Whatever the motivations are, the compiler and its authors are responsible for everything that results.

"if you're out of the spec's guarantees you get whatever emergent behaviour occurs" is simply and patently not factual. There isn't a single compiler in existence for which this is true. Every compiler makes additional guarantees beyond the ISO standard, sometimes due to local dialect, sometimes due to other standards like POSIX, sometimes controlled by configuration or switches (e.g., -fwrapv).
by simonw | 2025-12-30 19:27:22+00:00
Don't miss how this works. It's not a server-side application - this code runs entirely in your browser using SQLite compiled to WASM, but rather than fetching a full 22GB database it instead uses a clever hack that retrieves just "shards" of the SQLite database needed for the page you are viewing.

I watched it in the browser network panel and saw it fetch:

https://hackerbook.dosaygo.com/static-shards/shard_1636.sqlite.gz
https://hackerbook.dosaygo.com/static-shards/shard_1635.sqlite.gz
https://hackerbook.dosaygo.com/static-shards/shard_1634.sqlite.gz

As I paginated to previous days.

It's reminiscent of that brilliant SQLite.js VFS trick from a few years ago: https://github.com/phiresky/sql.js-httpvfs - only that one used HTTP range headers, this one uses sharded files instead.

The interactive SQL query interface at https://hackerbook.dosaygo.com/?view=query asks you to select which shards to run the query against, there are 1636 total.
by derefr | 2025-12-30 19:27:31+00:00
Kind of funny to realize, the NT kernel ABI isn’t even all that stable itself; it is just wrapped in a set of very stable userland exposures (Win32, UWP, etc.), and it’s those exposures that Windows executables are relying on. A theoretical Windows PE binary that was 100% statically linked (and so directly contained NT syscalls) wouldn’t be at-all portable between different Windows versions.

Linux with glibc is the complete opposite; there really does exist old Linux software that static-links in everything down to libc, just interacting with the kernel through syscalls—and it does (almost always) still work to run such software on a modern Linux, even when the software is 10-20 years old.

I guess this is why Linux containers are such a thing: you’re taking a dynamically-linked Linux binary and pinning it to a particular entire userland, such that when you run the old software, it calls into the old glibc. Containers work, because they ultimately ground out in the same set of stable kernel ABI calls.

(Which, now that I think of it, makes me wonder how exactly Windows containers work. I’m guessing each one brings its own NTOSKRNL, that gets spun up under HyperV if the host kernel ABI doesn’t match the guest?)
by tevon | 2025-12-30 19:27:39+00:00
The argument here doesn't hold up for me.

The author states "The formality and authority of serif typefaces are largely socially constructed, and Times New Roman’s origin story and design constraints don’t express these qualities."

Yes, formality and authority are both, quite literally, social constructs. There is NO "natural" or "universal" formality or even authority without human social input.

I would also argue that, though most users cannot distinguish between a serif and sans serif font, they DO understand the serif fonts connote formality. eg in high school they were told to submit their papers in a serif font, or where they read a court opinion they also read serif (even if not the same font).

Sure, the State Department could have selected a different serif font. But a reversion to what was previously used seems completely normal.

Secondarily, I do think Calibri looks far too casual for the State Department. Its what I would use if I were quickly printing out my notes...