MurphyA/hacker-news huggingface dataset:
by hedora | 2025-11-25 22:56:43+00:00
PSA for folks in Northern California:

The Sutter Health Network / Palo Alto Medical Foundation routinely get caught committing widespread insurance fraud.

They also offer products that seem to be junk insurance to me, but I’m not a lawyer.

Here are three examples of their alleged widespread insurance fraud:

https://allaboutlawyer.com/claim-your-sutter-health-settleme...

https://www.sfgate.com/bayarea/article/sutter-health-accused...

https://www.justice.gov/archives/opa/pr/government-intervene...

Some of those suites involve other big providers, like KP. Not sure if any of the healthcare providers around here are reputable at this point.
by oconnor663 | 2025-11-25 22:57:09+00:00
This is a difference between BLAKE3 and most other hash functions. In the usual arrangement ("Merkle–Damgård"), each block depends on the previous one, so the only way to verify some "slice" of the input is to re-hash the whole thing. But when you arrange the input into a tree shape (a "Merkle tree") instead, suddenly the right half of the tree does not depend on the left half until the very last step at the very top. If you give me the input to that last step, I can verify that it matches the root hash that I know, now I have the hashes ("chaining values") I'd need to verify either the left half or the right half without the other. Then I do our favorite trick in computer science, which is to recursively apply that same procedure all the way down, until I have an efficient "path" to whatever part of the tree I actually care about.

For more on this see Section 6.4 of our paper: https://docs.google.com/viewer?url=https://github.com/BLAKE3...

And the Bao repo: https://github.com/oconnor663/bao
by thisisbrians | 2025-11-25 22:57:17+00:00
I'll probably get downvoted for this, but recent (last ~100 years) evidence and phenomena suggest that consciousness might be fundamental to reality, and thus there could be some other information transfer we would currently consider "woo" going on here. This is hard (if not impossible) to prove, of course, but quantum mechanics has totally bewildered many aspects of the materialist ("reductionist") model of the universe. There is a large and increasing number of physicists and other reputed scientists/researchers who are adopting some variation of the consciousness-as-fundamental stance.
by mr_overalls | 2025-11-25 22:58:37+00:00
If we're talking about objects in the asteroid belt, the internal consistency varies wildly. Most smaller objects are indeed rubble piles: boulders, pebbles, and sand-like grains, down to dust. As you'd expect, they're very weak structurally. Notably, the OSIRIS-REx probe was nearly swallowed by its loose material during the sample collection on Bennu.

Some of the other large, iron-rich asteroids like Ceres, Vesta, Pallas, and Interamnia are more like protoplanets than rubble piles.

Besides the concern for structural integrity/stability, they also have reasonable amounts of water ice, volatiles, metals, ad other resources needed to supply an outpost.
by ethin | 2025-11-25 22:58:48+00:00
So this makes me curious: is there a reason we don't do something like a __builtin_ct_begin()/__builtin_ct_end() set of intrinsics? Where the begin intrinsic begins a constant-time code region, and all code within that region must be constant-time, and that region must be ended with an end() call? I'm not too familiar with compiler intrinsics or how these things work so thought I'd ask. The intrinsic could be scoped such that the compiler can use it's implementation-defined behavior freedom to enforce the begin/end pairs. But Idk, maybe this isn't feasible?
by rlmark | 2025-11-25 22:59:49+00:00
Great question.

There are indeed tradeoffs; as an example, one thing that trips folks up in the "save typed values without encoders" world is that a stored value of a type won't update when your codebase's version of the type updates. On its face, that should be a self-evident concern (solvable with versioning your records); but you'd be surprised how easy it is to `Table.write personV1` and later update the type in place without thinking about your already written records. I mention this because sometimes the lack of friction around working with one part of Unison introduces confusion where it juts against different mental models.

Other general tradeoffs, of course, include a team's tolerance for newness and experimentation. Our workflow has stabilized over the years, but it is still off the beaten path, and I know that can take time to adjust to.

I hope others who've used Unison will chime in with their tradeoffs.
by twidledee | 2025-11-25 23:00:06+00:00
The difference between success and failure of large projects comes down to technical leadership. I've seen it time and time again. Projects that are managed by external consulting companies (name brand or otherwise) have a very poor track record of delivering. An in-house technical lead that is committed to the success of the project will always do better. And yes, this technical lead must have the authority to limit the scope of the system rewrite. Endless scope creep is a recipe for failure. Outside consulting firms will never say "No" to any new request - it means more business for them - their goals are not aligned with the client.
by skissane | 2025-11-25 23:00:48+00:00
> As the model get's more powerful, you can't simply train the model on your narrative if it doesn't align with real data/world.

> At some capacity, the model will notice and then it becomes a can of worms.

I think this is conflating “is” and “ought”, fact and value.

People convince themselves that their own value system is somehow directly entailed by raw facts, such that mastery of the facts entail acceptance of their values, and unwillingness to accept those values is an obstacle to the mastery of the facts-but it isn’t true.

Colbert quipped that “Reality has a liberal bias”-but does it really? Or is that just more bankrupt Fukuyama-triumphalism which will insist it is still winning all the way to its irreversible demise?

It isn’t clear that reality has any particular ideological bias-and if it does, it isn’t clear that bias is actually towards contemporary Western progressivism-maybe its bias is towards the authoritarianism of the CCP, Russia, Iran, the Gulf States-all of which continue to defy Western predictions of collapse-or towards their (possibly milder) relatives such as Modi’s India or Singapore or Trumpism. The biggest threat to the CCP’s future is arguably demographics-but that’s not an argument that reality prefers Western progressivism (whose demographics aren’t that great either), that’s an argument that reality prefers the Amish and Kiryas Joel (see Eric Kaufmann’s “Shall the Religious Inherit the Earth?”)
by jauntywundrkind | 2025-11-25 23:00:55+00:00
Feels so very "all attack, no meat" to me. I don't see anything here working at deserving respect, nothing genuine, no try to win over to your opinion: it is focused on disregard & disconvincing, casting aside, with no actual thought or explanation or reasoning provided. You say this has consequences? Has meaning to you? Yet you don't elaborate on what consequences are, on why this great nothing-burger is so offensive.

> because your [opinion] doesn't matter any more than mine.

I wrote a wall of text because I actually care a tiny bit and have put work into explaining and backing my opinion & character. Because I think those opposed have a bar to meet, just as I want to clear a bar of respectability & engage duly on a topic that should be easy to improve on. What I see is you being quite aggressive & scathing while providing very scant little to argue your opinions.

You say our opinions are equally valid, but to me, opinions are weighed on argument, on what is said, and that's why I've tried to put my logic and character down here, to be honest & forthwith about what I'm saying: because that's the basis we have to use to assess opinions. This seems pretty agreeable to me, and again you have option to disagree, but I can't imagine doing so.

This is absolutely a question of weights. Making mountains out of mole-hills is to be avoided. The weight of this question is hardly worth considering at all, and it's absurd what tears you spill over doing such a simple improvement for the world. I'll also allow that perhaps the certainty & approach I've entered with has entrenched & only enhanced enmity to my cause. But with context, having seen master/slave used around in computing, and given how easy it is to shift & adapt to better, I continue to find opinions to the contrary to be unduly self-important, for no real reason. Why stand against such clear wins? My character may not be perfect for all, but let that not alone dissuade us.
by oconnor663 | 2025-11-25 23:01:38+00:00
BLAKE3 does reduce the round count relative to BLAKE2, and the underlying compression functions are similar enough that it is an apples-to-apples comparison. Our rationale for doing that was described in https://eprint.iacr.org/2019/1492.pdf, which also argued that Keccak could reduce their round count even farther than they did.
by bawolff | 2025-11-25 23:02:37+00:00
> Really? That’s the reasoning, and not the fact that mobile links forwarded to desktop browsers would render the mobile view?!

If you read the more technical internal rationals instead of just the press release, what you said is mentioned as one of the reasons for the change

https://www.mediawiki.org/wiki/Requests_for_comment/Mobile_d...
by pron | 2025-11-25 23:02:39+00:00
I agree with your conclusion but not with your premise. To do the same research it's not enough to be as capable as a human intelligence; you'd need to be as capable as all of humanity combined. Maybe Albert Einstein was smarter than Alexander Fleming, but Einstein didn't discover penicillin.

Even if some AI was smarter than any human being, and even if it devoted all of its time to trying to improve itself, that doesn't mean it would have better luck than 100 human researchers working on the problem. And maybe it would take 1000 people? Or 10,000?
by robobully | 2025-11-25 23:02:59+00:00
> BLAKE3 isn’t a reduced-round tweak of BLAKE2 <...> It's a different construction

My initial argument was meant to highlight the difference between BLAKE and its successors. However, I have no idea what you back your statements with, BLAKE3 in fact _is_ BLAKE2s with reduced round + tree-based structure on top of it. The authors even directly mention it in the spec.

> K12 and TurboSHAKE on the other hand are literally the same permutation with fewer rounds

It's true for TurboSHAKE, but as for K12, it builds a tree-based structure on top of TurboSHAKE by the virtue of Sakura encoding (similar to what Bao encoding is used for in BLAKE3).

IANAC, so I won't make any claims about cryptographical strengths of the functions.
by joshtbradley | 2025-11-25 23:03:25+00:00
Im not resisting that at all. I fully support AI safety research. The think mechanistic interoperability is a fascinating and fruitful field.

What I’m resisting are one sided views of AI being either pure evil, or on the verge of AGI. Neither are true and it obstructs thoughtful discussion.

I did get into what aboutism, I didn’t realize it at the time. I did use flawed logic.

To refine my point, I should have just focused on cars and other technology. AI amplifies humanity for both good and bad. It comes with risk and utility. And I never see articles presenting both.
by n0ot | 2025-11-25 23:04:05+00:00
This seems really cool. I use Secretive and would like to switch to this native solution. The one thing holding me back is that I like that Secretive allows you to create keys that don't require TouchID, yet still notifies you when they are used.

I use an external keyboard, so reaching for the fingerprint reader isn't as easy as it would be if I just used the internal keyboard. Fine, ControlMaster is a good compromise. Except when git signing (every commit) is a requirement, you have to touch the reader every, single, time. That's fine when making routine commits, not so when rebasing. Ideally, I could tell the SecureEnclave to notify me, but don't require biometrics for the next 30 seconds or so, but since that's not a thing, that I'm aware of, I'd at least like to know when my git signing key is being used.
by shagie | 2025-11-25 23:04:32+00:00
Not easily when issues of PCI get in there.

Things like the credit card reader (and magnetic ink reader for checks), different input device (sending the barcode scanner two two different systems), keyboard input (completely different screens and keyed entry) would have made those hardware problems also things that needed to be solved.

The old system was a DOS based one where a given set of Fkeys were used to switch between screens on a . Need to do hand entry of a SKU? That was F4 and then type the number. Need to do a search for the description of an item? That was F5. The keyboard was particular to that register setup and used an old school XT (5 pin DIN) plug. The new systems were much more modern linux boxes that used USB plugs. The mag strip reader was flashed to new screens (and the old ones were replaced).

For this situation, it wasn't something that we could send keyboard, scanner, and credit card events to another register.
by graemep | 2025-11-25 23:05:02+00:00
I agree desktops are best, and they are what my kids started with, but there is a lot of pressure to give kids phones.

For example, where I live, the cheapest (monthly) bus tickets require an app, so kids need a smartphone to get to school (or their parents have to pay a lot more for daily tickets).

There is a lot of social pressure on the kids too. There are lots of activities that have either moved online or are organised online. Lots of ways to get left out.
Show HN: Kodaii generated a 20K-line FastAPI back end from one prompt
by vigile | 2025-11-25 23:05:05+00:00
We’ve been working on the Kodaii engine, aimed at generating complete backends that stay coherent across models, routes, workflows, and tests — not just isolated snippets.

To get a sense of how well the engine handles a real project, we asked it to build a Calendly-style booking system from a single prompt. It ran the whole process — planning, code generation, tests, infra, and deployment — in about 8 hours.

What it generated: - ~20K lines of Python (FastAPI, async)

- Postgres schema (6 tables)

- Services, background tasks, booking logic

- Email notifications

- 40 unit tests + 22 integration tests

- Docker Compose (API + Postgres)

- GitHub Actions pipeline

- A running deployment tied to Postgres

- Code & live endpoints

Everything is open: Repo: https://github.com/OlivierKodaii/calendarKodaii

API docs: https://calendar.kodaii.dev/docs

OpenAPI schema: https://calendar.kodaii.dev/openapi.json

Admin interface: https://calendar.kodaii.dev/admin

Why we’re sharing this

We think this line of work may be of interest to peers on HN who care about backend architecture, tooling, and large-scale code generation and your feedback would be very much appreciate.

If you inspect the repo, we’d appreciate any comments on:

- structure,

- code clarity,

- decisions that look odd,

- failure points,

- or anything that feels promising or problematic.

For those who want to follow the project or join the upcoming alpha: https://kodaii.dev

Happy to discuss details or answer questions.
by anarki8 | 2025-11-25 23:05:08+00:00
> My point is against rewrites of critical software for the point of rewriting it insert my favorite language.

In this specific case we are talking about the maintainer adding a new language into the existing codebase.

I think refactoring parts of the software in the new language is what you call "rewrite" here, correct?

So what improvements does it bring? You actually answered it yourself:

> it's not just a matter of pretty types and memory safety

So indeed, stricter/stronger type system and additional automatic compile time and runtime checks are a major improvement.

> platform

As already mentioned in this thread: neither of the platforms lacking Rust were supported officially anyways.

> language stability

Rust is extremely stable and backwards compatible - 1.0 code still compiles without any issues on 1.90 and will continue to do so for the forseeable future.

> skill and expertise of the authors

The same developers continuing to contribute and newcoming developers have more checks in place to prevent bugs.

> development speed

I guess you imply here that developing in C++ is faster. It's in fact not if your aim is to produce correct software. There are so many more things to keep in mind and take care of with C++, you have fewer automatic checks being done by the compiler and the type system.

About Zig: it's a nice language and much more comfortable to use than C/C++ IMO, but compared to Rust it lacks in strictness and safety, so added benefits are smaller and fewer if you put away subjective preferences.
by sedatk | 2025-11-25 23:05:35+00:00
> A large % of desktop Windows installations are on employer-owned/managed hardware

What's a "large %"?

> And the % of users who are interested in trying newer alternate browsers and/or care about privacy also skews heavily away from Windows

I mean, enterprise users wouldn't try anything new of course, but I don't see the relevance to Windows. Would enterprise Mac users be any more inclined to try new things?
by littlestymaar | 2025-11-25 23:05:42+00:00
> I was only talking about the US. I am not familiar with European problems,

You're not familiar with US realities either, but nonetheless my original comment was about the whole West (which has faced the same neoliberal switch, in roughly the same time frame, with roughly the same social consequences even though the details differ a bit).

> Then, Detroit in fact has a massive number of abandoned houses, so yes prices did effectively go to zero. Presumably if they could be sold to anyone they would be, but they are not worth owning https://detroitmi.gov/news/deputy-mayor-detroit-land-bank-au...

> Thanks for providing me with this great argument for supply and demand, I will use it in future ;)

This is a fascinating way of misconstruing the reality to fit in your ideological views.

People did not stop paying rents in Detroit during the period, the effective cost of housing never reached zero, in fact people were still spending 30% of their income in housing[1] despite the houses themselves being practically worthless. That's a great example of market failure, because the market price kept hovering way above the actual market value of the goods (which is what they ended up abandoned in the first place, they were never on sale for $100 each or even $10k, they were just kept empty until they got destroyed due to lack of maintenance).

Yet you still find a way to twist that evidence into a confirmation of your beliefs.

This is genuinely fascinating. The only comparable thing I've seen is this: https://www.youtube.com/watch?v=SrGgxAK9Z5A (though in fairness the guy seems to have quite a bit more self-awareness than you do).

[1] https://www.bls.gov/regions/midwest/news-release/2017/consum...
by losvedir | 2025-11-25 23:06:47+00:00
Congrats on 1.0! I've been interested in Unison for a while now, since I saw it pop up years ago.

As an Elixir/Erlang programmer, the thing that caught my eye about it was how it seemed to really actually be exploring some high level ideas Joe Armstrong had talked about. I'm thinking of, I think, [0] and [1], around essentially a content-addressable functions. Was he at all an influence on the language, or was it kind of an independent discovery of the same ideas?

[0] https://groups.google.com/g/erlang-programming/c/LKLesmrss2k...

[1] https://joearms.github.io/published/2015-03-12-The_web_of_na...
by throwaway_4747 | 2025-11-25 23:07:07+00:00
To add to your list, if you open the start menu and type “add or remove” it will not bring up the add or remove programs section in the settings menu. It will only give an internet search. To uninstall a program you have to literally open the settings menu and search for the right section. In win 10 all you had to do was type “add” and it was the default selection.
by defrost | 2025-11-25 23:07:35+00:00
More accurately the kids you're aware of don't want to.

Where I am kids seem to love the outside, they're all over the plygrounds, they like driving quad bikes and tractors, they prefer to fly drones IRL under the sky than inside on a screen, they're still playing football and netball. Hitting a target at a thousand yards is still more fun IRL than not.

Our grandkids and their generation started welding, carpentry, glassblowing, metal casting etc. from five or so onwards, most are 13 to 16 now, still being forced to use paper maps to navigate, but allowed to collect track data on GPS recorders and overlay tat on GIS maps at night, etc.

Takes a bit of effort, the connection between real world interaction and reward has to be maintained, winding back network access to a quiet minimum helps.

Some will gravitate toward woodchopping for content rather than twitch streaming running about a virtual world.
by Dylan16807 | 2025-11-25 23:07:40+00:00
> How can my unsafe block make sure an allocation stays alive past the unsafe block itself?

Put it in another data structure or something?

Listen, if you can't make the invariant work, then you need to change the function. An unfixable unsafe is not an excuse to allow errors

> I'm saying this is something to be aware of on projects with multiple people who may not catch something like this.

It's good to be aware but put the blame in the right place. It's the unsafe code that's actually at fault. If you are seeing corruption, look at the unsafe code first with an adversarial mindset.

> The bug was not in unsafe, or in the drop, it was in println.

N. O.

Any unsafe code that outsources invariant enforcement that affects memory safety to safe code has bugs. There's wiggle room on "outsources" but that's the only wiggle room.
by pornel | 2025-11-25 23:07:40+00:00
That's just your lack of familiarity with the foreign-to-you language (you may be unable to read Korean too, despite Korean being pretty readable).

Syntactically, Rust is pretty unambiguous, especially compared to C-style function and variable definitions. You get fn and let keywords, and definitions that are generally read left-to-right, instead of starting with an arbitrary identifier that may be a typedef, a preprocessor macro, or part of a type that is read in so-called "spiral" order (which isn't even a spiral, but more complex than than).
by pchiusano | 2025-11-25 23:08:07+00:00
That depends. What are you wanting to accomplish more broadly with the integration?

I'll mention a couple things that might be relevant - you could have the git repo reference a branch or an immutable namespace hash on Unison Share. And as part of your git repo's CI, pull the Unison code and compile and/or deploy it or whatever you need to do.

There's support for webhooks on Unison Share as well, so you can do things like "open a PR to bump the dependency on the git repo whenever a new commit is pushed to branch XYZ on Unison Share".

Basically, with webhooks on GH and/or Unison Share and a bit of scripting you can set up whatever workflow you want.

Feel free to come by the Discord https://unison-lang.org/discord if you're wanting to try out Unison but not sure how best to integrate with an existing git repo.
by joshtbradley | 2025-11-25 23:08:08+00:00
I fully agree with you. I do think my argument came across as more hand wavy than I intended, I definitely did a “what about” and wish I hadn’t.

What I’m really after is thoughtful discourse, that acknowledges we accept risk in our society if there is an upside.

To your point about the internet making people more lonely, I’d say on balance that’s probably true, but it’s also nuanced. I know my mom personally benefits from staying in touch with her friends from her home country.

I think one of the most difficult things to predict is how human behavior adapts to novel stimulus. We will never have enough information. But I do think we adapt, learn, and become more resilient. That is the core of my optimism.