MurphyA/hacker-news huggingface dataset:
by ChrisMarshallNY | 2026-03-13 09:09:18+00:00
> Just this: are you willing to look stupid today? That’s it. That’s all there is to it.

That’s always been one of my strengths. I used to ask questions in classes, that would have the teacher look at me, like I was a dunce, and the rest of the students in stitches. It has always been important for me to completely understand whatever I’m learning. I can’t deal with “God said it, I believe it, and that settles it.” I have to really know why; not just what.

By the end of the class, the other students would be asking me for help, and no one was laughing at me. I tended to get good grades.

The worst teacher that I ever had, was a genius mathematician, who shut me down, when I did that. It was the only incomplete that I ever had. The best teachers would wince, but treat the question as a serious one.

One of the really nice things about using an LLM, is not having to deal with sneering.
by fisian | 2026-03-13 09:09:37+00:00
I think this is a great introduction to logical thinking and coding. The overcooked scripting layer looks awesome and very polished. Reminds me a bit of Scratch (the programming language).
Are you going to make it available to others?

There are also video games based on this concept, e.g. Bots are Dumb. So maybe your scripting layer it could even become its own commercial game.
by globular-toast | 2026-03-13 09:09:52+00:00
On the contrary, it's the machines that have the luxury of specialisation.

I'm faster than a car when scrambling up a mountain. It's easy to be fast when all you do is drive on smooth roads.

I'm stronger than a hydraulic press when carrying a load over a distance. It's easy to be strong when you're limited to a few centimetres of movement.

Intelligence of LLMs is a trick; they are literally trained to sound intelligent. But it's easy to sound intelligent when all you have to do is sound intelligent. A person has to live in the real world, deal with the weather, with feelings, stress, health and, above all, consequences. We don't have the luxury of just being able to sound intelligent, or have wheels that only work on smooth roads. We have to actually be intelligent in our actions. We have to traverse difficult ground, deal with obstacles we've never encountered before. When we make mistakes, people get hurt.
by JulianPembroke | 2026-03-13 09:10:51+00:00
The move from dual-bundler (esbuild + Rollup) to Rolldown as a single unified Rust bundler is exactly the kind of consolidation the JS tooling ecosystem needed. We've been running rolldown-vite on a mid-sized project for a few weeks now and the production builds went from ~35s to under 8s. The real win isn't just raw speed though. Having one consistent transformation pipeline means fewer edge cases where dev and prod behavior diverge, which has been a persistent source of bugs. Curious to see how the full bundle mode shapes up since it promises even faster dev server startup for larger codebases.
by miki123211 | 2026-03-13 09:10:55+00:00
I just append "explain", or start with "tell me."

So instead of:

"Why is foo str|None and not str"

I'd do:

"tell me why foo is str|None and not str"

or

"Why is foo str|None and not str, explain"

Which is usually good enough.

If you're asking this kind of question, the answer probably deserves to be a code comment.
by planb | 2026-03-13 09:10:56+00:00
You're absolutely right! No, really: I've never had this problem of unprompted changes when I'm just asking, but I always (I think even in real-life conversations with real people) start with feedback: "Works great. What happens if..."

I think people having different styles of prompting LLMs leads to different model preferences. It's like you can work better with some colleagues while with others it does not really "click".
by simoncion | 2026-03-13 09:12:19+00:00
> The old IP addresses (afaiu/ime) will not be removed before any dependent connections are removed.

I have two reactions to this.

1) Duh? I'm discussing a failover situation where your router has unexpectedly lost its connection to the outside world. You'd hope that your existing connections would fail quickly. The existence of the deprecated IP shoudn't be relevant because the OS isn't supposed to use it for any new connections.

2) If you're suggesting that network-management infrastructure running on the host will be unable to delete a deprecated address from an interface because existing connections haven't closed, that doesn't match my experience at all. I don't think you're suggesting this, but I'm bringing it up to be thorough.

> ...the OS APIs for this stuff just aren't descriptive enough to describe the network reconfiguration event.

I know that Linux has a system (netlink?) that's descriptive enough for daemons [0] to actively nearly-instantaneously start and stop listening on newly added/removed addresses. I'd be a little surprised if you couldn't use that mechanism to subscribe to "an address has become deprecated" events. I'd also be somewhat surprised if noone had built a nice little library over top of whatever mechanism that is. IDK about other OS's, but I'd be surprised if there weren't equivalents in the BSDs, Mac OS, and Windows.

> In any case, this vision of the world misses on at least two things, in my view:

> 1. Administrative load balancing...

I deliberately didn't talk about load balancing. I expect that if you don't do that at a layer below IP, then you're either stuck with something obscenely complicated or you're doing something like using special IP stacks on both ends... regardless of what version of IP your clients are using.

> 2. The long tail of devices that don't respond well to the flow you outlined.

Do they respond worse than in the IPv4 NAT world? This and other commentary throughout indicates that you missed the point I was making. That point was that -unlike in the NATted world- the OS and the applications running in it have a way to plausibly be informed of the network addressing change. In the NAT case, they can only infer that shit went bad.

[0] ...like BIND and NTPd...
by famouswaffles | 2026-03-13 09:13:03+00:00
>This shows the downside of using AI to write up your project. I see the eloquent sentences, but don't get the message.

Not really sure what this obsession with calling things you don't like AI generated is but it's poor form. If you have something to say about the text then say it. Otherwise leave baseless accusations out of it.

>What's the benefit? Is it speed? Where are the benchmarks? Is it that you can backprop through this computation? Do you do so?....

It's pretty clearly an ideological thing. Some people are firmly on the 'some sort of symbolic logic is necessary' camp. From the article, 'A system that cannot compute cannot truly internalize what computation is.'

Some things are just interesting for the sake of it. This is one of those things. I don't agree with the authors on the above and I'm still glad they shared. It's a very interesting read regardless.
by wartywhoa23 | 2026-03-13 09:13:48+00:00
Did you expect a stochastic parrot, electrocuted with gigawatts of electricity for years by people who never take NO for an answer in order to make it chirp back plausible half-digested snippets of stolen code, to take NO for an answer?

How about "oh my AI overlord, no, just no, please no, I beg you not do that, I'll kill myself if you do"?
Invoice OCR API for Logistics Expense Tracking Automation
by azapi_ai | 2026-03-13 09:14:35+00:00
Logistics and transportation companies handle large volumes of invoices for fuel, freight, tolls, and vendor services. Manually recording these expenses can slow down financial tracking and increase the chances of data entry errors. An Invoice OCR API helps automate this process by extracting important information directly from invoice images or PDFs. Using OCR technology, the system can capture details such as invoice numbers, vendor names, dates, line items, and total amounts. This structured data allows businesses to monitor logistics expenses more efficiently, simplify reconciliation, and improve overall financial visibility across transportation operations.
by flats | 2026-03-13 09:14:59+00:00
Interesting—this feels like a very “engineering manager” sort of observation that isn’t actually all that generalizable.

My observation is that people share incredibly creative work all the time in all different sorts of societies. Humans are inherently creative beings, and we almost always find a way. Certainly a person needs _some_ resources (time, most importantly) in order to work creatively, but confidence in one’s abilities can and does regularly get the better of fear (e.g. that which can emerge from observation, measurement, hierarchies, etc.).

I can think of countless artists—writers, musicians, visual artists—who have succeeded in both doing & sharing “truly creative work” (however that’s defined) in the face of “success” & all of its concomitant challenges.
by moregrist | 2026-03-13 09:15:08+00:00
> He is going to download Blender because someone on Reddit said it was free, and then stare at the interface for forty-five minutes.

This hits home. Not because I did it as a kid; I'm a bit old for that. But because I've done this exact thing two or three times. You stare and know, just know, that somewhere in this byzantine interface there is the raw power to do lots of cool 3D stuff. But damn. It's quite an interface.

> That is not a bug in how he’s using the computer. That is the entire mechanism by which a kid becomes a developer. Or a designer. Or a filmmaker. Or whatever it is that comes after spending thousands of hours alone in a room with a machine that was never quite right for what you were asking of it.

Yeah. For me it was an old, beat-up 286 that I couldn't get anyone to upgrade and and loving devotion to MS-DOS, old EGA Sierra games, TSR programs, TUIs, GeoWorks, and just not being able to get enough of it.

When I finally saved up enough to buy a 486 motherboard, I installed Linux because it seemed cool (and was cool) and never looked back. But that 286 sparked my obsession with computers that has influenced almost every aspect of my life.
by xp84 | 2026-03-13 09:15:29+00:00
Things they appear to have not thought of:

1. Any voting system other than the disastrous FPTP which forces a two-party system and punishes any attempt to break this duopoly.

2. What if Congress is composed entirely of weasels and just, though formal law-passing or by sheer inaction, cedes nearly all their power to the executive branch?

3. What if the Supreme Court has at least 5 partisans who will say just about anything to keep in power the party (or even the individual) who put them there? What if they say stupid things like "A President has absolute criminal immunity for any act that falls within his 'conclusive and preclusive' constitutional authority, and presumptive immunity for all other official acts."

4. Even if SCOTUS is basically working as intended, what if the President just...ignores them?

5. What if a President is mentally incompetent due to age, and his whole party refuses to acknowledge it? (This one is Biden, arguably - I'm disgusted with both parties)

I do get checks and balances, I know that a big part of the whole "they can't pass anything" is a feature and not a bug. But come on, it's got out of hand when every single term we have multiple debt limit hostage negotiations -- and now BOTH parties are doing it!
by RobotToaster | 2026-03-13 09:16:19+00:00
One issue is that imperfect enforcement is often how the momentum to change the law is created.

If the police had been able to swoop in and arrest the "perpetrators" every time two men kissed, homosexuality would have never been legalized; If they had been able to arrest anyone who made alcohol, prohibition wouldn't have ended; if they had been able to arrest anyone with a cannabis seedling, we wouldn't have cannabis legalization.
by v1ne | 2026-03-13 09:16:46+00:00
Does anybody else's fingers also tingle like this is written by an AI?

The formatting is strangely inconsistent, highlighting only some numbers and some variables in fixed-width font. Also there's odd statements like that the reference resistor keeps its value "at all temperatures", which is just not true. Other phrases like "poly-silicon resistor" are highlighted, and then not explained. All in all, I find this article to be quite a mess and not a clear explanation.
by cousin_it | 2026-03-13 09:16:52+00:00
Looks like the code of foo() says "take a lock then sleep for 10 millis", but actually it can take the lock and then sleep forever, depending on how it's polled. Well! This seems like a bug with the async abstraction in Rust then. Or if you don't like "bug", then "disagreement with intuition that will cause bugs forever". Goroutines in Go don't have this problem: if a goroutine says it'll take a lock and sleep for 10 millis, then that's what it'll do. The reason is because Go concurrency is preemptive, while async in Rust is cooperative.

So maybe the lesson I'd take is that if you're programming with locks (or other synchronization primitives), your concurrency model has to be preemptive. Cooperative concurrency + locks = invitation to very subtle bugs.
by websku | 2026-03-13 09:17:11+00:00
I know the purpose of sqlite, however, considering the needs of isolated tenants, with small volumes, I'd love to have:

- server manages thousands/millions of individual SQLite database files, one per tenant, behind a single gRPC/HTTP API

- provides per-tenant write serialization, a connection pool

- WAL-based replication to object storage (S3-compatible) - optional

- and an optional extension system for encryption (SQLCipher)

- optional extension vector search (sqlite-vec)

It will be suitable for products with tens of thousands of small, isolated tenant datasets where cost, operational simplicity, and data isolation matter more than global transactions or cross-tenant queries.

I'd probably use Go for this.

Note: Turso already has libsql with a server component but seems they are are fully committed to rewriting their own database.

This is just an idea, looking to see what's your view on this. It will be open-source if launched.

Wrote some specs here with help from Claude
https://docs.google.com/document/d/1xgbPemWHatuCppw2x0_fgUV9...

Use case:
- you need physical segregation of data per tenant
- you want to have all the benefits of Sqlite ecosystem

For example:
- HIPAA with each tenant separated
- one failing tenant does not affect all the others.
by keybored | 2026-03-13 09:18:13+00:00
Now about the grief angle. This is AI Inevitability Soothsaying.[1]

It’s all just a backdrop for hammering home the same inevitabilism: GenAI, GenAI, GenAI. Just slap on whatever excuse to hammer this over, and over, and over. Grief, self-identity, some other pseudo-humanistic angle.

Now is the time that programmers talk about their feelings. Give me a break.

Because the AI hype machine isn’t content with just eventually taking your job or your craft. It can’t just quietly get exponentially better until it sweeps your legs effortlessly. No, because there’s also a market out there, and a hype needs to be built. So now you need to see it all day in your tech news aggregator. Just push all the interesting stuff out. Replace with autopilot.

No, really. Even if AI worked perfectly right now you would still need to have a constant churn of content about how to babysit this thing that speaks English already and is more capable than you. I guess it’s kind of paradoxical.

[1] https://news.ycombinator.com/item?id=46935607
by andy12_ | 2026-03-13 09:18:37+00:00
Honestly, the most interesting thing here is definitely that just 2D heads are enough to do useful computation (at least they are enough to simulate an interpreter) and that there is an O(log n) algorithm to compute argmax attention with 2D heads. It seems that you could make an efficient pseudosymbolic LLM with some frozen layers that perform certain deterministic operations, but also other layers that are learned.
by leni536 | 2026-03-13 09:18:47+00:00
Debian ships Chromium on many architectures for a long time now, apparently. I never tried it outside of x86_64, so I can't say how usable it is. What am I missing? Is this about V8 JIT and widewine? Although those must be already supported on chromebooks, so I don't know.

Lists of architectures on oldstable (bookworm): amd64, arm64, armhf, i386, ppc64el

https://packages.debian.org/bookworm/chromium

From where I stand it seems they enabled a build architecture for Chrome, but I don't think this required a lot of porting effort. Kudos for the official support though.
by pseudohadamard | 2026-03-13 09:20:11+00:00
But God is telling you to do it ("parents have a God given right and responsibility"), so it must be kosher.

Sorry, wrong God. Halal.

No, still wrong God. The Christian God, so it was blessed by the Pope.

No, wrong branch of religion. Uhh... well our God as interpreted by our religion said it was OK anyway. Not your God, who doesn't even exist.
by smackeyacky | 2026-03-13 09:20:27+00:00
I saw a few (Claude Sonnet 4.6), easily fixed. The biggest difference I’ve noticed is that when you say it has screwed up it much less likely to go down a hallucination path and can be dragged back.

Having said that, I’ve changed the way I work too: more focused chunks of work with tight descriptions and sample data and it’s like having a 2nd brain.
by adrian_b | 2026-03-13 09:20:44+00:00
The trigonometric functions need not inject worse approximations than division.

If you compute trigonometric functions where the arguments are binary floating-point numbers and you measure the angles in cycles, not in radians (using radians is always a huge mistake in my opinion), the results can be expressed exactly using rational operations and the sqrt function.

You could compute them symbolically and use such symbolic expressions for exact computation, like you use rational numbers.

If you compute them numerically, computing a sqrt does not need more time than a division and correct rounding or computing an arbitrary number of digits are also not more difficult than for division.

Of course, you typically do not care about this, so you can just compute the trigonometric functions approximately, like you also do with division and sqrt, and in a similar time.
Show HN: Agile V Skills – Open skills for verifiable, traceable AI engineering
by JoshuaWellbrock | 2026-03-13 09:21:10+00:00
We've been wrestling with a specific problem: when you use AI agents to build real software, how do you make sure the output is actually verified, not just syntactically correct, but traced back to requirements and independently tested?

Most AI coding workflows are just "write this, now test this." The agent that writes the code also writes the tests for the code it just wrote. That's not testing, that's confirmation bias in a loop.

Curious whether others have tried to enforce test independence structurally in agentic workflows, and whether the Skills format (vs. system prompts or tool definitions) is something people are actually using or think is the right abstraction for this.
by silverlake | 2026-03-13 09:21:56+00:00
It’s the same as buying a house. I want to buy a house for $1.2m. I put down $200k and borrow $1m. The bank determines the value of the house. My equity absorbs a 20% drop in prices, so the bank is fairly protected. Businesses are different because they really can go to $0. Banks will need more collateral and/or make many different types of loans to dilute the risk.
by vhab | 2026-03-13 09:22:01+00:00
> For Azure Blob Storage, storage accounts are scoped with an account name and container name, so this is far less of a concern.

The author probably misunderstood what "account name" is in Azure Storage's context, as it's pretty much the equivalent of S3's bucket name, and is definitely still a large concern.

A single pool of unique names for storage accounts across all customers has been a very large source of frustration, especially with the really short name limit of only 24 characters.

I hope Microsoft follows suit and introduces a unique namespace per customer as well.
by VorpalWay | 2026-03-13 09:23:19+00:00
> But this is all moot as long as compilers are still not conforming to the provenance model with respect to integer and pointer casts anyway and this breaks Rust too! Rust having decided something just means they life in fairy tale world, while C/C++ not having decided means they acknowledge the reality that compilers haven't fixed their optimizers.

I think this is a bit of a mischaracterization. While there can of course be bugs in LLVM (and rustc and clang), what sort of LLVM IR you generate matters. To be able to generate IR that conforms to the provenance model of the language you first need to have such a model.

As far as I know (and this matches what I found when search the rust issue tracker) there is currently one major known LLVM bug in this area (https://github.com/rust-lang/rust/issues/147538) with partial workarounds applied on the Rust side. There is some issues with open question still, such as how certain unstable features should interact with provenance.

I think calling the current situation "fairy tale world" is a gross exaggeration. Is it perfectly free of bugs? No, but if that is the criteria, then the entirety of any compiler is a fairy tale (possibly with the exception of some formally verified compiler).
by Simochat | 2026-03-13 09:24:43+00:00
Resume Simo Launch Checkpoint — Mar 13, 2026.

Status:
• Simo is deployed and live at https://simonchat.ai
• Product Hunt launch is active today
• Launch page: https://www.producthunt.com/posts/simo-2
• Dashboard currently shows 0 points and 1 comment
• IndieHackers post published
• Reddit posting attempts blocked by filters
• Currently beginning early marketing outreach for first users

Next focus:
Drive traffic to Product Hunt launch and acquire first users through communities.
by ChrisMarshallNY | 2026-03-13 09:24:44+00:00
> They have very little interest in what you might become because of one.

Love spirit of the post.

As a high school dropout, with a GED, I’ve spent my entire adult life, looking up noses. I chose a career jammed to bursting, with sheepskins, because I really enjoy doing tech. Not because I wanted to make money, or because I wanted to be a big shot.

My first ever program, was in the 1970s, some time. It was a Heathkit programmable calculator. My first ever ”serious” program, was Machine Code, typed into a 6800-based STD card, nailed to a piece of wood, with a hex keypad, and an 8-digit LED display. My first personal computer, was a VIC-20, with 3KB of RAM. My first Apple computer was a Mac Plus, with 4MB of RAM, and an external 20MB SCSI hard drive.

Learning on limited resources helps us to become frugal and efficient. It also helps us to become tough as hell. Some of the best engineers I ever worked with, had rough backgrounds.

These days, I use a pretty maxed-out Mini, and an LG ultrawide screen. I’m spoiled.
by sbrivio | 2026-03-13 09:26:04+00:00
passt has been doing something similar for years (see https://passt.top/kvm_forum_2022.pdf pages 17, 18) and it's actually pretty fast (https://passt.top/#performance_1), even though it's not as resource-constrained as WolfIP.

We're finally adding multithreading (https://bugs.passt.top/show_bug.cgi?id=13) these days.
by ColonelPhantom | 2026-03-13 09:26:07+00:00
I like the idea of LLM-calling as an automation-friendly CLI tool! However, putting all my agents in ~/.config feels antithetical to this. My Bash scripts do not live there either, but rather in a separate script collection, or preferably, at their place of use (e.g. in a repo).

For example, let's say I want to add commit message generation (which I don't think is a great use of LLMs, but it is a practical example) to a repo. I would add the appropriate hook to /.git, but I would also want the agent with its instructions to live inside the repo (perhaps in an `axe` or `agents` directory).

Can Axe load agents from the current folder? Or can that be added?