MurphyA/hacker-news huggingface dataset:
by makeitdouble | 2025-11-24 02:49:12+00:00
Addiction is difficult to properly evaluate IMHO.

For instance alcohol addiction is extremely destructive at pathological levels, and we have a flurry of studies coming to a "no safe dose" conclusion. But we also have plenty of evidence on what happens when outright banning alcohol at large scale and it's not great either.

I'm not sure we have a good model or understanding yet of what it actually means to have addictive substances around and their social effects.
by Jach | 2025-11-24 02:49:26+00:00
I'm going to have to tap the sign for distrowatch not being a measure of popularity: https://blog.popey.com/2021/01/distrowatch-is-not-a-measure-... A very small number of linux users have ever even heard of distrowatch, much less ever visited it, it's totally irrelevant for anything other than news about distros, which again only a tiny portion of people care about.

But it is amusing when I hear about distros that are "doing numbers" and it's the first I've heard of them. I don't really care about how many downloads, though, what's more interesting is weekly or monthly active users based on unique IP hits to update servers. (Some distros track and publish this.) Recently Bazzite, a distro targeting gamers, hit 31.6k weekly active users, not bad for something only a couple years old. (Over 2 years ago, Ubuntu Desktop was at 6 million monthly active users.)

Smaller distros have more incentive to boost their perceived popularity -- as a Gentoo user I don't really care so much about popularity (and I'm happy to see more Linux adoption in general regardless of distro) but about longevity. But I guess props to Zorin, they've apparently been around as an Ubuntu derivative since 2009 despite this being the first I've heard of them. Yet only two years ago did they get the ability to dist-upgrade, so I wonder wtf they were doing for the prior years: https://blog.zorin.com/2023/07/27/zorin-os-16.3-is-released/
by nis0s | 2025-11-24 02:49:41+00:00
This gets brought up a lot because Americans perceive income inequality as a relatively more serious issue, and this perception is relatively more destabilizing for American society.

https://chinadatalab.ucsd.edu/viz-blog/seeing-inequality-in-...

I think this comparison also neglects that the poverty threshold in America is $15/day while in China is 3/day.

https://www.brookings.edu/articles/deep-sixing-poverty-in-ch...

It seems the article wants to misrepresent data for the purpose of riling people up.
by Barrin92 | 2025-11-24 02:50:00+00:00
a town square isn't just a place, it's always a polity that requires common values and a shared culture. Otherwise you at best have an airport lobby.

A town square in Cologne where 90% of participants don't hail from Cologne but London, Mumbai and San Francisco aren't going to solve the problems of Cologne or have any stake in doing so.

Which also reveals of course what Twitter actually is, an entropy machine designed to generate profit that in fact benefits from disorder, not a means of real world problem solving, the ostensible point of meaningful communication.
by josephg | 2025-11-24 02:50:24+00:00
> Both Option and Result can be unwrapped and - to some extent not coincidentally - both can also be subject to the Try operator (?) which is arguably more correct here than unwrap because this can fail and perhaps the caller will have some plan to recover.

I guess its equivalent to Go code like this:

value, err := stuff() if err != nil { panic(err) }

Or in C:

int result = stuff(); assert(result >= 0);

If someone wrote code like that and the program crashed, nobody would attack Go or C. In all these cases (including rust), the programmer is expressing clear, explicit intent for the program to panic if the call failed. I've seen some people say .unwrap() should be named .unwrap_or_panic() or something to make that more clear? I dunno. It seems like a nothingburger to me. A buggy program crashed. They'll do that.

> What sort of "interacting with raw pointers" are you thinking of that's too inconvenient and ugly for your liking?

I have 2 complaints. First, I wish Rust had a -> operator or something like it. This sort of thing is horrible:

(*(*(*ptr).foo).bar)

Secondly, rust's aliasing rules make writing pointer heavy code very difficult. I like to run my unsafe code through MIRI to make sure I'm not doing anything bad, and its incredibly subtle.

Here's an unsafe function which manages the internal state of a skip list:

https://github.com/josephg/jumprope-rs/blob/3981256e4e741d8b...

This code is insanely fragile. There are multiple pointers to different elements floating around. The only way I got miri to calm down was to dereference the node pointer constantly. Eg:

*cursor.num_bytes -= (*node).str.len_bytes(); let next = (*node).first_next().node;

Basically everything else I tried caused obscure aliasing problems. I think if I rewrote this code today I'd probably use a Vec and safe rust instead. I can much more confident write correct C code than correct unsafe rust code. I wish it were the other way around.

As a general principle, unsafe rust should be as simple and easy to reason about as possible so we can spot security problems. But rust's syntax makes unsafe code very complex. I don't think this complexity is in any way necessary.
by AnimalMuppet | 2025-11-24 02:51:04+00:00
Can anyone pass independent judgment on how accurate this is? (I mean, yes, he lays out all his sources and logic. I don't know enough to tell whether he's making an accurate assessment of the situation, or is trying to grind some particular axe.)

Because if this is true, it's massive. And it explains so much - starting with why everyone feels the economy is broken.
by AdieuToLogic | 2025-11-24 02:51:06+00:00
Why redeclare the function signatures in allocator.h[0] when they must match what is already defined by the C standard?

Since this is all allocator.h[0] contains aside from other include statements, why have allocator.h at all?

0 - https://github.com/t9nzin/memory/blob/main/include/allocator...
by dwaltrip | 2025-11-24 02:51:34+00:00
> Why semantic markup matters

> ...

> Web developers already went through all this with HTML. Prior to HTML5, you had <div> as a logical container. But HTML5 introduced <section>, <article>, <aside>, and many other elements that described the content.

Isn't the semantic web super dead? As in dead, buried, and decorated with countless generations of moss and lichen growing on its gravestone?

---

Edit: Huh, I guess it isn't as dead as I thought!

https://claude.ai/share/b4622d93-2724-4310-9cdd-95c99693a007
by Marsymars | 2025-11-24 02:51:38+00:00
> I live in an area that had outdated payment systems on their bus network. They determined that the cost to upgrade the payment systems would be higher than the revenue of fares, so they just made the buses free.

I'm strongly in favour of free transit, but this boggles my mind. If your payment system is just a box where people drop in tickets/change, it's pretty low cost, never gets outdated, and pretty high compliance.
by chrismorgan | 2025-11-24 02:51:48+00:00
I grew up in Australia, and have spent a fair bit of time in India for over a decade, and now live in India (1⅓ years).

Every ISP that I have experienced, mobile and broadband, is using CGNAT. The easiest way I’ve seen this on broadband is https://iknowwhatyoudownload.com/ showing several movie downloads per day.

Cloudflare isn’t the only problem, but they are the worst, probably by dint of popularity. I get blocked outright occasionally (presented dishonestly as because my request matched attack patterns due to things like SQL injection in query string parameters, when I’m actually just trying to load any regular page), and blocked with hCAPTCHA frequently (normally presented dishonestly with their stock page as “example.com needs to review the security of your connection before proceeding”, though a few like blender.org customise it). It’s draining.

In Cloudflare’s actual article, they claim their bot detection to be resilient to CGNAT <https://blog.cloudflare.com/detecting-cgn-to-reduce-collater...>. Frankly, if it is so, I wonder if they just have a rule that amounts to “is user in India”. I definitely feel prejudged and discriminated against. I am idly curious if leasing a static IP from my ISP would help anything, in the short or long term.

In Australia, I think I experienced Cloudflare’s blocking page once in my life, and no others.
by JKCalhoun | 2025-11-24 02:52:17+00:00
I think you're being too harsh. "Dense motherfuckers"?

My own sense is that these people are willfully ignorant. That is, they seek to find confirmation of what they already believe. Kind of human nature, really. It's sad that there is a complete infrastructure that spouts what these people want to hear, make lots of money doing so.
by notepad0x90 | 2025-11-24 02:53:12+00:00
Meta isn't a whole lot at fault, not that they didn't do wrong here, but that they behaved naturally, as expected of them.

You should absolutley expect companies to do whatever it takes to make the most profit, so long as they don't break the law. As a society, this failure should be put entirely at the foot of elected legislators who have been entrusted to pass laws to protect the public.

You shouldn't have to use less technology, quit social media, etc.. This things keep happening again and again, but by the time there are laws to do something about it, it's too late. At first I thought this reminded me of the tobacco industry, but now that I think about it, this is more akin to alcohol. You can't prohibit it, and you can only restrict it so much because of how abundant its use has become. But still, lots of lawmaking can still be done.
by fzeroracer | 2025-11-24 02:54:14+00:00
The Ethyl Corporation primarily, they had to quickly diversify and adjust their business model as a result of the US phase out of tetraethyllead. They managed to stem some of the bleeding by simply just...selling the rest to other countries before they instituted their own restrictions on leaded gas (which tells you how ethically sound said business was) but this was a massive change at the time considering just about every vehicle used leaded gas even if it was a slow rollout.
by Balgair | 2025-11-24 02:54:34+00:00
We know they're just optimizing for time spent on the site/app, as a proxy for the number of ads they show you and then get paid for.

But the thing that was supprising to me, as someone that remembers the world before the internet, is that anger is the thing that makes people stay on a site.

Before the internet came along, one would have thought that Truth would be the thing. Or funniness, or gossip, or even titalation and smut. Anger would have been quite far down on the list of 'addicting' things. But the proof is obvious, anger drives dollars.

There's no putting this knowledge away now that we know it.

The lesson only question is what are we going to do about it?
by saghm | 2025-11-24 02:54:56+00:00
> Example: the City has been trying to get rid of the RVs parked illegally on the streets, dumping their effluents and engine oil all over the City streets. To get these RVs off the streets, the City is spending $36M+ (and counting). So money can be found for the homeless, the RV dwelllers, etc. but not for the city's lawful residents and taxpayers.

I'd have to assume that the ones who are driving the political political pressure for this money to be spent as it is are the so-called "lawful residents and taxpayers"; I'm sure the groups you mention facing extra scrutiny would be happy for that money to go towards the buses instead. It's not hard to imagine that certain issues like RV parking get outsized attention pretty much for the exact same reason that the buses don't.
by cyberax | 2025-11-24 02:55:23+00:00
No. There is no way to import an existing key into the Secure Enclave. Only Apple is allowed to do that.

The best you can do is use the SE to decrypt the key and then use the clear text key for encryption/decryption.

This also means that passkeys on macOS/iOS are (at some point) exposed as clear text.
by intelec1 | 2025-11-24 02:56:09+00:00
In this one-day snapshot — the November 23, 2025 issue of The Washington Post — we assemble a mosaic of reports from one of the world’s leading newspapers to understand the story they tell about power in the United States. Secret strikes against drug traffickers, pressure on political opponents, an ultimatum to Ukraine, and an unprecedented merger of big money and the White House. We break down: – how the Trump administration pushed a covert military operation against drug cartels outside active combat zones — and why it caused panic inside the Pentagon and CIA; – how the Justice Department is turning into a tool of political retaliation against inconvenient figures: James Comey, New York prosecutors, and internal power struggles within the Republican Party; – the role of billionaires — from Silicon Valley to Wall Street — in financing a new political order, and why the slogan “drain the swamp” has turned into a privatization of that swamp; – what ultimatum was delivered to Ukraine: peace on terms favorable to Moscow under the threat of cutting military and financial aid, and why this plan shocked European allies and part of the Republican establishment.

This is not clickbait — it’s an attempt to answer the key question: what happens to democratic institutions when the law becomes a weapon instead of a limit on power? Do the rules bend — or eventually break — and what does that mean for the future of the United States, Ukraine, and the global order? If you value deep geopolitical and economic analysis without slogans and propaganda, subscribe, like, and share this episode.

#news #USA #Ukraine #Trump #politics #analysis #geopolitics #war #democracy #billionaires #USElections #WhiteHouse #economy #intelec1
by DaveZale | 2025-11-24 02:56:44+00:00
My experience over a few decades and several home ownerships is that debt plays an outsized role. You are paying a bank first with your mortgage payment, and that csn be 80-90% of your housing cost, which is partially defrayed by a tax writeoff. And the banks basically have a license to print money. We are all working for the banks to some extent. Could this change in the future? You bet it could... but we have to make it happen.
by vincenthwt | 2025-11-24 02:56:55+00:00
Background Context: I am a machine vision engineer working with the Halcon vision library and HDevelop to write Halcon code. Below is an example of a program I wrote using Halcon:

* Generate a tuple from 1 to 1000 and name it 'Sequence'

tuple_gen_sequence (1, 1000, 1, Sequence)

* Replace elements in 'Sequence' divisible by 3 with 'Fizz', storing the result in 'SequenceModThree'

tuple_mod (Sequence, 3, Mod)

tuple_find (Mod, 0, Indices)

tuple_replace (Sequence, Indices, 'Fizz', SequenceModThree)

* Replace elements in 'Sequence' divisible by 5 with 'Buzz', storing the result in 'SequenceModFive'

tuple_mod (Sequence, 5, Mod)

tuple_find (Mod, 0, Indices)

tuple_replace (SequenceModThree, Indices, 'Buzz', SequenceModFive)

* Replace elements in 'Sequence' divisible by 15 with 'FizzBuzz', storing the final result in 'SequenceFinal'

tuple_mod (Sequence, 15, Mod)

tuple_find (Mod, 0, Indices)

tuple_replace (SequenceModFive, Indices, 'FizzBuzz', SequenceFinal)

Alternatively, this process can be written more compactly using inline operators:

tuple_gen_sequence (1, 1000, 1, Sequence)

tempThree:= replace(Sequence, find(Sequence % 3, 0), Fizz')

tempFive:= replace(tempThree, find(Sequence % 5, 0), 'Buzz')

FinalSequence := replace(tempFive, find(Sequence % 15, 0), 'FizzBuzz')

In this program, I applied a vectorization approach, which is an efficient technique for processing large datasets. Instead of iterating through each element individually in a loop (a comparatively slower process), I applied operations directly to the entire data sequence in one step. This method takes advantage of Halcon's optimized, low-level implementations to significantly improve performance and streamline computations.
by codebje | 2025-11-24 02:57:02+00:00
Relocation information, primarily.

ELF supports loading a shared library to some arbitrary memory address and fixing up references to symbols in that library accordingly, including dynamically after load time with dlopen(3).

a.out did not support this. The executable format doesn't have relocation entries, which means every address in the binary was fixed at link time. Shared libraries were supported by maintaining a table of statically-assigned, non-overlapping address spaces, and at link time resolving external references to those fixed addresses.

Loading is faster and simpler when all you do is copy sections into memory then jump to the start address.
by Nextgrid | 2025-11-24 02:57:06+00:00
> They will disconnect your service and send your unpaid bills to collections

I've done it; both are true and yet not the end of the world:

Disconnect the service: this is obvious, but if you're doing this because the service is not usable and you are switching to another provider anyway, so good riddance? Best case scenario they magically fix the problem, worst-case no change.

Collections: yes, they called, I provided evidence of my communication with the provider trying to resolve it in good faith. Never heard back since and it's been 6 years.

Collections agencies have a business to run and focus on collecting valid debt. Invalid debt is a liability to them and they're not in the business of adjudicating disputes, so once provided with the evidence they drop the matter (of course the provider can still pursue you directly, which is why it's important to keep evidence of your good-faith efforts to resolve the matter).
by tfvlrue | 2025-11-24 02:57:29+00:00
> how you used an oscilloscope to diagnose the ~1ghz bandwidth DOCSIS signals on broadband cable

I should clarify that I didn't really do any _true_ diagnostic with the scope. Simply as an attempt to gather as much data as possible, I connected the oscilloscope to see what the signals looked like. And, because, why not. I had driven 2+ hours to get there, might as well try everything! I didn't expect it to actually be able to decode the signals. I was surprised to find a correlation between the modem losing sync and a visually-distinct pattern appearing on the scope though.
by theamk | 2025-11-24 02:57:56+00:00
Yeah, IPv6 is heavily tuned to the needs of the large-scale network operators, and is actively worse for the regular user and small networks.

From user/small admin standpoint, the goal is to re-use as much admin knowledge as possible - and what's on the wire does not really matter. So the ideal IPv4 upgrade _for users_ is IPv4 with larger addresses, but otherwise behaving identically. Ideally all the admin tooling stays the same, and the software needs changing some struct names, and tweaking IP regex. And sure, it'll all be different on the wire and all the OS'es need to be upgraded - but that is not a problem, consumer OS'es live only for a few years anyway.

From large network operator standpoint, the goal is improve efficiency of the huge networks. So lets eliminate NAT everywhere, completely redo host addressing, get rid of DHCP, and so on - redesign everything from scratch so it's "better". Sure, it's a huge learning curve but they have departments full of network engineers, they can do it. They are not some part-time sysadmins who just want their network to keep functioning.
by nyc_data_geek | 2025-11-24 02:58:42+00:00
I just did this on Youtube for the first time in a while, and it won't show me videos unless I start watching things first, unless I go to Shorts, where I am presented with an infinite scroll of what appears to be deeply unsettling and uncanny short AI generated engagement bait videos.

It's baffling to me that they get away with this.
Show HN: Stun LLMs with thousands of invisible Unicode characters
by wdpatti | 2025-11-24 03:00:31+00:00
I made a free tool that stuns LLMs with invisible Unicode characters.

*Use cases:* Anti-plagiarism, text obfuscation against LLM scrapers, or just for fun!

Even just one word's worth of “gibberified” text is enough to block most LLMs from responding coherently.
by JoshTriplett | 2025-11-24 03:00:38+00:00
Notable quotes:

> “The U.S. poverty line is calculated as three times the cost of a minimum food diet in 1963, adjusted for inflation.”

> If you keep Orshansky’s logic—if you maintain her principle that poverty could be defined by the inverse of food’s budget share—but update the food share to reflect today’s reality, the multiplier is no longer three.

> It becomes sixteen.

I'm not sure how accurate the methodology is to come up with the specific budget that produces the number "sixteen" here, but broadly speaking, it seems extremely likely that the number is no longer "three", and thus the conclusion that the "poverty line" is broken seems quite likely.
by Nextgrid | 2025-11-24 03:01:35+00:00
Generally dialogs that require sensitive input provide some way for the user to ensure they are issued by the OS and not a random program. Windows historically used the Secure Attention Key (that's why domain-linked machines used to require pressing Ctrl+Alt+Del to login, to train users to only enter credentials in secure contexts) which is a key combo that the OS always intercepts and thus once pressed you can be assured you are typing into a trusted UI and not a piece of malware emulating the trusted UI.

Of course, this was back in the day when computers were primarily a productivity tool and not an ad delivery vehicle, so it's unlikely this problem will ever be solved.
by djohnston | 2025-11-24 03:02:39+00:00
You keep exclaiming I have some racial hatred but I really don't. You know who else hates these violent career criminals? Black people just trying to get on with their lives! They're the ones that suffer the most, statistically speaking.

It's white leftists who expose everyone to these threats through their crime-tolerant policies. You will never change until you experience the consequences of such policies first hand, like she did. In the meantime you're happy for everyone else's children to be sacrificed at the altar of progessivism so long as you can keep that Wojak smirk on your face and maintain an heir of (assumed) moral superiority.

Only one of us has blood on their hands. You would never say that (^) to anyone but you're content implementing it through the consequences of your political ideology.

FWIW I'm sorry I said that and I don't wish that for you.
by saghm | 2025-11-24 03:02:55+00:00
This was a minor plotline in one episode of The West Wing where they discussed a couple of the details the article gives about it, with the additional claim (which I'm unsure of the truth of) that it was influenced by the creator of it having grown up in the Soviet Union and therefore having incorrect assumptions about how much food prices would influence poverty in the long term. (I forget how it turned out, but I remember that the member of the administration hearing about this was at least initially against updating the poverty line calculation because it would cost them politically for the number of poor people to go up while they were in charge, to which the expert describing the new explanation replied that they already are poor, and the new calculation would just be recognizing that fact).
by shunia_huang | 2025-11-24 03:03:23+00:00
So true when I'm running multiple agents in one project with multiple terminal windows. For example, with one working on implementing tests and another working on features, the feature agents will complain that the tests are not working and need fixing, while the test agent(s) will report outdated test coverage results due to newly introduced files.

It's annoying and hilarious at the same time.
by varenc | 2025-11-24 03:04:22+00:00
side note: It's interesting that the `sc_auth` CLI tool to create the SSH key, is just a bash script! It seems truly ancient, and has comments referencing mac OS Tiger (20+ years old) and non-existent files from old macOS. It calls out to '/System/Library/Frameworks/CryptoTokenKit.framework/ctkcard' (not on PATH) to actually create the ssh key.