MurphyA/hacker-news huggingface dataset:
by ben_w | 2025-12-28 22:46:04+00:00
If "will never purchase their own home" was a reason to not have kids, many more people in previous generations would've been childless.

What has changed is expectations. The room I rented in my final year of university, and that was only 20 years ago, would (I think) no longer be legal: too poorly insulated. Very cheap though, I think it was £40 a week? Even after adjusting that for inflation since then, that was cheap. But it's (I think?) no longer possible.

Expectations for things that can be bought have gone up faster than our ability to buy them. We didn't used to all expect to be able to fly somewhere on holiday. We didn't used to all expect to have a phone — and I don't just mean a smartphone, or even a mobile phone, my first partner was a bit older than me, born in the 70s, their family didn't have a landline. All the streaming services are expensive, I grew up with 4 free-to-air channels and no internet (not even a dialup modem) let alone broadband that you need to stream video. Smart bulbs for mood lighting can quickly become expensive, I grew up in an upper middle class house and yet it had one, singular, dimming switch for the incandescent bulb it took. A microwave was a fancy accessory, not standard, when I was a kid. It all adds up.

Also, our expectations for relationships have gone up faster than humans could ever change, as our expectations follow not reality but rather perception. Sure, the perception was already off when I was young, we had unrealistic body goals in high-gloss magazines and Hollywood glamour and unrealistic romances in stories and unrealistic sex in porn, but even with that the quantity one could consume was relatively limited… and now we have the highest-rated content from our always-on social media accounts, A/B tested to be more appealing than reality, and even when it isn't AI-enhanced or photoshopped, it's still the final cut to the cutting room floor of having to deal with flawed real people.
by amluto | 2025-12-28 22:46:19+00:00
> I think you mean that 64 bits of hash output could be trivially collided using, say, Pollard's rho method. But it turns out that simple collisions are not an issue for such hashes used as identities.

No. I mean that 64 bits can probably be inexpensively attacked to produce first or second preimages.

It would be nice if a decentralized crypto system had memorable key identifiers and remained secure, but I think that is likely to be a pipe dream. So a tool like gpg shouldn’t even try. Use at least 128 bits and give three choices: identify keys by an actual secure hash or identify them by a name the user assigns or pass them directly. Frankly I’m not sure why identifiers are even useful — see my original complaint about keyrings.

>> ...I should not even be able to do them separately even if I want to.

>Alas that is not possible. The problem is intrinsic to end to end encrypted messaging. Protocols like PGP combine them into a single key fingerprint so that the user does not have to deal with them separately.

Huh? It’s possible. It’s not even hard. It could work like this:

$ better_gpg decrypt_and_auth --sender_pubkey [KEY] --recipient_privkey [KEY]

Ciphertext input is supplied on stdin. Plaintext output appears on stdout but only if the message validates correctly.
by Lerc | 2025-12-28 22:48:44+00:00
I did some simple experiments and fairly swiftly discovered where I went wrong. I'm still not totally convinced that there isn't something clever that can be done for more operations.

My next thought is maybe you can do some interesting shenanigans by jumping to the nearest point on one surface then calculating a modulation that adjusts the
distance by an amount. I can certainly see how difficult it would become if you start making convex shapes like that though. There must be a way to take the min of a few candidates within the radius of a less precise envelope surface.
by bjackman | 2025-12-28 22:48:46+00:00
I would recommend x86.

Ok that's mostly a joke, I'm just not up to date on what platforms exist these days that are done properly. Back in my day the Texas Instruments platforms (BeagleBoard) were decent. I think there are probably Rockchip-based SBCs today (Pine64 maybe?) that add up to something sensible but I dunno.

The thing with the boot chain is that e.g. the Pi has a proprietary bootloader that runs via the GPU. You cannot just load a normal distro onto the storage it needs to be a special build that matches the requirements of this proprietary bootloader. If your distro doesn't provide a build like that, well, hopefully you're OK with changing distro or ready to invest many hours getting your preferred distro working.

(Why only "mostly joking?" I recently repurposed an old ThinkPad to use as a home server and it's fucking great. Idles under 4W, dramatically more powerful than a Pi5, has proper UEFI and proper ACPI and all the drivers work properly, including the GPU. Would cost about the same on eBay as a Pi. Only remaining reason I can see for an Arm board is if you're specifically interested in Arm or have very specific space constraints).
by ab227 | 2025-12-28 22:48:54+00:00
This is a great framework for self-development, but I wonder if the Job vs. Gym analogy is a bit premature. There seems to be a level of Silicon Valley optimism here that assumes AI already surpasses human capability in these creative areas. From my perspective, AI only outperforms in areas where the human hasn't developed a real craft. Is it possible that the current hype is causing us to undervalue the unique quality of human-only output?
by Swizec | 2025-12-28 22:49:30+00:00
> > but optimists win.
> Win.. what?

Depends what you want to win?

You won’t have happy kids and a good family life, if you don’t think it’s possible. Same as you won’t make a cool open-source library, if you aren’t optimistic (or naive) enough to go work on that.

And if you keep saying everything is impossible a huge drag extremely worthless and why even bother trying, you won’t get the fun projects at work.
by xboxnolifes | 2025-12-28 22:49:51+00:00
How I see it, LLMs aren't really not much different than existing information sources. I can watch video tutorials and lectures all day, but if I don't sit down and practice applying what I see, very little of it will stick long term.

The biggest difference I see is, pre-LLM search, I spent a lot more time looking for a good source for what I was looking for, and I probably picked up some information along the way.
by davnicwil | 2025-12-28 22:50:16+00:00
there could also be an almost chaos-monkey-like approach of cutting off the assistance at indeterminate intervals, so you've got to maintain a baseline of skill / muscle memory to be able to deal with this.

I'm not sure if people would subject themselves to this, but perhaps the market will just serve it to us as it currently does with internet and services sometimes going down :-)

I know for me when this happens, and also when I sometimes do a bit of offline coding in various situations, it feels good to exercise that skill of just writing code from scratch (erm, well, with intellisense) and kind of re-assert that I can do it now we're in tab-autocomplete land most of the time.

But I guess opting into such a scheme would be one-to-one with the type of self determined discipline required to learn anything in the first place anyway, so I could see it happening for those with at least equal motivation to learn X as exist today.
by conartist6 | 2025-12-28 22:51:36+00:00
I wasn't talking about Hungarian notation. I meant more like if you see a variable named `user` or `activeUser` you know that it's going to contain a predictably-shaped data object that describes a user. E.g. it will always have a `user.id` property. I would never call an string-ish ID a user, then. I would call it `activeUserId` or `userId` or just `id` if the distinction between those was already obvious from context... But that's very different from writing `strUserId` which I never do: I try to make sure my names always convey semantic distinctions.
by Snarwin | 2025-12-28 22:51:56+00:00
The oldest defer-like feature I can find reference to is the ON_BLOCK_EXIT macro from this article in the December 2000 issue of the C/C++ Users Journal:

https://jacobfilipp.com/DrDobbs/articles/CUJ/2000/cexp1812/a...

A similar macro later (2006) made its way into Boost as BOOST_SCOPE_EXIT:

https://www.boost.org/doc/libs/latest/libs/scope_exit/doc/ht...

I can't say for sure whether Go's creators took inspiration from these, but it wouldn't be surprising if they did.
by zingar | 2025-12-28 22:52:11+00:00
I don’t see anyone in these replies really addressing the touchpad. Would love to hear from people who have used macbooks if they have found a Linux machine that matches the Apple trackpad.

“Never tried a MacBook, my Linux machine trackpad always worked perfectly” is the usual response I get when I press for a response… but without trying Apple (on this one thing) you’ll never understand until you’ve experienced the downgrade.
by shikshake | 2025-12-28 22:52:35+00:00
Your comment really resonates with me, I’m in a similar position though much more junior. My colleagues in tech can’t fathom that I actively choose to stay where I am and make 50% of their salary.

I’ve found talking about ethics and moral responsibility with people working in big tech is futile and frustrating. Almost everyone takes it as a personal attack though I never hold anyone else to my moral standards.
by why-o-why | 2025-12-28 22:53:25+00:00
>> Cynical writing is like most medicines: the dose makes the poison. A healthy amount of cynicism can serve as an inoculation from being overly cynical.

I disagree. Cynicism is a toxicity and will fester. Anecdata: I only know people that are either 0% cynical or 100% cynical (kinda like how people feel about Geddy Lee's voice).

>> Tech companies have a normal mix of strong and weak engineers.

Yes, that's not "a little cynical" that's a healthy perspective.

I think OP is really trying to tell people to be stoic, not cynical, and is confused on the vocabulary.
by woodruffw | 2025-12-28 22:53:53+00:00
Yeah, that was just the low-hanging fruit I reached for.

(I think you can make a tie-in argument here, though: PGP's packet design and the state machine that falls out of it is a knock-on effect of how many things PGP tries to do. PGP would maybe not have such a ridiculously complicated packet design if it didn't try and do so many things.)
by kelseyfrog | 2025-12-28 22:54:16+00:00
William J. Baumol the namesake of the Baumol Effect[1]. Generally it is

> the tendency for wages in jobs that have experienced little or no increase in labor productivity to rise in response to rising wages in other jobs that did experience high productivity growth

Specifically, manufacturing sectors have increased productivity and service sectors haven't.

1. https://en.wikipedia.org/wiki/Baumol_effect
by jasonwatkinspdx | 2025-12-28 22:54:20+00:00
The Taiwan strait is too shallow for submarines to operate, so in a hypothetical conflict, China's subs will be much further out, trying to keep US strike groups far from the island, while also securing China's supply lines through Malacca.

Note this is one of the material motivations for the CCP gaining control over Taiwan. They'd quite like to move their submarine basing to the east side of the island as a practical matter. It's got deep water and plenty of cliffs/mountains suitable for hardened docks/shelters.
by ben_w | 2025-12-28 22:54:26+00:00
I don't know how bad TikTok is because shorts just don't grab hold of me hard enough to even look at the app, at most I see someone else sharing a short of something silly on a meme channel.

But… and I appreciate you did say "at a minimum"…

Radio is absolutely something you can have on in the background, vibrating your eardrums without engaging your attention.

Intentionality may be impossible in TikTok for all I know, but it isn't enough to just do radio, and I think also not print.
by makeitdouble | 2025-12-28 22:54:39+00:00
There's exceptions to this. Usuallly founders who've made it past many mergers and kept a central role in the company. Insulting their intelligence will bite you back very quick.

But otherwise I think it's spot on. Especially for Cxx specialized in keeping the ball running, they'll have no interest in understanding most of the business in the first place, they seem themselves as fixers who just need to say yay or nay based on their gut feelings.
by skybrian | 2025-12-28 22:54:55+00:00
> Companies offered pensions. … Staying at one company for 20 years is now a career liability, not an asset.

This was already old news during the dot com era. The question is whether 401k plans and job-hopping still works out in the end.

To do that, though, you need to be able to switch jobs enough times, which isn’t easy when jobs are hard to find.
by dnautics | 2025-12-28 22:55:35+00:00
- using ai effectively is itself a skill that needs training, especially if you're already good at the critical thinking stuff.

- using AI actually most of everything i do anyways, is critical thinking. I'm constantly reviewing the AI's code and finding little places where the AI tried to get away with a shortcut, or started to overarchitect a solution, or both.
by t-writescode | 2025-12-28 22:55:38+00:00
Wow, there's a lot of anger in some of these posts.

I've been using Mockito for about 4 years, all in Kotlin. I always found it to be "plenty good" for like 99% of the cases I needed it; and things more complicated or confusing or messy were usually my fault (poor separation of concerns, etc).

I regularly found it quite helpful in both its spy() and mock() functionality.

I never found it meaningfully more or less useful than MockK, though I have heard MockK is the "one that's better for Kotlin". It's mostly just vocabulary changes for me, the user.

I'm going to have to monitor Mockito's future and see if I'll need to swap to MockK at some point if Mockito becomes unmaintained.
by justatdotin | 2025-12-28 22:56:22+00:00
I too am an aussie swe (just 3700km up the road) who likes lots of things about working (on a much lower rung) in big (well, mid) tech. I have learned so much more in large orgs than startups, and I'm not done with it.

However:

We DO live in a late-stage-capitalist hellscape.

Large companies ARE run by aspiring robber barons who have no serious convictions beyond desiring power.

I have compromised my principles by giving them (or anyone) my labor.

but I don't lie to myself or anyone else about it. I don't find any need to rehabilitate the structural and personal failings I encounter. When my friends call me out for working at EvilCorp, I don't argue. I know it's like any job: it's all dirty money. Instead, I deal with reality: weigh up pros and cons. I judge each year just how much Corporate I'm willing to swallow to support my dependents.

I enjoy the author's redefinition of cynicism and optimism. These are useful ideas to consider and I've given it some thought, arriving at an attitude of Becoming that I guess some would call idealism.

PS OMFG I just realised its MS. I believe this is what the kids call cringe.
by wood_spirit | 2025-12-28 22:57:09+00:00
Intriguing and very cunning attack! So obvious in hindsight!

It makes me wonder how Deepseek avoids commenting politically on China? I have heard anecdotes that it will be writing out a long reply and then presumably it generates some forbidden phrase and it abandons the output and replaces it all with an error message. So presumably the safeguards could be a separate trivial non-LLM-based post filtering which makes it immune to the doublespeak attack?
by anonym29 | 2025-12-28 22:57:12+00:00
Never once anywhere in this thread have I claimed that source code alone is sufficient by itself to establish a chain of trust, merely that it is a necessary prerequisite to establish a chain of trust.

That said, you seem to be refuting even that idea. While your reputation precedes you, and while I haven't been in the field quite as long as you, I do have a few dozen CVEs, I've written surreptitious side channel backdoors and broken production cryptographic schemes in closed-source software doing binary analysis as part of a red team alongside former NCC folks. I don't know a single one of them who would say that lacking access to source code increases your ability to establish a chain of trust.

Can you please explain how lacking access to source code, being ONLY able to perform dynamic analysis, rather than dynamic analysis AND source code analysis, can ever possibly lead to an increase in the maximum possible confidence in the behavior of a given binary? That sounds like a completely absurd claim to me.
by xp84 | 2025-12-28 22:57:26+00:00
If it is for those people who barely grasp the slightest thing about what’s going on on-screen, I could grant them that, if they’d let me turn it off. In the days before jailbreak became basically impossible, setting the animation duration to zero was a blessed, incredibly satisfying thing. It’s exactly what I want. Just do the transition in zero seconds.

My iPhone 15 can’t even catch my first 1-2 keystrokes on the keyboard, multiple times a day, but boy howdy does it have the time and the cycles to animate that f*%ker into view. The disrespect for my time and my needs is so obvious.
by nine_k | 2025-12-28 22:58:00+00:00
This particular case, with the numbers given, would work as a server for profile pictures, for instance. Or for package signatures. Or for status pages of a bunch of services (generated statically, since the status rarely changes).

Yes, an RPi4 might be adequate to serve 20k of client requests in parallel, without crashing or breaking too much sweat. You usually want to plan for 5%-10% of this load as a norm if you care about tail latency. But a 20K spike should not kill it.
by tialaramex | 2025-12-28 22:58:34+00:00
I read an article shortly after Trump's first win which said that American women, especially the oldest remaining generation or so of voters did not believe a woman could be President, and so they were anti-Clinton in a way their comparable daughters were not.

At the time I found this an interesting comparison to the UK. In the UK my mother's generation (squarely in that same bracket) voted in Margaret Thatcher†, the "Iron Lady" and so they know a woman is no different from a man in terms of potential to lead. Which doesn't mean (see Liz Truss) better but also doesn't mean worse.

So in the UK you could definitely put a strong female leader at the top of the ticket and expect to get the same response, and in the US that seems likely in the future but it certainly counted against Clinton and even in 2028 it's probably a bad bet (assuming that is, that the US holds a meaningful presidential election in 2028)

† Thatcher isn't much liked, especially in some parts of the UK, but nobody is fooling themselves by thinking she was incompetent or ineffectual, they mostly thought she was bad which is different.
by christophilus | 2025-12-28 22:58:38+00:00
We’ll see. The current situation is an anomaly caused in part by the AI boom generally, in part by the OpenAI shenanigans. This time will pass, and what comes after is hard to know. If the shortages are sustained long enough, innovation will happen. The economics of it will bring new players into the market.

DRAM is a notoriously cyclical market, though, and wise investors are leery of jumping into a frothy top. So, it’ll take a while before anyone decides the price is right to stand up a new competitor.
by Rochus | 2025-12-28 22:58:45+00:00
That's interesting. I made measurements with Mono and CoreCLR some years ago, but only with a single thread, and I came to the conclusion that their performance was essentially the same (see https://rochus.hashnode.dev/is-the-mono-clr-really-slower-th...). Can someone explain what benchmarks were actually used? Was it just the "Simple benchmark code" in listing 1?
by t-writescode | 2025-12-28 22:58:59+00:00
One alternative to make code with typing styles in the Java way (as opposed to the Typescript or Go way) is to have a whole lot of custom interfaces and then you end up with a whole bunch of:

doTheThing(foo: Fooable) { ... }

when there's really only one Foo implementation in prod. It leads to (what feels like, to me) more code obfuscation in large projects, than the benefits that come out, at least for me.

So Mockito and friends are a nice alternative to that.

That is just my experience and opinion though, and there are definitely more valid or equally valid alternatives.
by tptacek | 2025-12-28 22:59:09+00:00
I see what's happening. You're working under the misapprehension that static analysis is only possible with source code. That's not true. In fact: a great deal of real-world vulnerability research is performed statically in a binary setting.

There's a lot of background material I'd have to bring in to attempt to bring you up to speed here, but my favorite simple citation here is just: Google [binary lifter].
by jasonwatkinspdx | 2025-12-28 22:59:21+00:00
Yeah, and the reason it's been shot down time after time as a proposal, by many nations, is because when you actually dig into it, it's a bad idea.

There's a minimum tonnage needed to mount a big enough radar, have a hanger for a helicopter, and plenty of room for VLS, RAM, etc.

But past that, it's better to distribute your assets across multiple vessels vs building one dramatically larger group.

It's far better to have 4x Arleigh Burke style ships than one behemoth that's 4x the tonnage.

Also, conceiving of this in terms of single platforms is also just totally wrong. We assemble surface action groups with a mix of capabilities that match the situation. Some of our Burkes focus on anti aircraft warfare, other's anti submarine, so we send a mix. And when they're on station each hull can be in the location best suited to its task.

So really you have to think about the whole package, and the arsenal ship just doesn't offer anything desirable on that basis.
by leapis | 2025-12-28 22:59:22+00:00
Is there a point at which library maintainer feedback would meaningfully influence a by-default JVM change?

I keep a large production Java codebase and its deployments up-to-date. Short of upstreaming fixes to every major dependency, the only feasible way to continue upgrading JDK versions has often been to carry explicit exceptions to new defaults.

JPMS is a good example: --add-opens still remains valuable today for important infra like Hadoop, Spark, and Netty. If other, even more core projects (e.g. Arrow) hadn't modernized, the exceptions would be even more prolific.

If widely used testing and instrumentation libraries like Mockito are unable to offer a viable alternative in response to JEP 451, my response would be to re-enable dynamic agent attachment rather than re-architect large, long-lived test suites. I can't speak for others, but if this reaction holds broadly it would seem to defeat the point of by-default changes.
by mlyle | 2025-12-28 23:00:07+00:00
It seems like you're missing the distinction being drawn between high blood sugar (but adequate levels of insulin to prevent ketosis) and very very lowlevels of insulin. The former is bad over longer time scales; the latter can become ketosis/acidosis/an emergency quickly.

But neither that, nor is whether he should offer credentials the point. The point is you said this:

> > > Sorry to be crass, but this type of argument is exactly why non-experts shouldn't be talking about topics they aren't experts on.

I think there's a little recalibration necessary if the person you said this to turns out to be pretty well educated and capable in the subject.