MurphyA/hacker-news huggingface dataset:
by hedora | 2025-04-13 16:38:47+00:00
How many developers did that scale to? Code bases that I’ve seen that are written in that style are completely illegible. Once the structure of the 30 node graph falls out of the last developer’s head, it’s basically game over.

To debug stuff by reading the code, each message ends up having 30 potential destinations.

If a request involves N sequential calls, the control flow can be as bad as 30^N paths. Reading the bodies of the methods that are invoked generally doesn’t tell you which of those paths are wired up.

In some real world code I have seen, a complicated thing wires up the control flow, so recovering the graph from the source code is equivalent to the halting problem.

None of these problems apply to async/await because the compiler can statically figure out what’s being invoked, and IDE’s are generally as good at figuring that out as the compiler.
by byefruit | 2025-04-13 16:38:49+00:00
> Both of our models are trained on top of DeepSeek-R1-Distill-Qwen-7B and DeepSeek-R1-Distill-Qwen-32B.

Not to take away from their work but this shouldn't be buried at the bottom of the page - there's a gulf between completely new models and fine-tuning.
Show HN: Gatehouse-TS – TypeScript port of Rust's authorization policy framework
by gr4vityWall | 2025-04-13 16:39:08+00:00
TL;DR Gatehouse-TS is a zero-dependencies authorization policy library written in TypeScript, ported from Rust.

It allows you to combine different access control policies to check before allowing someone to access a resource.

A few weeks ago, I saw a post on HN about Gatehouse, an authorization library written in Rust. Here's the original HN thread: https://news.ycombinator.com/item?id=43466221

I looked at their GitHub page, and started reading the source code. I do this for anything posted here that catches my attention, even if it's written in a language I don't understand. The code was relatively easy to follow, even though I'm not a Rust programmer.

Why did I decide to try rewriting it in TypeScript? For fun, of course! That was basically the only reason. I had nothing to do on a weekend and wanted to write code. It _did_ help with some challenges I was facing at $day_job, but that came afterwards.

I emailed the authors of the Rust version, telling them that I was working in a TypeScript version, and they kindly blessed me to publish it with a similar name.

Overall I'm very happy with it. The original authors provided an amazing foundation for a port, I had fun rewriting it and trying to adapt their APIs from Rust to TypeScript. As a bonus, it was immediately useful at work as well.

I appreciate any feedback or thoughts on it. Please check out the original project as well, since most of the hard work was done by them: https://github.com/thepartly/gatehouse

Documentation: https://9morello.github.io/gatehouse-ts/
by MilnerRoute | 2025-04-13 16:39:38+00:00
I took a European History class. Here's what I have in my notes.

Keppler friendly; Galileo charismatic and popular with "wicked" sense of sarcasm; Newton unpopular as lecturer at Cambridge and possessive of his discoveries (end of his life trying to convict Liebniz of plagiarism)... Newton spent more of his life doing numerological bible investigations than the law of gravity (which he finished at age 23).

So... MyPillow?
by fifilura | 2025-04-13 16:39:47+00:00
It is true. But that also means that the cost will not be there.

I'd claim it did work for some time (from the 1970s to the 2000s) because it allowed the transition to a society where women did not have to choose between children and a career.

I am not sure what is the reason for lower birth rate now. Maybe that young people have gotten used to that you always have a choice.
by behnamoh | 2025-04-13 16:39:53+00:00
Looks like in the 70s and 80s, it was wild west for programming language design. So many ideas floating around. But over the decades, most converged to the Algol-style (statements, curly braces, often using semicolons, type before identifier, etc.). Look at what we did to programming:

- Java, C, C++, C#, Kotlin, Rust, Swift, Go, TypeScript, JavaScript, ... → they look more or less the same

Compare with these ones that didn't catch on as much as the ones above:

- ML/Haskell, Erlang, Elixir, APL, Common Lisp (and other Lisps), Lua, Pascal, Delphi, BASIC, Visual Basic, VBA, VBScript, SmallTalk,... → each one bringing something refreshingly new to the PL design space
by graemep | 2025-04-13 16:40:07+00:00
What is US law on this and what are the "rigid assumptions" people find troublesome.

In the UK the main effect of marriage is that it protects the lower earning partner if the relationship breaks down - most often (even now!) this is a woman who gives up work/takes a break from work to bring up kids. I come across a good many single mothers (mostly online because of an FB group I admin) who would have been MUCH better off financially if they had been married, and a lot who are a lot better off because they were married.

Historically the main reason for legal marriage was to protect women from being left with kids by feckless men who evaded responsibility. Its a bit less pressing now we have paternity tests (and contraceptives) but its still a problem, and whoever gives up career for childcare still loses out without marriage.
by collingreen | 2025-04-13 16:40:25+00:00
Perhaps this is the inevitable cycle of prosperity? We see this in so many facets now as generations progress - your comment reminds me of antivax social media people who haven't ever seen anyone more sick than a cold or tech bros thinking a trade job would be better since it might magically be "more rewarding" (I'm guilty of this!) with no regard for how much privilege is inherent in sitting at a desk all day and getting paid to think.

Like the stereotypical kid who grew up rich not understanding the value of hard work maybe the inevitable result of easy and safe living is a blind spot so big we're doomed to fall back down as a society and start over again and again.
by fpoling | 2025-04-13 16:41:23+00:00
Actor model does not need CSP. Erlang uses single message passing queue per thread (process in Erlang terminology) with unbounded buffer so the sender never blocks.

As the article pointed out lack of support for unbounded channels complicates reasoning about absence of deadlocks. For example, they are not possible at all with Erlang model.

Of cause unbounded message queues have own drawbacks, but then Erlang supports safe killing of threads from other threads so with Erlang a supervisor thread can send health pings periodically and kill the unresponsive thread.
by olokobayusuf | 2025-04-13 16:41:37+00:00
Not quite.

First, Function is designed to be truly cross-platform but libraries like Numpy aren't compiled for say WebAssembly.

Second, the native libraries are usually built around CPython interop (i.e. the C API expects to interact with the CPython interpreter). Function does not (and will never) have a CPython interpreter (we generate full AOT compiled code).
by jijijijij | 2025-04-13 16:42:27+00:00
Most of the things you listed are not really much of a problem, or rather a symptom of something else. Also lots of populist bla bla, where I think you don't really know what you are talking about. Anyway... the real is issue is this:

Germany is being held hostage by pensioners.

Everything comes down to finances and finances comes down to pensions. It's more than 100 billion euro of tax money going to pensions (on top of high and increasing social-insurance contributions). Retired people are the majority of voters, you can't run on politics to their disadvantage. It's politics for old people, by old people. They indebted the state for their benefit when they were young, ignored the demographic crisis for decades, and now they won't forgo a dime for their children's future.

We will get civil war, before pensions are touched. Without that money, we debate scapegoats, instead of investing in existentially necessary reforms, building houses and fixing the infrastructure debt.
by riehwvfbk | 2025-04-13 16:42:27+00:00
I don't understand the romanization of slums. It's not about poverty. Cleaning up after oneself doesn't require a lot of money, but it does require a certain sense of pride. Oakland would not be any less diverse if it didn't smell like piss (the article's words, not mine). Don't believe me? Visit a predominantly Asian trailer park (they exist). But somehow to a certain kind of young writer the culture of decay is so appealing.
by skybrian | 2025-04-13 16:42:54+00:00
To put the cost into context, spending $5 a day on tools is ludicrously cheap compared to paying minimum wage, let alone a programmer’s salary. Programming is only free if you already know how to code and don’t value your time.

Many of us do write code for fun, but that results in a skewed perspective where we don’t realize how inaccessible it is for most people. Programmers are providers of expensive professional services and only businesses that spread the costs over many customers can afford us.

So if anything, these new tools will make some kinds of bespoke software development more accessible to people who couldn’t afford professional help before.

Although, most people don’t need to write new code at all. Using either free software or buying off-the-shelf software (such as from an app store) works fine for most people in most situations. Personal, customized software is a niche.
by the_af | 2025-04-13 16:43:51+00:00
I agree photo manipulation has always happened, to various degrees of perfection, since the dawn of photography.

I suppose the real difference is that before it took a more artisanal, time-consuming process, and now -- increasingly -- it takes far less time to create something convincing enough. Same with video: you could fake a video, do editing, etc, but it took time, skill, a location where to shoot, etc. Now it's becoming easier to do for everyone. And it's not perfect yet, but are we sure it won't get there? And it doesn't have to be perfect anyway, it just has to fool most people in a given window of time.
by zahlman | 2025-04-13 16:43:51+00:00
Yep, I'm in this camp. In particular, since the bin/lib dichotomy doesn't work well for everything[1], I'll put things free-form in /opt as needed, and then symlink executable entry points at /usr/local/bin. [2] This is also more or less what Pipx global installs (available since version 1.5.0) do (https://pipx.pypa.io/stable/installation/#-global-argument).

[1] e.g. if you want to install Python applications in isolated virtual environments, the venv has its own bin/ and lib/ internally - you wouldn't want to flatten that structure and have all those applications share top-level /usr/local/bin and /usr/local/lib, because that would involve manually destroying the venv structure and also defeating the entire purpose of them.

[2] although this is not completely smooth if, like me, you want to compile multiple versions of Python from source and then make venvs based off of them - see https://github.com/python/cpython/issues/106045 .
by nottorp | 2025-04-13 16:43:58+00:00
I'd rather have the obsession everyone has for the few remaining animals on earth, and the race to own at least a replica. Electric sheep are just a background detail in the movie, while they're as central as hunting the replicants in the book...

I'd also like the scene where Deckard runs into another blade runner agency, further complicating the question if he's a replicant or not :)
by jeffbee | 2025-04-13 16:44:31+00:00
Well, the beauty of the common law tradition is you, as a hypothetical co-habitator, have no idea whether you are "accidentally married" in any particular regard unless or until the matter comes before a judge for whatever reason. Your aggrieved former not-quite-spouse can make whatever claim to equitable judgement that they can imagine in, say, Colorado. Contrast this with, say, Poland or France, where under their civil traditions there is no chance whatsoever that your unmarried person who lived with you will be able to claim your estate when you have died.
by tsimionescu | 2025-04-13 16:45:07+00:00
You are being extremely disingenuous. The aim of the FCC is very explicitly to be a bigger hadron-hadron collider than the LHC. The FCC-ee that you mention is presented in all of CERNs papers as an intermediate goal, a use for the gigantic tunnel they'll need for the FCC-hh (the FCC), while the technology for actually doing the most important work is being developed [0].

What's more, much of CERN's own literature on the FCC references fanciful ideas like finding WIMPs, "ruling out many classes of dark matter particles", finding/limiting the search space for axions, or in general, putting boundaries on theories that have no specific basis and no fundamental bounds on their parameters beyond "we havent found them yet, so they can't be this large/small/strongly interacting/etc". Here you'll find at least some claims currently up on CERN's FCC site about probing dark matter [1].

[0] https://fcc.web.cern.ch/overview

> A key recommendation of the 2020 update to the European Strategy for Particle Physics is that Europe, in collaboration with the worldwide particle physics community, should undertake a feasibility study for a next-generation hadron collider. (emp. mine)

> The goal of the FCC is to push the energy and intensity frontiers of particle colliders, with the aim of reaching collision energies of 100 TeV in the search for new physics.

[1] https://fcc.web.cern.ch/physics

> However there is a very broad class of models for which theory motivates dark matter candidates with masses in the range of GeV to few tens of TeV. The FCC would break new ground in the search for dark matter in the form of weakly interacting massive particles, by covering a wide array of potential signals predicted by either production of dark matter, or production of the particles mediating its interactions with ordinary matter. FCC-ee and FCC-hh offer complementary ways to search for dark matter that could consist of lighter particles (i.e. sterile neutrinos) or could be produced in the decays of the Higgs boson.
by thomashabets2 | 2025-04-13 16:45:17+00:00
I guess we're going into the definition of the word "expert".

I don't think the word encompasses "have done it several times before, but has not actually even looked at the state of the art".

If you're a good enough engineer, you can build anything you want. That doesn't make you an expert.

I have built many websites. I'm not a web site building expert. Not even remotely.
by blackbear_ | 2025-04-13 16:45:52+00:00
The ease of cheating/creating fakes surely influences how much cheating/fakes are in circulation, and while we can tolerate a little, excessive amounts will be disruptive. So many technologies moved from obscure curiosities to mass adoption just because somebody made them easier/cheaper to use.

If at some point the cheats/fakes will be cheaper and easier than the real thing, you can bet that will be a fundamental shift in how we approach the world.
by graemep | 2025-04-13 16:46:36+00:00
As I said in another comment this leads to many people being disadvantaged.

I do not know where you live, and these laws vary between countries, but in the UK marriage gives you a lot of important legal rights. Not marring disadvantages a lower earning partner (most often a woman who has taken time off a career to look after kids) if the relationship breaks down, it does not give you the same legal rights if one dies with regard to inheritance (no real rights if there is no will, far less right to contest a will, and the loss of a significant inheritance tax exemption even if there is), or being automatically next of kin (I think this has improved in practice), no automatic joint parental responsibility for children, etc.
by guilhas | 2025-04-13 16:46:56+00:00
I think nothing

I was thinking the same, the only problem is the author not keeping track of players

On HandlePlayer return err you would decrement a g.players counter, or something, and in the Game.run just do if !g.hasPlayers() break close(g.scores)

The solution requires nothing special, just basic logic that should probably be there anyway

If anything this post shows that mutexes are worse, by making bad code work
by gs17 | 2025-04-13 16:48:31+00:00
> we'd offer upgrades

That's part of the difference. With a subscription model, you don't need customers to want to buy your upgrades (they're forced to pay for them), you benefit the most from locking them into your ecosystem as best you can. Adobe doesn't want to make existing customers happy, they want to make it difficult for unhappy ones to stop paying every month. At that point, discounts to new customers makes sense, since it traps new people into paying you.
by swyx | 2025-04-13 16:49:10+00:00
very sorry for your loss. i've been similar in Seattle and it was tremendously alienating. I left as soon as I could. Obviously not a seattle-only thing but I think Seattle is so full of picture perfect couples (working 9-5, big tech/big tech adjacent, dog, 1.5 kids) and gloomy weather that it is the perfect combo of depression fuel for anyone that doesn't fit that mould. the only social activity is beer. so you aren't just lonely but you also get drunk and fat (and probably shave your head bald and grow a beard but thats more portland spilling over).
Show HN: Fundhog – A Ko-Fi Alternative for Accepting Crypto Donations
by SamPerson | 2025-04-13 16:49:29+00:00
I’m thrilled to share Fundhog, a platform I built to let creators, developers, and nonprofits accept cryptocurrency donations directly. It’s like Ko-fi, but for Web3, supporting Ethereum, Polygon, and other EVM-compatible chains—with no middleman. Every transaction happens straight between the donor and creator.

Why FundHog?

Fiat platforms charge steep fees and limit access. Fundhog uses blockchain for direct, low-fee, transparent donations. Here’s the scoop: Button Builder: I added a simple tool so creators can design their own donation buttons. Pick size (small/medium/large), border radius, and colors to match your site, then grab the embed code.

No Middleman: Funds go directly from donor to creator. I don’t handle your crypto—Fundhog just connects wallets.

Easy Embedding: The ~1KB embed.js script adds your button to any site (HTML, React, etc.) in minutes.

Multi-Chain: Donors pay via MetaMask or similar on Ethereum, Polygon, and more. Chain detection ensures a smooth flow.

Secure: A lightweight iframe modal keeps transactions safe, with no heavy dependencies.

Use Cases Open-Source Devs: Fund your GitHub repos with ETH or MATIC tips.

Creators: Accept global crypto without platform cuts, styled your way.

Nonprofits: Raise funds transparently, wallet-to-wallet.

How It Works

Use the button builder to customize your look.

Embed the script—donors click, connect, and send crypto directly.
by WalterBright | 2025-04-13 16:49:32+00:00
Everyone tries to roll their own strings in C, and eventually give it up, because the 0-terminated strings are so deeply embedded in the language and the library.

Even D still has a nod to C strings in it, in that string literals like "abc" have a 0 appended to them that is not included in the array length. "abc" can implicitly convert to a char*, which makes it very convenient when calling printf.
by lxgr | 2025-04-13 16:49:54+00:00
But what even is the business case here? I get the idea of encrypting pay TV, but isn't the entire point of free broadcast TV that it's... free?

It would be a different story if the DRM were available ubiquitously, e.g. in the way that arguably Widevine is for online streaming (but certainly not broadcast TV). Are rightholders that afraid of unauthorized out-of-market rebroadcasts that they'd rather obliterate their reachable market with stunts like that?
by franek | 2025-04-13 16:49:59+00:00
> Fun fact: Jansson illustrated The Hobbit and drew Gollum as a giant. Tolkien realized he never described the size of Gollum and made adjustments to later editions.

For those curious like me, here are some low-res images:

https://zepe.de/tjillu/hobbit/index.html

And here an article about the illustrations (haven't read) with a a few images in higher resolution (including Gollum):

https://tovejansson.com/hobbit-tolkien/
by pryelluw | 2025-04-13 16:50:53+00:00
Not only information access but the distribution model. In middle school, I had a little side business selling shareware on diskettes. My school had gotten brand spanking new 386/486 machines. My older brother had copied a bunch of games and programs from his friends into a stack of diskettes. I was king and made some good cash. Enough to buy a bike.

I miss physical media.
by alganet | 2025-04-13 16:51:13+00:00
That's a lot of text.

Where is AI disruptive? If it is disruptive in some area, should we apply old precedents to a thing so radically new? (rethorical).

Good fresh training data _will end_. The entire world can't feed this machine as fast as it "learns".

To make a farming comparison, it's eating the seeds. Any new content gets devoured before it has a chance to grow and give fruit. Furthermore, people are starting to manipulate the model instead of just creating good content. What exactly will we learn then? No one fucking knows. It's a power grab free for all waiting to happen. Whoever is poor in compute resources will lose (people! the majority of us).

If I am right, we will start seeing anemic LLMs soon. They will get worse with more training, not better. Of course they will still be useful, but not as a liberating learning tool.

Let's hope I am not right.
by WarOnPrivacy | 2025-04-13 16:51:27+00:00
> For making healthcare decisions, durable power attorney and a medical proxy should be sufficient for unmarried couples.

Should be isn't is. PoA aren't trivially recognized in the way a marriage is. If you have to interact with more than a couple of services you ought to expect friction.

A local medical provider might not be familiar with a PoA but that can be worked out. However, bureaucracies like insurance providers can be staffed with people whose trainings never mentioned PoA but did extensively cover HIPAA compliance (and penalties).

In caring for my spouse, there were times that I needed all of the above: spousehood + PoA + verbal auth from spouse.

source: legal assistant, probate

source: 25yr as caregiver for disabled spouse (+PoA)
by erkt | 2025-04-13 16:51:52+00:00
Manufacturing doesn’t have to equate to sweat shops. It’s hard to take your argument seriously when your judgement is undermined by such fallacy.

We have problems with housing affordability because asset values inflate inverse to the devaluation of the dollar. The dollar is deflating because a service economy is not as sustainable as a manufacturing economy. This is particularly pronounced when we all see the labor value of intelligent workers decreasing at a precipitous rate due to AI.
by dnzm | 2025-04-13 16:52:00+00:00
Using a phone is simpler if all you have on you is your phone, which was my use case when my bank hadn't offloaded their wallet app to gpay. That, and having the phone already in hand for customer/loyalty cards.

So yes, it's handy. Jot handy enough to use gpay for it, of course, but handy nonetheless.
by parineum | 2025-04-13 16:52:19+00:00
Additionally, while you're talking about budget in a practical manner, spending money on science to discover science isn't something that people outside of science generally love spending money on. I am nearly certain that part of the hope for people spending that kind of money on the LHC is not only might they discover something amazing but that it might also be practically useful to someone else.

There are other scientific fields that produce much more tangible results that the finite funding could go to. Even something like materials science which could not only produce more useful discoveries but could also make the next collider cheaper.