MurphyA/hacker-news huggingface dataset:
by susam | 2026-03-14 20:38:43+00:00
It is a bit weird to see LLMs suddenly being presented as the reason to follow what are basically long standing best practices.

'You must write docs. Docs must be in your repo. You must write tests. You must document your architecture. Etc. Etc.'

These were all best practices before LLMs existed and they remain good practice now. I have been writing extensive documentation for all my software for something like twenty years now, whether it was software I wrote for my tiny open source projects or for business. I will obviously continue to do so and it has nothing to do with:

> AI changes the game

The reason is simply that tests and documentation are useful to other humans working on the codebase. They help people understand the system and maintain it over time. If these practices also benefit LLMs then that is certainly a bonus, but these practices were valuable long before LLMs existed and they remain valuable even now regardless of how AI may have changed the game.

It is also a bit funny that these considerations did not seem very common when the beneficiaries were fellow human collaborators, but are now being portrayed as very important once LLMs are involved. I'd argue that fellow humans deserved these considerations even more in the first place. Still, if LLMs are what finally motivate people to write good documentation, I suppose that is a good outcome since humans will end up benefiting from it too.
by lioeters | 2026-03-14 20:38:57+00:00
I've been learning to use WebAssembly directly, by hand-writing the Lisp-like assembly text, and also compiling C to Wasm without Emscripten or LLVM. It's given me a deeper appreciation for the original specification, version 1. Its technical design is a solid foundation, a lot of good thought went into it: Briging the Web Up to Speed With WebAssembly - https://github.com/WebAssembly/spec/raw/refs/tags/wg-1.0/pap...

In a way it's a complete instruction set and bytecode format, that could have been frozen in time and still be a useful addition to x86, ARM, RISC-V. It's great that the Wasm v1 specs is small enough for various implementations to arise. There are Wasm interpreters written in C, Zig, Go, Rust, as well as Wasm to C compiler, disassembler, little languages that compile to Wasm.. I see great value in that simplicity and smallness, it's a big reason for its cross-platform and cross-language compatibility.

That's why newer features in the specs after v1, like garbage collection, components, interfaces, feel like they're higher-level abstractions that are not so relevant for my use case. Some feel like they could be developed outside of Wasm specs, like you said, dissolved at compile time to existing primitives. I'm guessing much of the benefit is for integrating with Rust ecosystem, and perhaps other languages gradually.
by malklera | 2026-03-14 20:39:08+00:00
You see the complaints; people rarely praise a product; they just use it.

An IDE is a tool. What do you want to use the tool for? Put that as a priority and say no to everything else.

If the IDE is for you, look at the other editors and pick and choose each thing they do and decide how (or if) you want to do it. Are you happy with the result? That is a win. If somebody comes along with ideas/complaints, tell them no.
by tempestn | 2026-03-14 20:39:15+00:00
I'm not sure a billionaire building a bunker is much different from you or me buying fire insurance. It's not that I expect my house to burn down, and it certainly won't prevent me doing everything I can to prevent fires. Even with it, my house burning down would be really bad. But I can afford the insurance, so why not have what protection I can?
by anyfoo | 2026-03-14 20:39:35+00:00
I feel like that was super common. Apart from changing the volumes of entire channels (e.g. changing the level of Line In vs. digital sound), volume was a relatively “global” thing.

And I’m not sure if that was still the case in 1997, but most likely changing the volume of digital sound meant the CPU having to process the samples in realtime. Now on one hand, that’s probably dwarfed by what the CPU had to do for decompressing the video. On the other hand, if you’re already starved for CPU time…
by sparkie | 2026-03-14 20:40:13+00:00
I'm not an academic and have extensive experience with parsing.

But for whataver reason, VPAs have slipped under my radar until very recently - I only discovered them a few weeks ago and have been quite fascinated. Have been reading a lot (the citations I've given are some of my recent reading), and am currently working on a visibly pushdown parser generator. I'm more interested in the practical use than the acamedic side, but there's little resources besides academic papers for me to go off.

Thought it might be interesting to share in case others like me have missed out on VPAs.
Ask HN: What was it like for programmers when spreadsheets became ubiquitous?
by yodaiken | 2026-03-14 20:40:20+00:00
There have been a lot of attempts to move more of programming to end-users instead of professional developer over the years. Spreadsheets are interesting because they were a massively successful version of this and because of course we are living through the latest wave (AI/vibe coding).

For those of you around when spreadsheets were taking off, what was it like? Was there fear that they would eradicate the need for professionally built software? Were there people who brushed them off as just toys?
by zozbot234 | 2026-03-14 20:40:44+00:00
> I am a landlord.

> I am setting prices for renewal.

Landlords do not really set prices arbitrarily, especially not in HCOL areas where most of the cost is land rent. The rent is set by the market, and if there's a new UBI only a negligible fraction of it will go towards rent. Rents might even decrease since any given UBI amount will go a lot further in a lower-COL area, which incents people to move out (reversing gentrification dynamics) and creates future opportunities for job creation in these economically depressed areas where such opportunities are most clearly needed.
by pirrational | 2026-03-14 20:40:53+00:00
I’ve been experimenting with visualizing the digits of π in a spatial way.

Pirrational turns the infinite digits of π into explorable 3D rooms. Each room corresponds to a digit, so the sequence becomes a kind of map you can navigate.

The project started as a visualization experiment but gradually turned into a shared space where visitors can explore, draw, and chat inside these “pi rooms”.

Some technical pieces behind it:

- Three.js / WebGL rendering
- procedural room generation from π digits
- distributed π computation
- Cloudflare Durable Objects for shared room state

Still very experimental and evolving.

Curious what people think about the idea of using mathematical constants as a kind of virtual world.
by abetusk | 2026-03-14 20:41:27+00:00
The bot problem can be solved.

Anubis is one such answer [0]. Cryptocurrency and micro transactions are another.

In the last few decades, spam was a problem because the marginal transaction costs of information exchange were orders of magnitude lower than they had been. Note that physical mail spam was, and still, is an issue. Focusing on perceptual or fuzzy computation as the limiting factor, through captchas and other 'human tests', allowed for most spam to be effectively mitigated.

Now that intelligence is becoming orders of magnitude cheaper, perceptual computation challenges no longer work, but we can still do computation challenges in the form of proof of work or proxies thereof. Spam will never wholly go away but we can at least cause more friction by charging bot networks to execute in the form of energy or money.

[0] https://github.com/TecharoHQ/anubis
by cmyk_student | 2026-03-14 20:41:34+00:00
It's because each transform was "destructive" (like filters use to be by default). What link & vector layers do instead is store a transform matrix, so each transform just updates the matrix instead of actually re-rasterizing the layer each time.

We were hoping to expand that feature to all layer types for 3.2, but we ran out of time to properly test it for release. It'll like be finished for the next minor release.
by hermannj314 | 2026-03-14 20:43:07+00:00
Preventable medical errors kill 250,000 American every year, I can imagine LLMs could be both good and bad for that number, but on net, it is hard to say without just guessing. But if you ban the application of LLMs to medical care, you close that door before even seeing the potential on the other side. I think that is absurd.
by MadnessASAP | 2026-03-14 20:43:29+00:00
All TOS essentially boil down to "we owe you nothing and can change the product at anytime to anything we want at our sole discretion"

Obviously it would be unreasonable to accept such terms without further context. The further context in this case being that Anthropic will maintain Claude as an AI agent and seek to improve it's performance. What is at the heart of this issue is whether or not Anthropics recent A/B testing violated that context. Not whether or not they violated the TOS (they didn't, obviously)
by cogman10 | 2026-03-14 20:43:32+00:00
Yup. Development companies contract when the housing market contracts. They aren't building houses for the fun of it, they are building them because they believe the 100 houses they build in a hot market will ultimately pay back the land purchase rights. They will never build so many houses as to decrease the cost of a home.

I actually got my home from a developer right after the housing bubble. They confided in me that they were giving away these homes pretty much at cost and that they had to fire a huge portion of their staff because the market was just crap at the time.

Really, the only way to actually achieve that is through the state ownership and build out. The state could also spend a premium on building homes that it sells at a loss or rents at lower rates. But that will be pretty unpopular with the general public.
Show HN: Docgen – A C++ AI CLI to solve documentation hell with local LLMs
by alonsovm | 2026-03-14 20:44:37+00:00
Hi HN,

I’m a solo dev who got tired of the "documentation hell", either spending hours writing docs that immediately become outdated, or having no docs at all. I wanted a tool that treats documentation generation as a standard build step, so I built Docgen.

Docgen is a lightweight AI CLI tool written in C++ that automates docs-as-code. It sits in your repo (via a .docgen folder and a Docfile) and generates Markdown files next to your source.

A few technical details on how it works under the hood:

- Local-First & Private: It defaults to using Ollama locally so your proprietary code never leaves your machine (though it supports cloud APIs like OpenAI/Gemini if you prefer).

- Smart Incremental Builds: It uses content hashing. When you run docgen update, it only regenerates docs for files that actually changed, saving massive amounts of API credits and compute time.

- Context-Aware (RAG): It automatically analyzes #include dependencies to give the LLM the right context, rather than just blind-feeding it a single file.

- Zero Dependencies: Compiled as a single static binary. Just download and run.

- The "Auto" Mode: This is my favorite part. If you run "docgen auto", it acts as a file watcher with a built-in debounce (waits a few seconds after you stop typing/saving). It quietly updates your Markdown docs in the background while you stay in your flow state.

I’m currently focused on improving the RAG context handling.

You can check it out here: https://github.com/alonsovm44/docgen

I'd love to hear your thoughts, critique on the architecture, or any edge cases you think I should handle!
by thrance | 2026-03-14 20:44:42+00:00
During a press conference yesterday, Hegseth, the secretary of war, received a question on Iran from CNN that he didn't feel the need to answer, and then went on a rant about how he can't wait for Ellison to buy the network and rid it of any opposition to the regime [1]. He literally spelt it out.

Free press in the US is already dead, all media belongs to conservative pedophile oligarchs who use it to manipulate the masses and push their warmongering narratives.

> All those free speech advocates are a bit quiet on this, wonder what happened to them.

There are no principled free speech advocates on the right, only people who have an issue with the media not being completely controlled by their side. Their silence then makes perfect sense: they are getting exactly what they wanted.

[1] https://www.reuters.com/business/media-telecom/pentagon-chie...
by jeremychone | 2026-03-14 20:44:50+00:00
Very good point. I had two options:

1) Deterministic

- Using a tree-sitter/AST-like approach, I could extract types, functions, and perhaps comments, and put them into an index map.

- Cons:

- The tricky part of this approach is that what I extract can be pretty large per file, for example, comments.

- Then, I would probably need an agentic synthesis step for those comments anyway.

2) Agentic

- Since Flash is dirt cheap, I wanted to experiment and skip #1, and go directly to #2.

- Because my tool is built for concurrency, when set to 32, it's super fast.

- The price is relatively low, perhaps $1 or $2 for 50k LOC, and 60 to 90 seconds, about 30 to 45 minutes of AI work.

- What I get back is relatively consistent by file, size-wise, and it's just one trip per file.

So, this is why I started with #2.

And then, the results in real coding scenarios have been astonishing.

Way above what I expected.

The way those indexes get combined with the user prompt gets the right files 95% of the time, and with surprisingly high quality.

So, I might add deterministic aspects to it, but since I think I will need the agentic step anyway, I have deprioritized it.
by sneak | 2026-03-14 20:45:18+00:00
Sex work is work. They’re not being coerced. There’s no more or less dignity to it than being a waitress or checkout clerk. It’s no more or less disgusting than being a hospice nurse or a garbage collector.

It’s just a job.

Jobs are not inherently fraudulent, however. A deal is a deal, and this is plainly fraud.

It is unfair to the purchaser, and it is not unfair to the people who voluntarily accept these jobs (when other jobs are obviously available).
by Hizonner | 2026-03-14 20:45:58+00:00
Nobody's "selling it" as more reliable than it is. People are assuming it's more reliable than it is.

> People by nature are lazy and will take shortcuts given an opportunity.

So, um, the fact that humans are behaving incompetently means we should shift the responsibility onto a machine?

Suppose a human had looked at some crappy surveillance video from hundreds of miles away, and told the primary investigator "that looks like it could be her; you might want to check it out". Would that human be the most responsible person in the chain? The moron who took that as gospel and actually made an arrest has no agency at all here?

Come on, a facial recognition match? Facial recognition probably shouldn't be used because it's bad when it works, but everybody with a functioning synapse knows that facial recognition is going to get lots of false hits.
by orthoxerox | 2026-03-14 20:46:23+00:00
Escorting is more similar to OF than to "real" dating. In both cases the "service provider" pretends to be a perfect match for the customer, actively molding their persona to fit them. The more someone interacts with such tailored experiences the harder it is to adjust to the "real" experience.

Which is probably fine if you're a successful man in his 40s who has more time than money and treats escorting as a shortcut. Not so fine if you're a man half his age who is struggling to find a partner.
by TheOtherHobbes | 2026-03-14 20:46:33+00:00
Golf clubs are super niche and self-selecting.

There are almost no spaces left which are easily discoverable by "analog" means without relying at all on social media.

The UK used to have a very strong pub and club culture. That's been collapsing for most of this century - some of it helped by government legislation.

This hasn't changed direction recently.

https://www.stevestewartwilliams.com/p/graph-of-the-day-how-...
by idle_zealot | 2026-03-14 20:46:38+00:00
> This is misguided. Maintenance of LLM code has a far greater cost than generating it.

I agree. I'm just observing what they're doing.

> I don't think that's even a thought. The thought is that "no one can tell me no".

I doubt there's any one thought driving things. I didn't mean to imply the existence of some grand strategy or scheme. The preference I speak of isn't of any person, it's the direction pointed at by incentives and circumstance. Companies will make decisions to steer clear of helping competitors. Separately, they signal great interest in replacing costs spent on labor with costs spent on services. See the transition to cloud. The result is the preference of a world where code is like gasoline, purchased from a handful of suppliers for metered cost.
by tombert | 2026-03-14 20:46:44+00:00
I have had hiring managers tell me that, almost verbatim actually, when I forgot about the interview and showed up significantly late.

I was embarrassed and yeah I admit that it wasn’t exactly fun to be called out like that, but I would much rather they say that than for them to pretend everything is fine, let me leave the interview thinking I didn’t annoy them, and then have it be a mystery as to why I am declined.

I felt embarrassed in the moment, and I should feel embarrassed. It is very rude and inconsiderate to not show up to meetings that you agreed to show up for and it signals that you don’t take the other person’s time very seriously.

To be clear, it wasn’t like I was being pedantic to the second; I know Zoom and Google Meet can be finicky so I understand being a minute or two late for a meeting and I generally don’t say anything if they are within the “my fucking microphone isn’t connecting gotta fix it” threshold.
by jmward01 | 2026-03-14 20:47:29+00:00
When I start a new project with a team I start off with asking 'how we will work' and part of that is 'how we will communicate'. Less is more in that world. Jira, confluence, github, slack, email, standup, ad-hock meetings, bongo drums, etc etc. The more places you communicate the harder it is to keep everyone on the same page. I have always been a fan of putting docs next to code for this exact reason and, as far as I can tell, it has been the right decisions every time.

With AI code assistants I personally spend 90% of time/tokens on design and understanding and that means creating docs that represent the feature and the changes needed to implement it so I can really see the value growing over time to this approach. Software engineering is evolving to be less about writing the code and more about designing the system and this is supporting that trend.

In the end I don't think AI hasn't fundamentally changed the benefit/detractor equation, it is just emphasizing that docs are part of the code and making it more obvious that putting them in the code is generally pretty beneficial.
by cogman10 | 2026-03-14 20:47:50+00:00
> Competition between landlords is almost nil

In fact, collusion with the likes of yeildstar is the name of the game. Everyone is setting prices based on what the algorithm tells them to set prices and they all benefit from that uprise in prices because there's basically no competition decreasing the price.

There's also been a steady consolidation of ownership of rental units which also artificially increases prices.

There's a reason nowhere in the country at this point has affordable housing.
by kergonath | 2026-03-14 20:48:16+00:00
How it works is, if you have two files foo.gz and bar.gz, and cat foo.gz bar.gz > foobar.gz, then foobar.gz is a valid gzip file and uncompresses to a single file with the contents of foo and bar.

It’s handy because it is very easy to just append stuff at the end of a compressed file without having to uncompress-append-recompress. It is a bit niche but I have a couple of use cases where it makes everything simpler.
by codemog | 2026-03-14 20:48:35+00:00
As soon as MCP came out I thought it was over engineered crud and didn’t invest any time in it. I have yet to regret this decision. Same thing with LangChain.

This is one key difference between experienced and inexperienced devs; if something looks like crud, it probably is crud. Don’t follow or do something because it’s popular at the time.
by dsjoerg | 2026-03-14 20:48:37+00:00
Strongly agreed. However, some developers have trouble writing clearly and reading lots of text, and therefore prefer oral and interactive + real-time transmission of the information. Those developers, I suppose and hope, are discovering that they can talk out loud to their agents, explain everything interactively, and then the agent can create whatever longer-term artifact it wants to record the understanding. Multi-modal interfaces FTW?
by jollyllama | 2026-03-14 20:49:36+00:00
> Centralization is Key

> (I preface that this is primarily relevant for orgs and enterprises; it really has no relevance for individual vibe-coders)

The thing about tools that "democratize" software development, whether it is Visual Studio/Delphi/QT or LLMs, is that you wind up with people in organizations building internal tools on which business processes will depend who do not understand that centralization is key. They will build these tools in ignorance of the necessity of centralization-centric approaches (APIs, MCP, etc.) and create Byzantine architectures revolving around file transfers, with increasing epicycles to try to overcome the pitfalls of such an approach.
Show HN: Json.express – Query and explore JSON in the browser, zero dependencies
by udidu | 2026-03-14 20:49:47+00:00
I've been working on a browser-based JSON tool that supports a query language with dot notation, array slicing, wildcards, and recursive descent (..key). It also auto-generates TypeScript interfaces from your data.
Everything runs client-side — your data never leaves the browser. The entire app is a single HTML file with zero dependencies.
You can compress your JSON + query into a shareable URL, which is useful for bug reports or sharing API response structures with teammates.
Would love feedback on the query syntax and anything else. https://json.express