MurphyA/hacker-news huggingface dataset:
by throwme0827349 | 2025-05-17 14:05:17+00:00
Seconded. I have been using nixos for a few years. I don't use it for everything, but I like it for dev. It was weird at first, and there were one or two early blocking problems I had to solve before I could do work. Like how do I set gpg pin-entry, but I forget stuff like that and have to search for it on any platform. At least on nixos is all written down somewhere even if I'm too lazy to take notes.

The installer is super easy to use; full disk encryption is baked in if you want it, the default desktop is fine, and the overwhelming majority of my config is just the apps I want installed by default.

I love this because it makes my desktop or laptop totally commodified: if I break my laptop I can get another one out of the closet and:

-- install nixos in 10 minutes

-- copy a couple of stanzas out of my nix config file into the new system one

-- untar a backup /home/user

-- `nix rebuild switch`

-- drink a beer

No installing a bunch of dev environment stuff. No greping internet for 'gpg pin-entry' or 'how to install docker' because I had to write that into a config in the first place. Basically I like nixos because I'm a lazy fucker and it makes me front end load the work so I only have to do it once.

Also, these days if I have trouble writing a nix thing I can usually just vibecode my way out of the problem. ¯\_(ツ)_/¯
by throwawaymaths | 2025-05-17 14:05:25+00:00
I thought blazor failed because people didn't like websites that take minutes to load up all the websites assets. I'm not sure why, it could be:

- Technical issue with blazor performance or blazor makes perf regressions hard to fix

- blazor technical framework encourages programming style that is bad for perf

- blazor or blazor ecosystem attracts programmers that can't deal with perf issues
by Aurornis | 2025-05-17 14:05:28+00:00
After looking more, this is definitely an AI driven attempt to game the system.

It’s too bad the comments calling it out earlier were downvoted away. The first one was downvoted until it was flagged.

It’s amazing that this person was able to collect 250 GitHub stars and make bold claims about enhancing llama.cpp when it wasn’t anything new and it didn’t work anyway.
by codetrotter | 2025-05-17 14:06:13+00:00
Make a PDF or whatever kind of document containing the things you want to reveal.

Make a hash sum of the file.

Publish the hash of the document somewhere. Like on your Mastodon timeline or on Reddit, or on HN, or as an ad in a national printed newspaper.

Make sure the text is pretty long though. If you write something super short someone could guess the hash for it.

Write a short comment along with the hash. Something like:

“My prediction will be revealed on Dec 31 2025. Sha256 a9774a1a6ebf564cc408cfd86b5f2c06c13d830e143989714d958d34f325db13.”

When time comes, publish the document.
by kQq9oHeAz6wLLS | 2025-05-17 14:07:24+00:00
> thinking (in my naivety) that all US dwellings would have way more space than the terraced house I was living in

As you've no doubt discovered, this highly depends on where you live. In a major US city? You're going to pay a premium for yard space. In rural Tennessee? Not so much.
by diggan | 2025-05-17 14:07:49+00:00
> Wholly depends on how much stuff you’ve got

Also what SD card you have, the durability between different models differ a lot. The SD card I use for my dashcam been working for years (A "SanDisk MAX ENDURANCE" card), some other cheaper SD cards can stop working properly after just months if you're using them for write-heavy stuff.
by lcnPylGDnU4H9OF | 2025-05-17 14:07:50+00:00
I’d argue the career politicians’ thoughtless rhetoric reinforces the shortage of critical thinking across the country, which was taken advantage of in 2016 and again in 2024. This lack of critical thinking is nationwide: two-thirds of eligible voters either did not vote or voted for Trump in 2024. The business guy could leave office in 2029 and I’d still have low hopes for the future of the country.

The damage has been caused by media and career politicians’ use of such. You’re right that they’re not overtly dangerous in office (doing crazy things means you don’t get re-elected) but that just makes the negative effects of their actions less obvious, not less severe.

> people whose entire career is [dedicated] to public service

I accept this framing for the career administrators who have (or had) a job to do. A person who makes a career out of repeatedly being elected to public leadership positions might fall under that umbrella but seems to have a higher propensity for dishonest behavior. Put another way: a career politician is not necessarily a career civil servant, there just happens to be some overlap.
by lmm | 2025-05-17 14:07:57+00:00
Japan hugely subsidizes public transport both directly and indirectly, e.g. almost all employers will pay for employees to commute by public transport but not by car, because the government heavily incentivises them to do so. The Japanese transport providers are indeed more entrepreneurial about this kind of stuff, but I think that's more a case of Japan having high trust in government and quasi-governmental entities than expecting them to pay their way. (Indeed a lot of the penny-wise pound-foolish decisions we see in western public transport are driven by an insistence on cutting costs at all, well, costs).
by hinkley | 2025-05-17 14:08:00+00:00
The way to solve this is to split decisions from execution and that’s a notion I got from our old pal Bertrand Meyer.

if (weShouldDoThis()) { doThis(); }

It complements or is part of functional core imperative shell. All those checks being separate makes them easy to test, and if you care about complexity you can break out a function per clause in the check.
by daxfohl | 2025-05-17 14:08:27+00:00
Yeah, I immediately thought of "The Wrong Abstraction" by the same author. Putting the branch inside the for loop is an abstraction, saying "the for loop is the rule, and the branch is the behavior". But very often, some new requirement will break that abstraction, so you have to work around it, and the resulting code has an abstraction that only applies in some cases and doesn't in others, or you force a bunch of extra parameters into the abstraction so that it applies everywhere but is hard to follow. Whereas if you hadn't made the abstraction in the first place, the resulting code can be easier to modify and understand.

https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction
by nip | 2025-05-17 14:08:54+00:00
Indeed very easy to code!

My point is about the need for a spec of this mechanism: without a spec, every company / org will roll out their own and result in 500 flavors of the same concept.

That’s where MCP shines: tool calling and tool discovery is already 1.5 years old (an eternity in ai land).

The MCP spec ensures that we can all focus on solving problems with tool calling rather than wasting time in cobbling together services that re not interoperable (because developed without a common spec / standard)
by bartread | 2025-05-17 14:09:39+00:00
> but when that audience is a weak communicator the entire process disintegrates. That is, what I suspect is happening with the blog post author.

That’s a pretty rude and disrespectful take on this piece, don’t you think?

How can you read a piece that is so well articulated then turn around and, apparently unironically, suggest the author isn’t a good communicator?

How can you invalidate the author’s experience without seeing and knowing more? You have no idea of the nuts and bolts of their LLM interactions whereas, to support the conclusion you’ve arrived at, this is exactly the information you’d need based on what you’ve said.
by SOLAR_FIELDS | 2025-05-17 14:09:57+00:00
Isn’t your primary benefit you’re looking for the same as what containers offer? If that is true, isn’t the only major benefit that nix is a little less sluggish?

FWIW the way we use nix where I work is quite a bit lighter touch than the setups being discussed here. There are kind of three tiers of Nix implementations

- I want Nix to manage my entire os (NixOS)

- I want Nix to manage my user shell and dotfiles (home manager)

- I want Nix to manage per repository shells (nix + direnv with a flake.nix in each repo, or an .envrc that pulls a shared flake and extends it)

We use the latter and find it to be a good mix of keeping nix configuration simple but also enabling per environment shells that are reproducible
by radanskoric | 2025-05-17 14:12:21+00:00
That was my misunderstanding as well. That's why I wrote the article.

Btw, it's not even about the RubyLLM gem. The gem abstracts away the calling of various LLM providers and gives a very clean and easy to use interface. But it's not what gives the "agentic magic". The magic is pretty much all in the underlying LLMs.

Seeing all the claims made by some closed source agent products (remember the "world's first AI software engineer"?) I thought that a fair amount of AI innovation is in the agent tool itself. So I was surprised when I realised that almost all of the "magic" parts are coming from the underlying LLM.

It's also kind of nice because it means that if you wanted to work on an agent product you can do that even if you're not an AI specialised engineer (like I am not).
by b112 | 2025-05-17 14:13:54+00:00
TV was seen as a great learning tool in the day.

The idea that you could cheaply and affordably replay lectures with video, demonstrate concepts visually, show foreign lands and peoples, all with low cost of production was captivating to many.

Computers were initially seen by educators as a path to interactive TV. Making it easy to find video info, and to index it, even rotate images (repair videos and part assemble for example).

Point is, TV was seen a more than entertainment, it was a tool that could be employed to teach. Computers more so.

Then the Internet came, and it was at first mostly educational, intellectual. Sort of the inverse of what it is now.

Once everything exploded, it became entertainment primarily. Sort of like TV. The educational aspect is there, but muted.
by inahga | 2025-05-17 14:14:24+00:00
What's been driving me batshit is when nixos-rebuild decides it wants to build from source. I just burned an hour the other day trying to update, and getting stuck because Nix decided my little old laptop needed to compile node.js from source. Had to trial-and-error remove packages to figure out which one was transitively pulling in node.js.

It turned out to be ansible... which is a pure python tool. Beats me.

There's also some cases where it wants to build Android Studio from source. I've just removed it and now run it in a VM.

I'm sure I'm doing it wrong, and I'm sure nixos-rebuild has a reason to build things from source, and maybe I'm not RTFMing hard enough. But good god, I just need my system to update.
by beng-nl | 2025-05-17 14:14:41+00:00
For anyone interested, I recently listened to an interview with the author of the book and enjoyed it more than I expected - this form of life is rather different and that was enjoyable to learn about, and the author is an engaging speaker.

https://youtu.be/ND3VxkP5IMQ?si=6I_YA9X3JxalQwHQ
by pvg | 2025-05-17 14:14:46+00:00
If you write something super short someone could guess the hash for it.

You can skip the pdf and unless the thing is so short/predictable you can guess it outright, nobody is going to 'guess' the hash. E.g. 'I made up a random 64 byte sequence, here's its cryptographic hash, guess the sequence' - that doesn't happen.
by noosphr | 2025-05-17 14:15:02+00:00
There's not much to say.

Doclaynet is the easy part and with triple the usual resolution the previous gen of yolo models have solved document segmentation for every document I've looked at.

The hard part is the table segmentation. I don't have the budget to do a proper exploration of hyper parameters for the gridformer models before starting a $50,000 training run.

This is a back burner project along with speaker diarization. I have no idea why those haven't been solved since they are very low hanging fruit that would release tens of millions in productivity when deployed at scale, but regardless I can't justify buying a Nvidia DGX H200 and spending two months exploring architectures for each.
by zbentley | 2025-05-17 14:15:38+00:00
What’s blocking IO have to do with this topic?

Also, I don’t feel like that’s true: Rust has the exact same non blocking IO primitives in the stdlib as any other systems language: O_NONBLOCK, multiplexers, and so on. Combined with async/await syntax sugar for concurrency and backends like Tokyo, I’m not sure how you end up at “rust IO is still blocking”.
by mathgradthrow | 2025-05-17 14:16:07+00:00
Not OC, but it seems like the niche quanta occupies is letting non-mathematicians try to give analogies to help explain research mathematics to a lay audience.

There are problems with this.

1) there is no such thing as explaining research mathematics to a lay audience. At most you walk away with a feeling, and some cool buzzwords.

2) The algorithm quanta writers follow to layify mathematics is roughly to layify definitions without the oversight of someone who knows whether they've broken the essence of that definition. they do this a couple of times and its guaranteed that the layified version bears no resemblance to the reality.

3) the human interest element (which is always 10 times more coherently written than the explanation of the research, because this is what the quanta journalists can actually do without expertise) ends up being the point. Since the biographical snippets are the hook, they end up acting more like a freak show for living mathematicians (many of whom are quite weird!).

This is not, I think, good for mathematics as a whole.
by permo-w | 2025-05-17 14:16:18+00:00
read Spycatcher. in the post-war/cold war era, Britain, particularly the upper classes, was fucking riddled with soviet agents, mostly British-born communist sympathisers who were activated by the USSR, and many of them could have been stopped from doing huge damage if simple vetting had been in place

this isn't mccarthyite nonsense, this isn't right-wing hatred for communism. I am a socialist. this is the absolute fact that a foreign power was actively, successfully pushing agents into positions in the establishment all over the country. do you think it's a coincidence the vetting stopped when the soviet union collapsed?

>The BBC commissions some great content from great creators - as do all British TV channels. If you look at what the BBC itself does, there's a lot of bad there.

do you genuinely believe that ITV, Dave, Channel 5, Sky, etc are producing or have ever produced content on par with the BBC?

Channel 4 is the only other channel that can even remotely compete, and I would imagine they too would have been equally under MI5's thumb if they'd been important enough to warrant it. going further, do you really think that any British TV channel would have spoken out if MI5 came to them and told them they needed to vet their employees as a matter of national security? even further, has any organisation ever done that in the history of MI5? in the global history of spy agencies?
by homebrewer | 2025-05-17 14:16:47+00:00
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Someone more knowledgeable will join in soon, but I'm pretty sure it was derived from:

const x = { age: 42 }; x[Symbol.name] = "joe"; // <--- this

so it makes a lot of sense.
by zigzag312 | 2025-05-17 14:17:14+00:00
I was referring to your explanation "When a plane goes faster than air, it makes air-waves. When a plane goes faster than sound, it makes sound-waves."

In physics, an air wave typically refers to a sound wave. While both of your statements are true (plane makes sound-waves at both speeds), they didn't explain the sonic boom, like you did now.

> You cannot move air any faster than the speed of sound in air.

Minor nitpick, doesn't a plane traveling above Mach 1 displace (i.e. move) air faster than the speed of sound in air? :)
by tomhow | 2025-05-17 14:17:59+00:00
Please note this is a two-part series. The second part can be read here:

https://lwn.net/SubscriberLink/1017945/93d12d28178b372e/

Someone posted that URL as a separate submission shortly after this was submitted, but rather than splitting the discussion, we've merged the comments here so it can all be discussed as one topic.
by Mystery-Machine | 2025-05-17 14:18:06+00:00
Terrible advice. It's the exact opposite of "Tell, don't ask".

Performance of an if-statement and for-loop are negligent. That's not the bottleneck of your app. If you're building something that needs to be highly performant, sure. But that's not the majority.

https://martinfowler.com/bliki/TellDontAsk.html
by imcritic | 2025-05-17 14:18:22+00:00
This article doesn't explain the benefits of the suggested approach well enough.

And the last example looks like a poor advice and contradicts previous advice: there's rarely a global condition that is enough to check once at the top: the condition usually is inside the walrus. And why do for walrus in pack {walrus.throbnicate()} instead of making throbnicate a function accepting the whole pack?
by daedalus_j | 2025-05-17 14:18:49+00:00
The problem is that I WANT to give an app access to everything. I don't want my OS to think of "photos" vs "documents". I want a filesystem, and I want apps to be able to share access to it.

Google and apple are the ones "not respecting the users" by focusing exclusively on lowest common denominator users and pushing to increase their monopoly controls.

The day Android stops letting Syncthing have access to my entire filesystem is the day Android becomes entirely useless to me.

I agree that this access is indeed exploited by Facebook and the like, but the solution simply can't be to remove the capability entirely.
by lxgr | 2025-05-17 14:18:57+00:00
Different transit systems have different user experience, yes.

> would you make the argument that "I need gates so that I don't forget to tap"? Put yourself in my shoes: you would laugh at the idea.

Yes, I'm making that argument. I've lived in places that don't have transit gates for the majority of my life, and I absolutely forgot buying a ticket a few times (since I usually have a monthly pass).

Being reminded about a monthly pass having run out by the gate, automatically charging for a single ride (if I have enough balance) so I can solve the problem later, is great UX.
by daemonologist | 2025-05-17 14:19:05+00:00
An excellent video from Scott Manley about last year's fix of the Voyager 1 computer. Not related to the recent thruster fix.

Original title "The First Interstellar Software Update - The Insane Hack That Saved Voyager 1"; this combined with the [video] tag was too long, so I removed the "number + adjective" in accordance with the HN guidelines.
by maxerickson | 2025-05-17 14:19:10+00:00
I expect a lot of it is that manufacturers want to sell easy to install devices. Batteries are a lot simpler than wires.

For something like a door lock, having everything on the lock also makes the integration really easy. Solenoid type electrified levers more or less don't exist as residential products, even though that seems to be the way to end up with a nice looking installation.
by Kuyawa | 2025-05-17 14:19:46+00:00
Push everything down for better code readability

printInvoice(invoice, options) // is much better than if(printerReady){ if(printerHasInk){ if(printerHasPaper){ if(invoiceFormatIsPortrait){ :

The same can be said of loops

printInvoices(invoices) // much better than for(invoice of invoices){ printInvoice(invoice) }

At the end, while code readability is extremely important, encapsulation is much more important, so mix both accordingly.
by ndsipa_pomu | 2025-05-17 14:19:48+00:00
Hardly killed. I've been watching Doctor Who since the 1970s and there's been a lot of variation in quality over that time. I stopped watching it sometime around the Colin Baker era as I lost interest in it, but started watching it again with the Christopher Eccleston reboot. Then, I started getting disillusioned with the Peter Capaldi episodes - possibly the best actor for playing the Doctor, but given awful scripts (except "Heaven Sent" which is possibly the best ever episode). I struggled through Jodie Whittaker's seasons as I didn't like her portrayal nor the stories, but now I have to say that I really enjoy Ncuti Gatwa's Doctor even though there's been good and bad episodes of his.

I actively dislike Disney (except maybe TRON and the Black Hole), but I don't think they've killed Doctor Who.
by montebicyclelo | 2025-05-17 14:20:44+00:00
> the paper does not investigate whether the resulting NN actually performs the game of life algorithm

How could it not be computing the game of life algorithm? Given that it gets 100% accuracy over multiple steps on a bunch random game boards it's never seen before.

And then based on the structure of the net, and by examining the attention layers and finding that it's doing 3 by 3 average pooling, we can see that the attention layer produces a set of tokens, where each token contains the information of the number of neighbours it had, and its previous state. This then goes through a classifier layer, which decides it's next state, given that information.

Further evidence for that: it was possible to use linear probes to confirm that the tokens that had been through the attention layer contained the information about the number of neighbours and the previous state.

From all of this, it's clear that the model is running the Game of Life properly.
by anenefan | 2025-05-17 14:21:00+00:00
The last paragraph was the best lulz I've had all week -

>Real search engines don't primarily compete on finding relevant documents. They compete on resisting manipulation. The moment Google's algorithm became valuable, an entire industry emerged dedicated to gaming it. Every ranking factor becomes a target for optimization, spam, and abuse. Search engines spend enormous resources not just on relevance, but on detecting artificial link schemes, content farms, cloaked pages, and sophisticated manipulation tactics that evolve daily.

This certainly differed considerably with my reality as it ebbed towards the mid 10's. Google back then were happy enough to provide 100 results per page, and I typically would hunt though around 10 pages of results when expanding each keyword query set to hunt down what a user wanted. Each angle of looking for the needle, the initial keyword query generally needed to be modified a number of times to trim away the should-be-easy-to-identify-as-BS-sites which Google seemed totally unable to filter out and actually crowded out real results. No I'd say google was when I last used it earnestly, it was all about generating revenue from clicks, but not in an entirely obvious manner.

A site getting google's attention is probably even more critical now - it's been a long when I've seen more than 10 pages results from Google via a particular keyword query, and it's only willing to serve me 10 results per page, so less than 100 results in total is normal now - scary that back 10 years ago in a much smaller web a great multitude of results from google were available.
by proberts | 2025-05-17 14:21:06+00:00
It's possible to renew an F-1 visa while on STEM OPT but there's some risk because a consular officer could conclude that you do not have the intent to return home to Serbia after the end of your STEM OPT. That being said, F-1 students renew their visas while on STEM OPT all the time; it's just not risk-free so you would want to be well prepared for your interview.
by eddd-ddde | 2025-05-17 14:22:10+00:00
In my case most of my regex is for utility scripts for text processing. That means that I just run the script, and if it does what I want it to do I know I'm done.

LLMs have been amazing in my experience putting together awk scripts or shell scripts in general. I've also discovered many more tools and features I wouldn't have otherwise.