MurphyA/hacker-news huggingface dataset:
by aleksanb | 2025-05-17 14:42:26+00:00
To repeat an earlier comment of mine from the launch of uv on hn (tl; dr: these new type checkers never support django):

The way these type checkers get fast is usually by not supporting the crazy rich reality of realworld python code.

The reason we're stuck on mypy at work is because it's the only type checker that has a plugin for Django that properly manages to type check its crazy runtime generated methods.

I wish more python tooling took the TS approach of "what's in the wild IS the language", as opposed to a "we only typecheck the constructs we think you SHOULD be using".
by MrJohz | 2025-05-17 14:42:36+00:00
Dynamic property access perhaps?

The premise is that you can always access an object's properties using indexing syntax as well as the normal dot syntax. So `object.foo` is the equivalent of `object["foo"]` or `object["f" + "o" + "o"]` (because the value inside the square brackets can be any expression). And if `object.foo` is a method, you can do `object.foo()` or `object ["foo"]()` or whatever else as well.

Normally, the key expression will always be coerced to a string, so if you did `object[2]`, this would be the equivalent of object["2"]. But there is an exception for symbols, which are a kind of unique object that is always compared by reference. Symbols can be used as keys just as they are, so if you do something like

const obj = {} obj.foo = "bar" obj[Symbol("foo")] = "bar" console.log(obj)

You should see in the console that this object has a special key that is a symbol, as well as the normal "foo" attribute.

The last piece of the puzzle is that there are certain "well known symbols" that are mostly used for extending an object's behaviour, a bit like __dunder__ methods in Python. Symbol.dispose is one of these - it's a symbol that is globally accessible and always means the same thing, and can be used to define some new functionality without breaking backwards compatibility.

I hope that helps, feel free to ask more questions.
by josephg | 2025-05-17 14:43:07+00:00
As I understand it, blazor really needs WasmGC in order to have good performance and small bundle sizes. Otherwise, blazor is forced to ship a GC inside the wasm bundle - and that adds a lot of weight. And it also makes it more complex to share C# objects with javascript.

WasmGC is supported in all browsers + nodejs now, but its still pretty new. Safari only started shipping it in December last year. I'm not sure if wasmgc is the default build for blazor, or what the status is on it.

Blazor should be able to be good, small and fast. (Maybe even smaller than rust web frameworks.) But I don't know if we're there yet.
by gcr | 2025-05-17 14:43:46+00:00
I was under the impression that guidance from the state department allows border agents to deny visas to visitors whose “apparent sex differs from sex at birth.” Moreover, “misrepresenting sex” (whatever that means) could be grounds for permanent refusal of entry, by this guidance.

Are you saying this is no longer the case?

See https://www.erininthemorning.com/p/marco-rubio-may-have-just...
by pshirshov | 2025-05-17 14:43:50+00:00
> Had to trial-and-error remove packages

There are introspection tools for that.

> Build from source

That's not an issue unless you stay on master or use config flags (there is just a handful of them, but they are imortant, eg cudaSupport=true can easily give you 5-6 hours of build time, rocmSupport can easily give you a couple of days)
by morkalork | 2025-05-17 14:43:55+00:00
On one hand, I feel like I've been in a coma since covid because I've just been coasting along with Marshmallow and jsonschema, but on the other hand it's like a lot of the major advances have been in the past couple years. Apparently pydantic got a big version update in 2023? And now all these competing static type checkers?
by credit_guy | 2025-05-17 14:44:06+00:00
So, just to be perfectly clear: are you advocating that there should be no cap in the contributions to Social Security, while the cap on the benefits should stay in place?

And the argument is that if you are rich you can afford it.

But why increase the tax on the rich in an obfuscated way via this Social Security trick? Because you think they won't notice it? Or because you think you can stoke some proletariat fury by claiming that the cap is injust? It's ok to stoke that fury if the injustice is there, but in this case it is not.
by jitl | 2025-05-17 14:44:08+00:00
This is the situation in JavaScript for the last 15 years: new language features come first to compilers like Babel, then to the language spec, and then finally are adopted for stable APIs in conservative NPM packages and in the browser. The process from "it shows up as a compiler plugin" to "it's adopted by some browser API" can often be like 3-4 years; and even after it's available in "evergreen" browsers, you still need to have either polyfills or a few more years of waiting for it to be guaranteed available on older end-user devices.

Developers are quite used to writing small wrappers around web APIs anyways since improvement to them comes very slowly, and a small wrapper is often a lesser evil compared to polyfills; or the browser API is just annoying on the typical use path so of course you want something a little different.

At least, I personally have never seen a new langauge feature that seems useful and thought to myself "wow this is going to be hard to use"
by bccdee | 2025-05-17 14:44:39+00:00
In fairness, Columbus thought he had found India, even after other, smarter people had told him otherwise. You can't give him too much credit, especially given that he was considered a monster even by contemporary monsters like Isabella I of Spain, his sponsor, who founded the Spanish Inquisition and still thought his treatment of the Taino natives was unconscionable. She wanted him to convert them to Christianity, and instead he exterminated them.
by diego_moita | 2025-05-17 14:46:24+00:00
As a kernel programmer I find it so lame that when people say "Operating Systems" what they're thinking is just the superficial layer: GUI interfaces, Desktop Managers and UX in general. As if the only things that could have OS were desktop computers, laptops, tablets and smartphones.

What about more specialized devices? e-readers, wifi-routers, smartwatches (hey, hello open sourced PebbleOS), all sorts of RTOS based things, etc? Isn't anything interesting happening there?
by pimeys | 2025-05-17 14:46:34+00:00
Yeah, this worries me a lot. I have a quite tricky Type 1 diabetes, which I can manage well with an artificial pancreas software that's running in my phone. Now if they tamper my phone, or take it completely away when crossing the border, I am in quite a trouble. Especially after a big change in time zones, the health apps really do their job and help me settle in without medial risks in a few days.

This is such a risk right now, that me and my American partner decided to not travel to US at all until things change. Too bad we cannot see some of the family in there...
by pshirshov | 2025-05-17 14:47:09+00:00
> a battle

Everything is a battle and nix battle is bit less hopeless than the imperative distro battle, but again, nix is bad but noone wants to build a better thingy.

I've seen countless attempts and I'm trying to make my own build system (not targeting linux distros though). The problem is extremely hard. Essentially you have to build a general purpose PL which is better (more introspectable/debuggable/extensible) than other GPPLs.
by ksec | 2025-05-17 14:47:34+00:00
I still remember when Apple announced their FeliCa support. And FeliCa became NFC-F standard there is a potential of Apple Wallet and Apple Cash ( Before both were announced ) for world wide usage to fight against the march of QR Code.

They could have a store value card that works worldwide. Effectively bringing Octopus or Suica card to the world.

I even remember there were proposal for future version of Felica that works under 10ms. Although I cant seem to find any reference of it.

There is also a new NFC proposal ( again my google fu is not helping ) that allows multiple NFC card / tags to be read at the same time. So we can do Membership card, discount card and payment card all in one. And hopefully someday we could have electronics receipt right on our phone alongside the payment record as well. Something I wished Apple have done for the past 10 years but they still haven't gotten Apple Card or Apple Cash to work outside of US.
by deergomoo | 2025-05-17 14:48:00+00:00
I can’t rule out that at rush hour in either country it makes a difference, because I haven’t experienced it.

But I’m with you, with an express travel card set in Apple Pay (so you can just plop your phone down on the reader without opening anything) there is a beat for it to read on the Underground barriers, but it’s basically the same length of time as it takes to do the step and a half from the reader to the gate. At a normal walking speed I don’t feel as though I need to interrupt my stride.
by bartread | 2025-05-17 14:48:39+00:00
That’s true but also a bit reductionist. And even in that regard, what they federally do is assist managers. So, for example, if a manager has an underperforming team member HR will ensure that manager follows process in applying performance management so that the manager follows process and doesn’t expose the company to liability.

Beyond this they’re also often key players in recruitment marketing, employer branding, hiring and selection, understanding the broader employment market to ensure pay and benefits are inline with desired industry norms, health and wellbeing, and the list goes on.

None of this is ever perfect and, of course, we can all think of companies where it’s been highly dysfunctional.

But, nonetheless, claiming all they do is protect the company from employees is still too reductive.
by ndsipa_pomu | 2025-05-17 14:48:50+00:00
"Paused" may be more accurate.

https://www.tvzoneuk.com/post/doctorwho-futurereport-may25

> The Mirror reports that the series will return to BBC One for future series, with Russell T Davies already working on scripts for an additional two series, irrespective of whether Disney decide to continue in their partnership with the BBC beyond this series.
by OJFord | 2025-05-17 14:48:50+00:00
You're just moving the goalposts now; it didn't end until 2022, and what I was responding to was the suggestion that there's no inherent problem with British content, it just needs to be on modern streaming platforms: yes, and the BBC has also participated in that.

Top Gear with that trio ending wasn't a content problem, Clarkson punched a producer and was fired. You can say well that was a bad decision they should have valued keeping him at all costs etc., but there was no good solution there really, he was divisive well before that issue, if they kept him they'd have pleased fans and upset others. The show wasn't (immediately) axed; that probably quite reasonably seemed like the best compromise.
by permo-w | 2025-05-17 14:49:02+00:00
this modern style of criticism is so tiring. if you philosophically disagree with something, don't try to abuse the defence of an oppressed group as a rhetorical technique to make it harder for people to argue with you, just say you disagree with it and why

even if you genuinely believe this is why it should be decriminalised, if women are being disproportionally affected, then clearly either there's some kind of bias in the process, which should simply be fixed instead of disbanding the whole process, or women are simply less skilled at dealing with situations like this and need more help. either way it's not an issue with the concept of the license fee

I actually don't disagree that the license fee in its current format is a problem, ideally it should just be impossible to access it without having paid, but I don't think it's feasible with the way freeview works
by harvey9 | 2025-05-17 14:49:10+00:00
And yet many people (mainly women) go to prison for, in essence, not paying the licence fee. The fact that they technically go to prison for not complying with a court order is merely splitting hairs.

I cancelled my license in the wake of the Saville scandal when it was finally admitted what was common knowledge inside the BBC: that they had been covering up a sex offender on their payroll for years. Obviously 'lessons were learned' so when Huw Edwards came along they repeated all the same mistakes.
Show HN: HN Domain Stats
by kugurerdem | 2025-05-17 14:49:58+00:00
Hi everyone!

Not sure if something like this already exists, but I needed a simple way to check how a given domain has performed on Hacker News and since I couldn’t find such a tool, I built one.

For any given domain, it shows metrics like total submissions, unique submitters, upvotes, and comments, along with time-based charts (daily, weekly, monthly, yearly) for submissions, upvotes, and comments.

I'm sharing it in case others find it useful or have feedback to share.

App: hnstats.rugu.dev

GH: github.com/kugurerdem/hnstats
by wltr | 2025-05-17 14:50:35+00:00
You’re welcome!

Ha, yeah, your Kirby example makes sense. I lived in Belarus, and never thought of using their domain that way. But it looks good in this example. Possibly that’s because nobody of its (Russian speaking) population would use this by domain this way. I like the ‘by’ myself, it sounds good sometimes, but it seems like I’d never buy this domain, exactly because I lived there.

Sad that a domain name can generates problems, purely on political reasons. I wish there were no countries TLDs, except for the government reasons, like gov.uk. And we’d have ‘just letters’ domains regardless of countries, because why not?
by tomhow | 2025-05-17 14:51:04+00:00
We detached this comment from https://news.ycombinator.com/item?id=43998721 and marked it off topic.

Please observe the guidelines, especially these ones:

Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.

Please don't fulminate. Please don't sneer, including at the rest of the community.

Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

Eschew flamebait. Avoid generic tangents. Omit internet tropes.

Please don't use Hacker News for political or ideological battle. It tramples curiosity.

https://news.ycombinator.com/newsguidelines.html
by alphazard | 2025-05-17 14:51:08+00:00
Notably missing from this list are seL4 and Helios which is based on it.

https://ares-os.org/docs/helios/

The cost of not having proper sandboxing is hard to overstate. Think of all the effort that has gone into linux containers, or VMs just to run another Linux kernel, all because sandboxing was an afterthought.

Then there's the stagnation in filesystems and networking, which can be at least partially attributed to the development frictions associated with a monolithic kernel. Organizational politics is interfering with including a filesystem in the Linux kernel right now.
by tomhow | 2025-05-17 14:51:45+00:00
We detached this comment from https://news.ycombinator.com/item?id=43998721 and marked it off topic.

Please observe the guidelines, especially these ones:

Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.

Please don't fulminate. Please don't sneer, including at the rest of the community.

Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

Eschew flamebait. Avoid generic tangents. Omit internet tropes.

Please don't use Hacker News for political or ideological battle. It tramples curiosity.

https://news.ycombinator.com/newsguidelines.html
by tasn | 2025-05-17 14:52:36+00:00
1. Maybe it's time to drop the crazy runtime generation and have something statically discoverable, or at least a way to annotate the typing statically.

2. Astral indicated already they plan to just add direct support for Django and other popular languages.

3. As people replied to similar comments on the previous threads (maybe to you?): that's not why ty is fast and why mypy is slow. It's also an easy claim to disprove: run both without plugins and you'll see ty is still 100x+ faster.
by QuadrupleA | 2025-05-17 14:52:41+00:00
From experience - if you look at the "security flaws" in detail that updates and patches address, an app with good dependency hygiene is rarely vulnerable to them, and doesn't need the purported fixes. So in those cases it's mostly a comforting mirage that your software is improving as you do "security updates" on your libraries and dependencies, except in rare cases.

And, security updates should not break your app! What breaks your app are feature changes, API changes, and the like, which is a breach of backwards compatibility and IMHO kind of lazy and hostile on the part of the library developers. It creates massive unnecessary work for developers, and unnecessary bugs and problems for millions of end users.
by jitl | 2025-05-17 14:52:46+00:00
Dynamic languages don't need protocols. If you want to make an existing object "conform to AsyncDisposable", you:

function DisposablImageBitmap(bitmap) { bitmap[Symbol.dispose] ??= () => bitmap.close() return bitmap } using bitmap = DisposableObserver(createImageBitmap(image))

Or if you want to ensure all ImageBitmap conform to Disposable:

ImageBitmap.prototype[Symbol.dispose] = function() { this.close() }

But this does leak the "trait conformance" globally; it's unsafe because we don't know if some other code wants their implementation of dispose injected to this class, if we're fighting, if some key iteration is going to get confused, etc...

How would a protocol work here? To say something like "oh in this file or scope, `ImageBitmap.prototype[Symbol.dispose]` should be value `x` - but it should be the usual `undefined` outside this scope"?
by jzb | 2025-05-17 14:53:07+00:00
Not arguing for Nix here, but couldn’t you use Distrobox on Nix to mitigate some of the author’s problems while still getting benefits from Nix for the basic install?

Note: I’m not a Nix user - primarily Fedora and Debian, though I’ve used Bluefin a lot and used to use PopOS as a gaming desktop. (Rarely have any time for gaming these days…)
by jpsouth | 2025-05-17 14:53:53+00:00
Anecdotal, but out of my family I’m the only man who doesn’t pay the licence fee, and the only person who hasn’t had a visit.

They’ve visited my mother, sister and one auntie that don’t pay - they all live alone and are the sole name on the bill.

I’ve heard from friends similar experiences too, single men and households with men on the electoral register don’t get visits, or very rarely if they do.

I had the pleasure of answering the door at my mothers to one of these people and believe there’s an issue with the way they choose who to investigate. It’s predatory.
by oplorpe | 2025-05-17 14:54:39+00:00
I’ve yet to see any llm proselytizers acknowledge this glaring fact:

Each new release is “game changing”.

The implication being the last release y’all said was “game changing” is now “from a different century”.

Do you see it?

For this to be an accurate and true assessment means you were wrong both before and wrong now.
Show HN: Query, organize, and store JSON without programming
by aggregator-ios | 2025-05-17 14:56:09+00:00
This is a complete remake of the chart topping tool I made 10 years ago. This time, it’s a web app that works on every browser, device and OS and uses the popular jq for querying.

As a Software Engineer, I find managing JSONs cumbersome or messy because they sit everywhere on your dev environment with no meaningful organization.

All features are free with local storage. Cloud sync is a paid tier with simple pricing.

hello@jsonquery.app
by flkiwi | 2025-05-17 14:56:35+00:00
> You do not need NixOS on the desktop

No, you don't need NixOS on the desktop, but for certain people--like me!--it sure is nice. For example, I have this preoccupation with remembering how I configured something. I'd developed note-taking systems to remember how I'd set something up for the inevitable reinstallation (say a new computer)? Now? Download a few text files from github, type a command, and 10 minutes later I'm back in business.

It was a tough road to get comfortable, though I tell people that's because NixOS should be treated like an entirely different OS rather than as a distribution. But now? It's great. It solves a real problem for me. I definitely don't think it's for everyone, but this post draws an overly general conclusion.
by bccdee | 2025-05-17 14:57:39+00:00
> It would be a mistake to take the banality of current LLM outputs and extrapolate that into the future.

Imagine a chef, congenitally unable to taste or smell food, who has nevertheless studied a million recipes. Can they reproduce existing recipes? Sure, if they follow the instructions perfectly. Can they improvise original recipes? I doubt it. Judging by the instructions alone, the recipes they invent may be indistinguishable from real recipes, but this chef can never actually try their food to see if it tastes good. The only safe flavour combinations are the ones they reuse. This is a chef who cannot create.

LLMs are structurally banal. The only plausible route to a machine which can competently produce original art requires the development of a machine which can accurately model human's aesthetic sensibilities—something which humans themselves cannot do and have no need for, since we already have those aesthetic sensibilities built in.

This is the fundamental error of using an LLM as a ghostwriter. Humans don't only bring inspiration to the table—they also bring the aesthetic judgement which shapes the final product. Sentences written by an LLM are banal sentences, no matter how you prompt it.
by neRok | 2025-05-17 14:57:52+00:00
I agree that the first example in the article is "bad"...

fn frobnicate(walrus: Option<Walrus>)`)

but the rest makes no sense to me!

// GOOD frobnicate_batch(walruses) // BAD for walrus in walruses { frobnicate(walrus) }

It doesn't follow through with the "GOOD" example though...

fn frobnicate_batch(walruses) for walrus in walruses { frobnicate(walrus) } }

What did that achieve?

And the next example...

// GOOD if condition { for walrus in walruses { walrus.frobnicate() } } else { for walrus in walruses { walrus.transmogrify() } } // BAD for walrus in walruses { if condition { walrus.frobnicate() } else { walrus.transmogrify() } }

What good is that when...

walruses = get_5_closest_walruses() // "GOOD" if walruses.has_hungry() { feed_them_all() } else { dont_feed_any() } // "BAD" for walrus in walruses { if walrus.is_hungry() { feed() } else { dont_feed() }