MurphyA/hacker-news huggingface dataset:
by spwa4 | 2025-08-22 15:52:23+00:00
Really? What developed world would that be? The fact that youth services protects government against children, rather than the other way around, is something that happens in Europe just like in the US.

A trivial example: pretty much the whole developed world has a law that schools are accountable for anything that happens to children in relation to school, including on the way to school and the way back. This goes as far as ensuring that the way to school actually happens, providing oversight on the way, preventing thefts, bullying, ... in class, in school, on the way to school and back, in after-school activities. No school on the planet actually does this, of course.

Anyone who had children can tell you how well schools, anywhere on the planet, actually do this and how much responsibility they accept when things go wrong, even or perhaps especially when a teacher is actively making things go wrong (e.g. the school is financially responsible when a teacher is involved in selling drugs, but teacher get caught all the time in things ranging from falsifying grades to paedophilic rape)

And for cases where children or parents insist on their legal rights, that's what you have youth services for. Note: another law that the whole world has is that youth services are exempt from legal protections. A youth judge can lock up a child, usually even beyond 18 years old, for no reason at all. A child can be convicted while having provided evidence of their innocence. A minor doesn't even have the right to a trial at all! Investigations can be performed without any of the rules of investigation apply (meaning even that it is perfectly legal for youth services to lie about the situation of a minor AND for a judge to convict based on a lie). So there is no defense against youth services (other than exploiting the fact that a child cannot be held responsible. In other words: the only "defense" is having the child commit sufficient violence against youth services personnel)

And, of course, when this was investigated ... there's a UN report pointing out that over 90% of all child abuse happens at school [1]. And no, despite the picture on the front page, it is not in fact about Africa.

[1] https://www.un.org/en/peace-and-security/violence-against-ch...
by hombre_fatal | 2025-08-22 15:52:28+00:00
Yeah, but this is once again doing the thing where you read someone replying to situation #2 (in my comment) and then acting like they are denying situation #1.

I think we all grant that LLM slop is inundating everything. But a checkbox that says "I am human" is more of a performative stunt (which I think they are referring to when they say it's reactionary) than anything practical.

Cloudflare's "I am human" checkbox doesn't just take your word for it, and imagine if it did.

---

People who write good, thoughtful code and also use an LLM have no reason to disclose it just because the idea offends someone, just like I don't disclose when I do an amphetamine bender to catch up in work; I don't want to deal with any prejudices someone might have, but I know I do good work and that's what matters. I pressed tab so the LLM could autocomplete the unit test for me because it's similar to the other 20 unit tests, and then I vetted the completion. I'm not going to roleplay with anyone that I did something bad or dishonest or sloppy here; I'm too experienced to know better.

People who write slop that they can't even bother to read themselves aren't going to bother to read your rules either. Yet that's the group OP is pretending he's going to stop. Once you get past the "rah-rah LLM sux0rs amirite fellow HNers?" commentary, there's nothing here.
by SpicyLemonZest | 2025-08-22 15:52:45+00:00
The fundamental goal of voting isn't to pick the best candidate, but to pick a consensus candidate in such a way that everyone feels their voice was or at least could have been heard. The distinction gets obscured because a lot of people describe their decision about who to vote for in terms of candidate quality, but if you scratch the surface, you'll find that most have cultural and ideological expectations in mind, and because those expectations are often incompatible we have to find a way to balance them that everyone will agree is fair.
by anarbadalov | 2025-08-22 15:52:51+00:00
Text from PDF below:

Call for Submissions

Submission Deadline: January 15, 2026

Expected Publication: Summer/Fall 2026

SPECIAL ISSUE: “DIGITAL TWINS”

“Digital Twins” have been touted as an analytical and conceptual game changer, capturing the attention of academic researchers, industry, and policymakers alike. Applications of digital twin frameworks span engineering and medicine, as well as urban planning and the social sciences. Some examples align closely to common definitions of digital twins, integrating real-time data streams, system perspectives, state-of-the-art analytics and AI, and computational power. Others, especially those dealing with social systems or where human systems interface with natural and built environments, are perhaps better thought of as “in the spirit of” a digital twin. Despite the current prominence of digital twins, challenges and questions remain, especially around definitions, suitable applications, technical requirements, and the barriers to digital twins delivering on their promise.

This special issue of Harvard Data Science Review (HDSR) will assemble state-of-the-art applications, methods, and perspectives, identify gaps and potential solutions, and assess the social, ethical, and economic impacts of a digital twin approach that is making inroads in nearly every aspect of society.

Contributions are invited that add clarity to general understanding of digital twins; we are especially interested in article submissions that endeavor to speak across disciplinary divides and application areas, finding commonalities in a fractured community of users, developers, and consumers of digital twin apparatuses, as well as on methods and theory to advance the quality and scientific rigor of digital twins.

SUBMISSION TOPICS

We especially welcome papers on the following topics:

- Defining digital twins, their historical development, and their relationships with synthetic data and generative AI

- Essential elements of digital twins across domains Innovative applications

- Data, technical, and other ongoing challenges

- Establishing the limits of digital twins and their unintended consequences

- Humans in the machine: dealing with behavior, preferences, and decisions

- Ethical aspects of digital twins (e.g., data, coverage, algorithms)

- Digital twin infrastructures and platforms

GUEST EDITORS

Michael Batty, University College London (UCL)

Rachel Franklin, Harvard University

S. V. Subramanian, Harvard University

Sarah Williams, Massachusetts Institute of Technology (MIT)

SUBMISSION CRITERIA All submissions will undergo the standard HDSR review process: single-blind assessment by at least two independent peer reviewers. Submissions should be processed through Editorial Manager and author guidelines must be strictly followed. Special issue submissions should be submitted as full manuscripts in the format of an HDSR template.

Please contact the HDSR Editorial Office at datasciencereview@harvard.edu with questions.
by Rohansi | 2025-08-22 15:54:33+00:00
Burst is an impressive piece of tech but it really only exists because both Mono and IL2CPP are shockingly slow. Mike Acton worked under DOTS which is the only place you'd actually see the benefits of Burst. The 99% (or more) of Unity games not using DOTS can barely use it because of its limitations. They are left to suffer with poor performance.

If you haven't seen it before you should check out the kind of code IL2CPP generates. Literally starts almost every function with a branch.

https://www.jacksondunstan.com/articles/4533 (2018 but still the same today!)
by gherkinnn | 2025-08-22 15:54:46+00:00
Completely besides your point, but Iran mandates a hijab (head scarf, no veil). Burkas (often blue, net in front of face) are mainly found (not sure if mandated or expected) in Afghanistan, whereas the Saudis use niqabs (the black veils). The hijab mandate being the least repulsive.

I know it's an odd nitpick, consider it a compulsion of mine.
by kemayo | 2025-08-22 15:55:08+00:00
Looking at ShareOpenly, I think this is basically a reaction to "Mastodon instances make social sharing complicated from the web". A "share to Mastodon" button is impossible, and a button for every Mastodon instance in existence is impractical. Thus a "fuck it, I guess just put in a URL and we'll work out how to send something to it" solution.

Speaking as someone who never ever uses a share button I think this is misguided, we should just remove that entire class of widget from the web, and people who want to share things can copy-paste the URL into their platforms of choice.
by duxup | 2025-08-22 15:55:27+00:00
LONG ago I worked at a company that had the engineering team work in support for roughly a week each year. Those who didn't find a way out of it were by far the best engineers as far as handling escalated support cases. It was like night and day, you could always tell if they had any support experience. Without fail the engineers with support experience solved problems faster and more accurately.

But like all such initiatives it vanished as it's hard to show how awesome it is and your average engineering manager's incentives are not to make support (the red headed step child of most orgs) better :(

It should apply to sales too. I often tell this story:

I was working tech support and a sales guy calls me up and says "Hey my customer is upset that you haven't fixed their problem." I look it up and it's a Priority 3 problem. I tell them, "I have 5 P1 tickets, 12 P2 tickets, and more P3 tickets." (Gave them a run down on our response metrics and so on too.)

They tell me to make their customer's ticket a P1. So I do.

They call back an hour later with the same complaint. I tell them "I have 6 P1 tickets ...."

I eventually got that sales guy and his customers taken care of and gave him a bit of an education on the processes and how to run through the escalation process more effectively. Even so it's amusing how hard it is for folks who don't juggle things like that to understand how that works.
by xyzzyz | 2025-08-22 15:55:32+00:00
The way Rust handles this is perfectly fine. String type promises its contents are valid UTF-8. When you create it from array of bytes, you have three options: 1) ::from_utf8, which will force you to handle invalid UTF-8 error, 2) ::from_utf8_lossy, which will replace invalid code points with replacement character code point, and 3) from_utf8_unchecked, which will not do the validity check and is explicitly marked as unsafe.
by lotharcable | 2025-08-22 15:55:44+00:00
If you are using podman "rootless" mode prior to 5.3 then typically you are going to be using the rootless networking, which is based around slirp4netns.

That is going to be slower and limited compared to rootful solutions like incus. The easy work around is to use 'host' networking.

If you are using rootful podman then normal Linux network stack gets used.

Otherwise they are all going to execute at native speed since they all use the same Linux facilities for creating containers.

Note that from Podman 5.3 (Nov 24) and newer they switched to "pasta" networking for rootless containers. Which is a lot better, performance wise.

edit:

There are various other tricks you can use for improving podman "rootless" networking, like using systemd socket activation. This way if you want to host services this way you can setup a reverse proxy and such things that runs at native speeds.
by patchymcnoodles | 2025-08-22 15:55:56+00:00
That is a very strange calculation for me or I missed something. This is an open-source project, so all human contributors cost zero. He does not count himself as a cost, ok fine and understandable if you don't wanna earn from this project it is kind of an ok look at cost.

But if I see it in this relation, because of Copilot his "team" costs now $41.73 a month more than before.

But the real cost that would be interesting is time value: Does he really spends less time for the same feature?
by spott | 2025-08-22 15:55:57+00:00
They are equivalent. In function signatures (what your article is talking about), using dict() instead of {} will have the same effect. The only difference is that {} is a literal of an empty dict, and dict is a name bound to the builtin dict class. So you can reassign dict, but not {}, and if you use dict() instead of {}, then you have a name lookup before a call, so {} is a little more efficient.
by abound | 2025-08-22 15:56:12+00:00
That's fair! I didn't know they were offering that. I think it's a recent development -- it's not generally available ("contact us"), and it seems more focused at enterprise-type deployments than end-user mail that your typical Fastmail/Protonmail/etc.

But for the original question:

> Is there any email hosting out there with support for JMAP?

Stalwart really isn't a practical answer, at least yet.
by thomashabets2 | 2025-08-22 15:56:30+00:00
Can't say I know the best way here. But Rust does this better than anything I've seen.

I don't think you need two code paths. Maybe your program can live its entire life never converting away from the original form. Say you read from disk, pick out just the filename, and give to an archive library.

There's no need to ever convert that to a "string". Yes, it could have been a byte array, but taking out the file name (or maybe final dir plus file name) are string operations, just not necessarily on UTF-8 strings.

And like I said, for all use cases where it just needs to be shown to users, the "lossy" version is fine.

> I simply get "error: invalid UTF-8 was detected in one or more arguments" and the application exits. It just refuses to work with non-UTF-8 files at all -- is this less sloppy?

Haha, touche. But yes, it's less sloppy. Would you prefer that the files were silently skipped? You've created your archive, you started the webserver, but you just can't get it to deliver the page you want.

In order for tarweb to support non-UTF-8 in filenames, the programmer has to actually think about what that means. I don't think it means doing a lossy conversion, because that's not what the file name was, and it's not merely for human display. And it should probably not be the bytes either, because tools will likely want to send UTF-8 encoded.

Or they don't. In either case unless that's designed, implemented, and tested, non-UTF-8 in filenames should probably be seen as malformed input. For something that uses a tarfile for the duration of the process's life, that probably means rejecting it, and asking the user to roll back to a previous working version or something.

> Forcing UTF-8 does not "fix" compatibility in strange edge cases

Yup. Still better than silently corrupting.

Compare this to how for Rust kernel work they apparently had to implement a new Vec equivalent, because dealing with allocation failures is a different thing in user and kernel space[1], and Vec push can't fail.

Similarly, Go string operations cannot fail. And memory allocation issues has reasons that string operations don't.

[1] a big separate topic. Nobody (almost) runs with overcommit off.
by whatevertrevor | 2025-08-22 15:56:43+00:00
That's where the analogy starts to fall apart then. Because the variance in those decisions is not very similar, since you're sampling very different underlying distributions. And estimating the priors for a problem like "what is the optimal arrangement of tables to maximize throughput in a cafe" is very different from a problem like "what is the current untapped/potential demand for a boardgaming cafe in this city, and how profitable would that business be".

The main reason why professional poker players are playing the long-game, is because they're consistently playing the same game. Over and over.
by raynr | 2025-08-22 15:56:58+00:00
As a layman, this too strikes me as the problem underlying the "confidently wrong" problem.

The author proposes ways for an AI to signal when it is wrong and to learn from its mistakes. But that mechanism feeds back to the core next token matcher. Isn't this just replicating the problem with extra steps?

I feel like this is a framing problem. It's not that an LLM is mostly correct and just sometimes confabulates or is "confidently wrong". It's that an LLM is confabulating all the time, and all the techniques thrown at it do is increase the measured incidence of LLM confabulations matching expected benchmark answers.
by porridgeraisin | 2025-08-22 15:58:02+00:00
That is consistent though. Constants take type based on context, so 8 * time.Hour has 8 as a time.Duration.

If you have an int variable hours := 8, you have to cast it before multiplying.

This is also true for simple int and float operations.

f := 2.0 3 * f

is valid, but x := 3 would need float64(x)*f to be valid. Same is true for addition etc.
by bccdee | 2025-08-22 15:58:20+00:00
Yeah the big problem is that most languages have their fair share of rough edges. Go is performant and portable* with a good runtime and a good ecosystem. But it also has nil pointers, zero values, no destructors, and no macros. (And before anyone says macros are bad, codegen is worse, and Go has to use a lot of codegen to get around the lack of macros).

There are languages with fewer warts, but they're usually more complicated (e.g. Rust), because most of Go's problems are caused by its creators' fixation with simplicity at all costs.
by NitpickLawyer | 2025-08-22 15:58:51+00:00
Just from a brief look at the repo they seem to be doing semantic embeddings w/ Qwen3-Embedding-8B, which should be in the high thousands pp t/s on recent hardware. With a sufficiently large dataset after using it for a while you could probably fine-tune a smaller model as well (4B and 0.6B available from the same family)
by brookst | 2025-08-22 15:58:58+00:00
You're conflating "correct themselves" with "are guaranteed to give the correct answer", which are two really different things. And in fact you're just echoing GP's point: their corrections can be wrong.

You case is no different from:

- AI: "The capital of France is Paris"

- User: "This is wrong, it changed to Montreal in 2005"

- AI: "You're absolutely right! The capital of France is Montreal"
by agentultra | 2025-08-22 15:59:10+00:00
This is great advice. It will work for introspective, self-reflecting managers who honestly want to do better.

Such a manager is extremely rare.

Most will be oblivious to their own biases and cognitive short-comings.

I don't think most "bad managers," even know that they're bad at their job. There's no accountability, no metrics, no performance reviews, no studies on their productivity... mostly because their "job" is to be the proxy for the power of the shareholders.

I applaud anyone who finds themselves an engineering manager and wants to be good at what they do and work for their team. It's hard to find a good manager.

But the only recourse for an IC under a bad manager is to quit or find another team to work on.
by empyrrhicist | 2025-08-22 15:59:17+00:00
Take PSA, since it's a simpler example. You're right that, if we screen everyone, taking action based on the outcome causes more harm than good. The response is to calibrate... which means we don't learn anything usefully actionable from the test and shouldn't apply it.

With the MRI, you don't get back simple dichotomous things, but you get back potential indications. That can be scary - talk about calibration all you want, but if patients see things and start thinking about the big C word there are likely to be a lot of unnecessary biopsies.

The bottom line is that it's possible to imagine a benefit, but it is not reasonable to pretend it's as simple as "just re-calibrate your interpretation of the results!". There's a reason that a lot of thought goes into when to do screening.
by ninetyninenine | 2025-08-22 15:59:25+00:00
There’s examples of humans who can’t learn. Have you seen the movie memento.

There are cases where humans lose all ability to form long term memories and outside of a timed context window they remember nothing. That context window is minutes at best.

According to your logic these people have no actual intelligence or sentience. Therefore they should be euthanized. You personally can grab a gun and execute each of these people one by one with a bullet straight to the head because clearly these people have no actual intelligence or sentience. That’s the implication of your logic.

https://en.m.wikipedia.org/wiki/Anterograde_amnesia

It’s called anterograde amnesia. Do you see how your logic can justify gassing all these people holocaust style?

When I point out the flaw in your logic do you use the new facts to form a new conclusion? Or do you rearrange the facts to maintain support for your existing conclusion?

If you did the later I hate to tell you this, it wasn’t very intelligent. It was biased. But given that you’re human, that’s what you most likely did and it’s normal. But pause for a second and try to do the former of using the new facts to form a different more nuanced conclusion.
by kibwen | 2025-08-22 15:59:26+00:00
> rooted in the ideology that the majority knows best

Let's be careful here, the point in favor of democracy is not that the majority knows best, but rather if that people are to be subject to laws, then those same people should have an equal share in determining what those laws are. IOW, the point of democracy is to give the people what they deserve, and no more.
by mdaniel | 2025-08-22 15:59:34+00:00
I get bitten by the "nil interface" problem if I'm not paying a lot of attention since golang makes a distinction between the "enclosing type" and the "receiver type"

package main import "fmt" type Foo struct{ Name string } func (f *Foo) Kaboom() { fmt.Printf("hello from Kaboom, f=%s\n", f.Name) } func NewKaboom() interface{ Kaboom() } { var p *Foo = nil return p } func main() { obj := NewKaboom() fmt.Printf("obj == nil? %v\n", obj == nil) // The next line will panic (because method receives nil *Foo) obj.Kaboom() } go run fred.go obj == nil? false panic: runtime error: invalid memory address or nil pointer dereference
Ask HN: Is React still the go to front end framework to learn?
by tgreiner | 2025-08-22 15:59:41+00:00
I haven't done frontend development since roughly 2015. I want to start deep diving into it again, but want to make sure I'm using a tool that's broadly applicable. Is ReactJS still the go to in 2025 to learn frontend development? I know all the AI tools can write pretty much anything for me, but I want to have an actual understanding of what code it is producing.
by sdfsdfgsdgg | 2025-08-22 15:59:42+00:00
> tar -l if you wanna list, l for list.

Surely you mean -t if you wanna list, t for lisT.

l is for check-Links.

-l, --check-links (c and r modes only) Issue a warning message unless all links to each file are archived.

And you don't need to uncompress separately. tar will detect the correct compression algorithm and decompress on its own. No need for that gunzip intermediate step.