MurphyA/hacker-news huggingface dataset:
by agdavidson | 2026-02-24 13:57:22+00:00
I've spent a long career mostly in security. I like to see problems and figure out how to solve them.

The problem I've been chasing lately isn't access control - we're actually pretty good at that. It's what happens after access is granted. Can I prove that the thing that just committed to a database, pushed to production, or triggered a payment is the exact same thing that was reviewed and approved? As systems get more complex - more middleware, more serialization boundaries, more agents acting on their behalf - that question gets harder to answer. At my level of abstraction, and in between.

I needed something at the protocol layer. A stable fingerprint for structured data that I could attach authorization and verification to at higher layers. But once I started building it, I realized the same primitive could solve problems all the way down the stack. A developer might fingerprint a deployment descriptor at approval time and verify it hasn't drifted by the time it hits the deployment controller. An infrastructure team can hand an auditor a fingerprint that proves exactly what was committed, not just that something was committed. If you've ever had to prove "this is the same thing" across a system boundary, you have some version of this problem.

The issue underneath is deceptively simple. The same logical payload produces different hashes when different systems serialize it differently. Field ordering changes, whitespace shifts, encoding varies. Two identical payloads suddenly look like two different objects to any integrity check.

MAP is my answer. It canonicalizes structured data into a deterministic binary format and produces a single identity: map1: + lowercase hex SHA-256 of the canonical bytes. Same input, same identity. Every time. Every language.

What's in the box:

- Frozen spec (483 lines, no changes permitted under governance contract)

- Python and Node reference implementations (zero dependencies each)

- 53 conformance vectors (append-only, never removed)

- Both implementations produce identical MIDs for all inputs

- CLI tools for both languages

- Browser playground: https://map-protocol.github.io/map1/

- MIT licensed

Supported types: strings (UTF-8, scalar-only), maps (sorted keys, unique, memcmp ordering), lists, and raw bytes. No numbers. No nulls. These are rejected deterministically, not silently coerced.

Early. No Go or Rust implementations yet. The no-numbers decision is opinionated and I know it. Curious what people think, and if you've hit this problem in your own work, how you've been solving it.
by RickJWagner | 2026-02-24 13:57:26+00:00
Wow. My wife and I have 3 kids, all went to college.

At the time the first was born, we decided she’d stay home and be a full time mother. She coached them through school and ACT prep, which brought academic scholarships for all 3.

We have friends where the couple both stayed at work. Maybe they take nicer vacations than we do, some sent their kids to more expensive colleges. Oddly, I retired before anyone from that group. Some say they can’t afford to retire.

Trad wife worked out for us. My daughter has a career and is entering marriage age, I’m conflicted about that. I hate for her to leave her career behind, but that’s the path that worked for my wife and me.
by hombre_fatal | 2026-02-24 13:57:32+00:00
It still comes back around to "you should live that way already". You could be turned into a vegetable tomorrow yet we live like we're immortal until we find out otherwise. Of course, it's hard to do otherwise.

I'm reminded of a convo I had with some friends back when "we're living in a simulation" was showing up a lot on the internet.

One of my friends hated the idea of living in a simulation, and he said if he found out he did live in one, boy he'd move to the beach, surf all day, {bunch of other things}. It was a list of all the things he should probably just do today.
Show HN: AppMetaHub – Update App Store Metadata from Claude Code via MCP
by vladosce | 2026-02-24 13:57:48+00:00
I built a web dashboard for editing App Store Connect metadata across all 37 locales. One dashboard, word-level diffs, one-click push to ASC.

The part I think HN will find interesting: it ships with a full MCP server (30 tools). Claude Code, Cursor, or any MCP client can read your metadata, edit keywords across all locales, and push to App Store Connect - without leaving your IDE. One prompt can update 37 locales.

The pain: every iOS release I'd spend 3-4 hours tab-switching in App Store Connect. One locale at a time. No history, no diffs, no undo.

Free for 1 app (no credit card, no trial expiration). Indie plan is $10/mo annual for 5 apps + MCP server + all locales.
by loevborg | 2026-02-24 13:58:35+00:00
> Failover happens by missing a compare-and-set so there's probably a second of latency to become leader?

Conceptually that makes sense. How complicated is it to implement this failover logic in a safe way? If there are two processes, competing for CAS wins, is there not a risk that both will think they're non-leaders and terminate themselves?
by kaicianflone | 2026-02-24 13:58:38+00:00
This doesn’t look like a reasoning ceiling. It looks like a decision reliability problem.

The unstable tier is the key result. Models that get it right 70–80% of the time are not “almost correct.” They are nondeterministic decision functions. In production that’s worse than being consistently wrong.

A single sampled output is just a proposal. If you treat it as a final decision, you inherit its variance. If you treat it as one vote inside a simple consensus mechanism, the variance becomes observable and bounded.

For something this trivial you could:

-run N independent samples at low temperature

-extract the goal state (“wash the car”)

-assert the constraint (“car must be at wash location”)

-reject outputs that violate the constraint

-RL against the "decision open ledger"

No model change required. Just structure.

The takeaway isn’t that only a few frontier models can reason. It’s that raw inference is stochastic and we’re pretending it’s authoritative.

Reliability will likely come from open, composable consensus layers around models, not from betting everything on a single forward pass.
by ebiester | 2026-02-24 13:58:38+00:00
The number of maintenance items are fewer.

The cost of those remaining maintenance items are the issue. That said, it's a reasonable hypothesis to say that this is an economies of scale issue.

(Also, as I understand it, tires are used up more quickly on EVs still, but tire companies are learning to adapt to EVs so that may not be as true today.)
by superkuh | 2026-02-24 13:58:50+00:00
Meandwhile the Canonical employee who's responsible for some aspects of apt has decided to insert rust code. Because of this, and just this, Debian dropped 4 entire architectures of support. https://lists.debian.org/debian-devel/2025/10/msg00285.html

>I plan to introduce hard Rust dependencies and Rust code into APT, no earlier than May 2026. This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem.

...

>If you maintain a port without a working Rust toolchain,
please ensure it has one within the next 6 months, or
sunset the port. It's important for the project as whole to be able to move forward and rely on modern tools and technologies and not be held back by trying to shoehorn modern software on retro computing devices.

If you think Canonical isn't going to lead Debian around by the nose on this you haven't been paying attention.
by olucasandrade | 2026-02-24 13:59:00+00:00
I created a free (of course) interactive game that teaches System Design through police investigation cases. The idea is simple: instead of reading loose theory, you investigate failed distributed systems. You analyze logs, inspect components in an interactive diagram, identify the root cause, and recommend a fix. Kind of like an infrastructure detective.

The inspiration came from https://sqlpd.com, which does something similar for SQL. Since what I enjoy most is talking about System Design, I thought it would be a good idea.

There are 33 cases covering replication, consistency, load balancing, caching, messaging, storage, networking, and advanced topics like chaos engineering and distributed tracing.

The cases are sequential and increase in difficulty, with a ranking system from Rookie to Chief.

The project is open source and supports Portuguese and English.

It's live at https://sdpd.live.
by talyuk | 2026-02-24 13:59:00+00:00
Hey folks, a little story behind Mio:
I've been in Mexico for a while and needed to call a local office, but my Spanish isn't there yet (I’m working on that though!). Had a friend try for me a few times but it was always busy or no answer. Tried an app called Mitra but it hung up every time a human picked up. Then I remembered I had an abandoned project from months back that did exactly this. Dusted it off, tried it with zero expectation, and it worked. The guy on the other end said "buenas tardes señor" to the AI and had a full conversation.
Polished it over a weekend and shipped it. You text what you need done, a voice agent makes the call and handles the conversation. When it's done, the chatbot sees the full transcript and tells you what happened, and if the call didn't go through, it can reschedule on its own. You can also forward your phone to it so it picks up calls for you.
I launched thinking the audience was people like me - expats, phone anxiety, anyone who hates calling. That's true, but then I stumbled on communities like r/mute and r/hardofhearing and realized something I hadn't considered. For people who can't speak, phone calls aren't annoying, they're impossible. And a lot of daily life still requires them. I didn't build this for that use case but it might be the most important one.
Stack is Twilio for telephony, ElevenLabs for the voice agent, OpenAI for the chat layer. Pay-as-you-go, $5 free on signup. You pay for conversation, not hold time.
by lorinab | 2026-02-24 13:59:02+00:00
We published an article on why internal documentation matters and how to build it properly: https://xwiki.com/en/Blog/internal-documentation-best-practi...
The core issue: "later" usually means "never." Teams lose institutional knowledge, onboarding takes 3x longer than it should, and people keep making the same mistakes because nobody wrote down what worked.
What the article covers:

Why documentation decay is structural, not cultural
Faster onboarding, fewer repeated errors, better handoffs
How to build documentation that survives team turnover
Technical architecture that prevents fragmentation

We're also running a webinar (Feb 25, 16:00 CET) on the technical side: structuring, maintaining, and scaling documentation systems using XWiki (LGPL, built since 2004). Live Q&A included.
by throw0101a | 2026-02-24 13:59:38+00:00
> Although it was originally intended to be cash it actually now is used as a "store of wealth"

For some definition of "actually", given how much it has dropped recently. When he was still a just a candidate, the current Opposition leader in Canada was very excited about Bitcoin:

> As Poilievre campaigned for the Tory leadership on the way to a landslide victory, he spoke positively about decentralized finance and cryptocurrency. At one point, he argued that crypto would allow Canadians to "opt-out" of inflation, which was soaring at the time. And he famously used Bitcoin to purchase a shawarma at a London, Ont., restaurant in March 2022.

* Nov 2023: https://www.cbc.ca/news/politics/cryptocurrency-political-co...

> In 2022, when Pierre Poilievre was a Conservative leadership candidate, he said he’d make Canada the crypto capital of the world. According to him, the Bank of Canada was “ruining” the Canadian dollar, printing money and ramping up inflation to fund COVID-19 relief. His solution? Give Canadians crypto as an alternative currency.

* Apr 2025: https://macleans.ca/politics/who-stands-to-win-in-poilievres...

Given the noise that was made about inflation at the time and the (alleged) devaluation of the CAD, I'm curious to know what the inflation rate equivalent would be now (Feb 2026) if Bitcoin is used as the monetary base.
by DoctorOW | 2026-02-24 13:59:44+00:00
They do link the default configuration for "safe": https://wicg.github.io/sanitizer-api/#built-in-safe-default-...

But I agree, my default approach has usually been to only use innerText if it has untrusted content:

So if their demo is this:

container.SetHTML(`<h1>Hello, {name}</h1>`);

Mine would be:

let greetingHeader = container.CreateElement("h1");
greetingHeader.innerText = `Hello, {name}`;
by buescher | 2026-02-24 14:00:42+00:00
Schematics also help explain your circuit because the idioms of drawing them communicate intent. Which is one of the things the Shenzhen/Ladyada/Sparkfun/SeedStudio crowd don't get with their "schematic as data entry for layout" style. Some of them should know better.

Breadboards make me wince a little especially in a professional setting but I've made my peace with dev boards that come with DIP-style pins for them. Decent breadboards are so cheap now that every dev board get to live on its own permanent breadboard.
by jadendhm | 2026-02-24 14:01:03+00:00
I got tired of surprise AI bills at the end of the month.

Every time I built something with AI, I had the same problem: Groq is fast but only has a few models, Together AI is cheap but slower, Fireworks is reliable but more expensive. I ended up managing three API keys, three dashboards, and three unpredictable bills.

So I built ApeKey. One endpoint that routes your requests automatically across Groq, Together AI, and Fireworks – optimizing for speed, cost, or quality depending on what you need. And instead of pay-as-you-go surprises, you get a flat monthly plan.

It's a drop-in replacement for OpenAI's API. Literally one line change:

baseURL: 'https://apekey.ai/v1'

What it does:
- Auto-routes to the best provider based on your preference (speed/cost/quality)
- Response caching for identical requests (up to 90% cost reduction)
- Flat monthly plans so you know exactly what you'll pay
- Automatic fallback if a provider goes down
- EU-based, GDPR compliant

I just launched and would love honest feedback from the HN community. What's missing? What would make you switch from using providers directly?

https://apekey.ai
by stared | 2026-02-24 14:01:50+00:00
Also, the Herpes family (hint: most of us have HSV-1), vide "Alzheimer's risk 10 times lower with herpes medication" https://news.ycombinator.com/item?id=17540094 and much more, https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que....

And "The effect of shingles vaccination at different stages of dementia" https://news.ycombinator.com/item?id=46164646 (yes, also the Herpes family).
by HarHarVeryFunny | 2026-02-24 14:01:52+00:00
Sure, if an open ended response was allowed, but if it was a multiple choice question then you'd have to use your common sense and pick one.

However, the important issue here really isn't about the ability of humans or LLMs to recognize logic puzzles. If you were asking an LLM for real world advice, trying to be as straightforward as possible, you may still get a response just as bad as "walk", but not be able to recognize that it was bad, and the reason for the failure would be exactly the same as here - failure to plan and reason through consequences.

It's toy problems like this that should make you step back once in a while and remind yourself of how LLMs are built and how they are therefore going to fail.
by piva00 | 2026-02-24 14:02:01+00:00
They will open up to be undercut by players like Gemini that can provide a less-shitty free tier, and capture their market share.

I seriously doubt, at this moment, that OpenAI can come up with a offering good enough to entice people to pay for them when there will be other free to use services around. Google seems to be well positioned to eat their lunch.
by justin_dash | 2026-02-24 14:02:07+00:00
I tested both Sonnet and Haiku from Claude, which got it right 0/10 times in their original test, and they both passed. Here's the Haiku output:

"You should *drive*!

The trick is that you need to take your car to the car wash to get it washed. If you walked, your car would still be at home, unclean. So while 50 meters is a short distance that you could walk under normal circumstances, in this case you have to drive because your car is what needs to be washed."
by leoedin | 2026-02-24 14:02:13+00:00
As long as there's a country willing to build and sell ESP32s, I think it would be fairly easy to get hold of them. How does a customs agent distinguish between an ESP32 and another microcontroller? These things are in every gadget. Is a government really going to ban all electronics?

Just look at how ineffective governments are at stopping drugs. If people are motivated to smuggle things, they will. Is there going to be a booming black market in ESP32s? Probably not. But will motivated people manage to import them? Almost certainly.
by noduerme | 2026-02-24 14:02:39+00:00
Not to sound incredibly pessimistic, but I spend a lot of time in bars, and I can tell you that most of the people I meet who haven't got two cents to rub together are as capable if not more so of being dishonest, greedy and malicious as anyone with a billion dollars. A random group of people in your opinion contains less sociopaths than a group of people who powered their way or lucked into some money... I guess you're the optimist. I don't think the CEOs are any worse or better than the rest, and I think you kinda nailed it about individuals. We're all individuals. Faced with individual situations, some of us refuse to do harm, some try to do good, some of the time. That's all. That's what I mean by there being no conspiratorial way to frame the world. It's just chaos and a bunch of assholes making bad decisions, occasionally doing something alright.
by snowhale | 2026-02-24 14:02:42+00:00
the benchmark probably controls for this implicitly but wondering if they used prepared statements in the sqlite baseline. the query planner overhead is negligible for a simple put/get after the first parse, but the vtable dispatch and statement compilation on every call can add up. if the baseline is using raw sqlite3_exec strings rather than prepared + bound params, that would explain a chunk of the gap.
by einr | 2026-02-24 14:02:48+00:00
Yeah, but people don't really want to use the BSD userspace. A lot of the Linux stuff people want to build on assumes a GNU userland and it's not trivial to build a BSD/Linux that actually does relevant computer stuff.

But in places where that stuff isn't relevant, we already see a lot of locked-down devices like the Nintendo Switch and PlayStation based on BSD precisely because they can leverage free software but still lock it down. macOS with its BSD userland is also kind of like this -- the OS is getting gradually more locked down over time, but the frog boils slowly.

If you tighten the screws too hard and fast then people will scream and yell and maybe leave your business for a competitor -- even though it's technically feasible, that means you can't disallow access to banking websites for generic-browser-on-generic-OS now. But we are, brick by brick, building a foundation where that will seem inevitable.

The argument is basically that making it easier to lock down general purpose computing devices like desktop computers (by, for example, making a non-GPL drop-in replacement for GNU *utils) will eventually aid in making it happen. The powers that be will use tried-and-true arguments about security and think-of-the-kids etc to make it seem like running a mutable, untrusted OS is an unacceptable risk.
by jncraton | 2026-02-24 14:03:09+00:00
You are right that the concept of "safe" is nebulous, but the goal here is specifically to be XSS-safe [1]. Elements or properties that could allow scripts to execute are removed. This functionality lives in the user agent and prevents adding unsafe elements to the DOM itself, so it should be easier to get correct than a string-to-string sanitizer. The logic of "is the element currently being added to the DOM a <script>" is fundamentally easier to get right than "does this HTML string include a script tag".

[1] https://developer.mozilla.org/en-US/docs/Web/API/Element/set...
by password54321 | 2026-02-24 14:03:13+00:00
I am comparing competency not the "scale of a human life" or whatever that is supposed to mean. AI still lacks taste so it is still hard to replace human originality or creativity but that's almost it when it comes to work that can be done on a computer. It will very clearly surpass everyone in verifiable domains and already has surpassed most people.

We are already at that point where we just don't fully know what to do with what we already have and simply haven't fully internalised it. But all it will take is one economic shakeup to redistribute human intelligence from what we are familiar with.
by operation_moose | 2026-02-24 14:03:18+00:00
I've had the same experience. I do a lot of automation of two engineering software packages through python and java APIs which are not terribly well documented and existing discussion of them on the greater web is practically nonexistent.

They are completely, 100% useless, no matter what I do. Add on another layer of abstraction like "give me a function to calculate <engineering value>" and they get even worse. I had a small amount of luck getting it to refactor some really terrible code I wrote while under the gun, but they made tons of errors I had to go back and fix. Luckily I had a pretty comprehensive test suite by that point and finding the mistakes wasn't too hard.

(I've tried all of the "just point them at the documentation" replies I'm sure are coming. It doesn't help)
by adebayoj | 2026-02-24 14:03:22+00:00
This part of the claim is involved, so we have future posts to clarify this. And yes, you can remove a prototype and generate again. We show examples in that prism post.

In prism, for any token the model generates, you can say, it generated this token based on these sources. During training, the model is 'forced' to match all the prototypes to specific tokens (or group of tokens) in the data. The prototype itself can actually be exactly match to a training data point. Think of it like clustering, the prototype is a stand-in for training data that looks like that prototype, we force (and know) how much the model will rely on that prototype for any token the model generates.

The demo in the post is not as granular because we don't want to overwhelm folks. We'll show granular attribution in the future.