MurphyA/hacker-news huggingface dataset:
by metek | 2025-11-23 08:26:09+00:00
I've recently started going full send and using Ad-Nauseaum instead of simply using an ad-blocker. I've even started seriously boning up on Javascript to see if I can come up with some horribly hacky :click:hover:focus smokescreen sideload.

I'm sick to death of companies thinking they have any right to keep tabs on me because they think it'll make them a buck.
by vee-kay | 2025-11-23 08:26:40+00:00
I think we are talking of the same thing, but from different perspectives.

If I understand you, you are talking of non-AI-generated social media content posted by and interacted by humans vs the AI-generated junk created by AI bots & script kiddies. You probably feel the internet is getting diluted as the authentic (human-created) content is replaced or superceded by junk stuff (AI generated or trolling content) that are more irrelevant fluff & unavoidable diversions than the real raw human-driven content and exchange of ideas spurring meaningful dialogues.

I am talking of same human created social media (and news media, and info-repository media (including wikipedia, books, journals, etc.)) content created and maintained by humans, which unfortunately tend to have inherent bias & skewed ideologies leading to bad/unwarranted behavior. But when all that online and offline content is consumed as data repository and training material for AI LLMs, then the AI bots will inherit and demonstrate those same biases, skewed ideologies and resulting bad behavior.

e.g., the main subreddit (under Reddit.com) for my nation, is operated by admins belonging to enemy nation. They use bots for such propaganda. Reddit knows this problem, but hasn't bothered to do anything about it, because that bias and malice against my country and its culture is widespread among Leftists, who own and control most of social media, news media, info-repositories (like Wikipedia, which too openly spreads such propaganda). So that subreddit is filled with hate posts and malicious misinformation about my country and culture. Last year, Google made a deal to absorb all Reddit content, in order to train it's AI LLM models. Now guess what those AI LLMs will think and say about my country and culture?

You miss the real human content and realistic online interactions, but I feel you are missing the fact that such content will always have bias and driven by ideologies or opinions. But perhaps that difference in ideas and opinions is what you seek. You are probably afraid that AI will replace such content creators and content, thus leading to boring online communities and lack of meaningful interactions.

I am afraid that such human created content and bias will inevitably percolate into AI LLMs content and behavior, and it will forever skew the world's opinion about my nation and its ancient culture.

Unfortunately , it looks like AI will reshape our online realities and interactions to make it all a worser place from which there's no return or escape (AI will become all-pervasive in our lives, whether we like it or not).
by pjerem | 2025-11-23 08:26:54+00:00
I’d say it depends. I always advocate for code that is easy to read and to understand, but in extremely rare conditions, hard to read code is the better solution.

Especially when it comes to signatures in Typescript, complex signatures can be used to create simple and ergonomic APIs.

But anyway you shouldn’t be allowed to push anything like this without multiple lines of comments documenting the thing. Unreadable code can be balanced with good documentation but I rarely saw this unfortunately.
by themafia | 2025-11-23 08:27:48+00:00
Scrambling and encryption are two different things. Scrambling is very easy to do at line rates. Encryption not so much.

Ethernet is a good example. It has the same problem where long strings of 0's or 1's can cause clock recovery problems. The solution as clock rates have increased is to just run all the data through a scrambler driven by a simple Linear Feedback Shifter.
by b0rbb | 2025-11-23 08:28:17+00:00
I worked at the main Kodak tower in Rochester for a few years in the early 2000s. Mainly as a paid IT intern of sorts to earn some additional money in college.

I often had to go to the basement there to store equipment, get equipment, etc.

The stuff I'd see down there was WILD. TONS of old movie/film paraphernalia in the form of posters, plaques with celluloid celebrating various movie releases, and tons of unmarked old film canisters. There was also a TON of old tech down there.

I used to joke that I felt like I was in that Hanger 51 warehouse from the end of Indiana Jones and The Ark of the Covenant.

It's a shame things went down as they did for Kodak. I really enjoyed those years I worked there. They used to make killer tuna melt paninis in their cafeteria area near the top of the tower and in the summer months I'd keep my car parked at work and just walk across the street to see the Rochester Red Wings play (AAA minor league baseball team).
by RedAlakazam | 2025-11-23 08:28:36+00:00
As someone who was born without a sense of smell this is incredibly intriguing to me. I've always wondered if there's gonna be a time in my life where I'd be able to experience *any* kind of smell through some new scientific discovery. And maybe this is it.

Could I shoot you guys a message when I make my way down to Caltech to try this out someday? :)
by kennywinker | 2025-11-23 08:29:19+00:00
Ah, yeah you’re right. I somehow thought typescript could do type narrowing based on checks - like say:

If (i >= 1) { // i’s type now includes >= 1 }

But that is not the case, so you’d need a single cast to make it work (from number to ClampedNumber<1,200>) or however exactly you’d want to express this.

Tbf having looked more closely into how typescript handles number range types, I don’t think I would ever use them. Not very expressive or clear. I think I hallucinated something closer to what is in this proposal: https://github.com/microsoft/TypeScript/issues/43505

I still think that the general idea of communicating what acceptable input is via the type system is a good one. But the specifics of doing that with numbers isn’t great in typescript yet.
by hobofan | 2025-11-23 08:29:22+00:00
Yes, the author conflates two different use-cases.

Markdown is the answer for "how do we enable people that don't want to invest a lot of time into producing content that's somewhat better than plain text?".

It's not trying to solve the problem of "how do we enable people that are willing to invest time into learning to produce the best possible and most structured content possible?" and I doubt that there will be language that will serve both of those use-cases very well.
by deaux | 2025-11-23 08:29:32+00:00
Sometimes? Even on HN, where people are in the top 20% of "not making writing mistakes", compared to the general population, I see more people using i.e. wrong than I see people using it right. And sure descriptivism so now it just means that blahblah, it sucks because we already have e.g. for that and it makes i.e. pointless.
by Dambalala | 2025-11-23 08:29:37+00:00
This is fun. It's the sort of pet that has gone viral before.

One thing.. Calling any device "the first musical robot" ignores some interesting and important parts of well documented computational history that predate this product by hundreds of years:

Self playing organs(1800's), pianos(1800's), musical clocks(1500/1600's).. Things like this have existed for ages as fully automated and programmable musical "robots". They shaped 19th century ideas about computation. Ada Lovelace and Charles Babbage explicitly referenced musical automata in their work.

https://en.wikipedia.org/wiki/Vaucanson_Flute_Player here's a cool example
by adrian_b | 2025-11-23 08:29:42+00:00
The use of water for moderation is one thing, the use of water for cooling is another thing, even if in many reactors water is used for both purposes.

A reactor can be moderated with something else than water, e.g. graphite, but it may still need water for cooling.

The amount of water needed for cooling is much more than needed for moderation.

So there is no doubt that many "non-water moderated reactor designs" still need copious amounts of cooling water.

Any "non-water moderated reactor design" that does not have liquid fuel, i.e. it is not a molten-salt design, must have a cooling fluid, though the fluid in the primary cooling circuit may be not water, but something else, e.g. molten metal (e.g. molten sodium) or supercritical carbon dioxide.
by Someone | 2025-11-23 08:30:22+00:00
A few paragraphs down, they say:

“Unfortunately, one of the three trustees has irretrievably lost their private key, an honest but unfortunate human mistake, and therefore cannot compute their decryption share. As a result, Helios is unable to complete the decryption process, and it is technically impossible for us to obtain or verify the final outcome of this election.”

⇒ that first paragraph is badly worded, but they’re not hiding facts.

I also think “3 out of 3” is not a good idea, as it allows any single key holder to prevent election outcomes that they don’t like (something that may have happened here, too. I don’t think cryptography experts often lose such keys by accident)
by Lerc | 2025-11-23 08:30:47+00:00
There are certain statements that should make you wary of study findings.

People who x reported y is one of those phrases.

“people who stopped using Facebook for a week reported lower feelings of depression, anxiety, loneliness and social comparison,”

This is the same argument you see in cosmetic advertising as "Women who used this serum reported reduction in wrinkles"

If the study has evidence that people who x actually shows y, It would be irresponsible to not say that directly. Dropping to "people reported" seems like an admission that there was no measurable effect other than the influence of the researchers on the opinions of the subjects.

Mental state can be difficult in this respect because it is much harder to objectively measure internal states. the fact that it is harder to do, doesn't grant validity to subjective answers though.

I was once part of a study that did this. It was fascinating seeing something that appeared to have no effect being written up using both "people reported" and "significant" (meaning, not likely by chance, but implying a large effect to the casual reader).
by anal_reactor | 2025-11-23 08:30:55+00:00
> You’re in transit, you’re going somewhere but the journey itself takes up the majority of the experience.

That's how most people function. People work their asses off so that they can do something fun two weeks a year.

> Another thing about being a pop star is that you cannot avoid the fact that some people are simply determined to prove that you are stupid.

Because even though people clearly have different levels of intelligence, saying this out loud goes against values of the society, and keeping the society together is more important than being truthful. This is one of those things that "normies" understand subconsciously but never articulate, while autists rarely understand because it's never articulated.

> Another thing about being a pop star is that you cannot avoid the fact that some people are simply determined to prove that you are stupid

Pop star gets successful by playing a role of a stupid person. Some people think she's actually stupid. It doesn't take a degree in social sciences to connect the dots.

> I’ve always wondered why someone else’s success triggers such rage and anger

Jealously has existed since the dawn of time. Various cultures have sayings along "nothing makes one happier than someone else's misery".

> the patriarchal society

I've noticed that many people who see themselves as oppressed get tunnel vision and attribute lots of unrelated problems to said oppression. This is one of those subconscious biases that exist because having them gives you massive social advantage because you can get all the pity you want.

> Over recent years some people seem to have developed a connection between fame and moral responsibility that I’ve never really understood.

Rich and famous people have power. They're expected to use that power for good regardless of how they got the power.
by ycombiredd | 2025-11-23 08:31:45+00:00
My first guess wouldn't be routing, but traffic-shaping.

Perhaps the VPN you use is on a protocol/port that isn't outright rate-limited and since ATT can't peak inside your tunnel to see what you are doing with the bandwidth, it avoids any QoS/shaping/limiting that your non-VPN connection is subjected to.
by bmacho | 2025-11-23 08:31:52+00:00
I don't know if they used such a method, but it is possible to provide a proof for the key before it is actually useful.

E.g. everyone provides a hash for their key first, and the actual key a some seconds later, when all the hashes for the keys have arrived. Someone is 'cheating' by claiming key loss if s/he claims the s/he lost the key during that few seconds.
by zkmon | 2025-11-23 08:33:14+00:00
Nope. This is just greed to make most of the moment without any thought for tomorrow. Nobody knows or cares where it takes us, but everybody knows that there is money to make today. So you need a model to analyze the economy with greed as the only driving force without any foresight. Add some parameters to account for monopolistic forces, human desire to be lazy and dumb thinking it is progress, and losing all biological senses to devices. That may give a better prediction.
by MrJohz | 2025-11-23 08:33:57+00:00
If you ignore the `satisfies` for a moment, the type of `person` is the literal object type that you've written (so in this case, { "person": string, isCool: true }). So coolPeopleOnly(person) works, regardless of whether `satisfies` is there, because TypeScript sees an object literal that has all the person attributes and also `isCool: true`.

(You could mutate it to `isCool: false` later, but then TypeScript would complain because `isCool: false` is different to `isCool: true`. When that happens isn't always obvious, TypeScript uses a bunch of heuristics to decide when to narrow a type down to the literal value (e.g. `true` or `"Jerred"`), vs when to keep it as the more general type (e.g. `boolean` or `string`).)

What `satisfies` is doing here is adding an extra note to the compiler that says "don't change the type of `person` at all, keep it how it is, _but_ also raise an error if that type doesn't match this other type".

(This is only partially true, I believe `satisfies` does affect the heuristics I mentioned above, in that Typescript treats it a little bit like `as const` and narrows types down to their smallest value. But I forget the details of exactly how that works.)

So the `coolPeopleOnly` check will pass because the `person` literal has all the right attributes, but also we'll get an error on the literal itself if we forget an attribute that's necessary for the `Person` type.
by fragmede | 2025-11-23 08:34:35+00:00
Being against lockdowns from day 1 wasn’t some principled pro social stance. Day 1 was when we had no vaccines, no immunity, no treatments, and hospitals were already buckling from basic spread. Opposing mitigation at that moment wasn’t foresight, it was ignoring exponential math.

You can absolutely argue the execution was messy and the fallout was real. Lots of people agree with that. But holding up early blanket opposition as if it was the reasonable position is just rewriting the conditions we were actually in. The only reason things look manageable now is because immunity and treatments exist. Day 1 without them didn’t magically support the world staying fully open.
by defanor | 2025-11-23 08:35:24+00:00
> We're so ready and willing to punish individuals for harm they do to other individuals, but if you get together in a group then suddenly you can plot the downfall of civilization and get a light fine and carry on.

Surely "plot the downfall of civilization" is an exaggeration. Knowing that certain actions have harmful consequences to the environment or the humanity, and nevertheless persisting in them, is what many individuals lawfully do without getting together.
by popcorncowboy | 2025-11-23 08:35:33+00:00
This is the "Wait Calculation" and it's fiendish because there exists only some small, finite window in which it is indeed better to start before the tech is "better" in order to "win" (i.e. get "there" first, wherever "there" is in your scenario).

Here's a nice article about it: https://www.oneusefulthing.org/p/the-lazy-tyranny-of-the-wai...
by josephg | 2025-11-23 08:36:10+00:00
What else?

I want figures. I want linked references. I want custom styling for images, and for blocks of text (eg warnings, notes, etc). I want a TOC and numbered chapters and sections. Sometimes I want a bibliography. Or a table generated from data within a JSON file.

You don't need this stuff for a readme file. But IMO markdown isn't powerful enough for blog posts, documentation or longer form content.
by sevenoftwelve | 2025-11-23 08:37:41+00:00
Cryptographer and IACR member with a tiny bit of inside knowledge here.

To me, the entire matter is mostly amusing; the negative impact on IACR is pretty low. I now have to spend 10-15 minutes voting again. No big deal.

It saddens me that Moti Yung is stepping down from his position as an election trustee; in my opinion, this is unwarranted. We have been using Helios voting for some time; this was bound to happen at some point.

Don't forget that the IACR is not a large political body with a decent amount of staff; it's all overworked academics (in academia or corporate) administering IACR in their spare time. Many of them are likely having to review more Eurocrypt submissions than any human could reasonably manage right now. There are structural issues in cryptography, and this event might be a symptom of the structural pressure to work way more than any human should, which is pervasive not just in cryptography, but in all of science.

From what I heard on the grapevine, this scenario was discussed when Helios was adopted; people wanted threshold schemes to avoid this exact scenario from the start, but from the sources I can find, Helios does not support this, or at least it does not make threshold encryption easy. The book Real-World Electronic Voting (2016)[^0] mentions threshold encryption under "Helios Variants and Related Systems", and the original Helios paper (2008)[^1] mentions it as a future direction.

You don't have to tell these academics that usable security is important. Usable security is a vital and accepted aspect of academic cryptography, and pretty much everyone agrees that a system is only as secure as it is usable. The hard part is finding the resources—both financial and personnel-wise—to put this lesson into practice. Studying the security of cryptographic systems and building them are two vastly different skills. Building them is harder, and there are even fewer people doing this.

[^0]: Pereira, Olivier. "Internet voting with Helios." Real-World Electronic Voting. Auerbach Publications, 2016. 293-324, https://www.realworldevoting.com/files/Chapter11.pdf

[^1]: Adida, Ben. "Helios: Web-based Open-Audit Voting." USENIX security symposium. Vol. 17. 2008, https://www.usenix.org/legacy/event/sec08/tech/full_papers/a...
by bell-cot | 2025-11-23 08:38:00+00:00
The subtitle reveals that it's a small data set: "In an analysis of nearly 900 retracted medical-research studies, the number of female authors is disproportionately low."

I'd chalk it up to women medical researchers being relatively risk-adverse, and believing that they'd be thrown under the bus for "shortcomings" that a male would probably get away with.

There's nothing particularly modern, western, or gender-coded about that behavior. Social status let you get away with more and worse transgressions back when pyramid-building certs were a ticket to success.
Ask HN: NPM docs re. changes to auth, token management are a mess, what to do?
by DemocracyFTW2 | 2025-11-23 08:38:00+00:00
NPM has been bugging for some time now to update my "write-enabled granular tokens" and links me to https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/

Frankly, that document is a complete communication failure. It is pure nerdview written in nerdalese. Nobody whose mother hasn't come down in the server room can possibly understand what this document intends to communicate, or what to do about it, or even whether you have to do anything about it.

They helpfully points to the NPM documentation which apparently has been updated to reflect the newest changes BUT what they link to is literally https://docs.npmjs.com/ which—unsurprisingly—gets you to the NPM documentation front page. That page has two identical lists of such existing topics as "About npm", "Getting started", "Packages and modules", "Integrations", "Organizations", "Policies", "Threats and mitigations", "npm CLI", but apparently none that is specific to the policy change and "granular writable tokens" or whatever.

I'm completely lost. How do I test whether I have to change anything? If I have to change something, what data will be affected on my side and the remote side? What tools do I have to use, can I use a web address or should I use the npm (or pnpm) CLI tools? What will I have to do in the future? Will I have to go through the procedure every 30 days looking forward? What are the consequences if I miss a date, can I somehow revert?

None of these simple, obvious and important questions is apparently covered in any way by the pages that I was made to click through to. All I know now that have to worry about grainy write tokens.
by mariusor | 2025-11-23 08:38:08+00:00
The world is quite a lot bigger than Illinois though.

And it seems I need to spell it out for you, right there in the US during the same times, children of black people in the south didn't get access to education[1]. Serfdom was a thing in Europe until the early 1900, serfs children didn't get access to proper education[2]. I'm giving you a link to Russian education, but the whole of Eastern Europe was at a similar level. I don't know what kind of rose tinted cool aid you guys have been drinking.

[1] https://en.wikipedia.org/wiki/Education_during_the_slave_per...

[2] https://en.wikipedia.org/wiki/Russian_Empire#Education
by rich_sasha | 2025-11-23 08:39:56+00:00
I sort of thing the article has a point, though I disagree with the arguments. C++ 20 years ago was simple, sure. Today? I think it's on par with Rust. And both kind of have a simple core you can stick to if you like.

Saying project directory structure is complex is IMO crazy, since a fair comparison would be to general package/dependency management on C++ which is a brain explosion.

Where they do have a point is that I would hope, we can create a language that is at the same time fast, safe and simple to use. Right now we have a tradeoff triangle. Rust is safer than C++, about as fast, and arguably harder to use. Something gives.

The article absolutely has a point that C is trivial to pick up, and surely that fueled the explosion of software.
by kaoD | 2025-11-23 08:40:25+00:00
> Suddenly this typing problem goes away, because the type of your "flatten" method is just "MyStructure -> [MyElements]".

How is that less maintenance burden than a simple Flatten type? Now you have to construct and likely unwrap the types as needed.

And how will you ensure that you're flattening your unneeded type anyways? Sure you can remove the generics for a concrete type but that won't simplify the type.

It's simple. It's just recursive flattening an array in 4 lines. Unlikely to ever change, unlike the 638255 types that you'd have to introduce and maintain for no reason.

There are many reasons not to do that. Say your business logic changes and your type no longer needs one of the alternatives: you are unlikely to notice because it will typecheck even if never constructed and you will have to deal with that unused code path until you realize it's unused (if you ever do).

You made code harder to maintain and more complex for some misguided sense of simplicity.