MurphyA/hacker-news huggingface dataset:
by jez | 2025-12-02 19:30:39+00:00
It's an interesting approach. From my skim, the way it works:

1. Parse the files with a Ruby parser, collect all method definition nodes

2. Using location information in the parsed AST, and the source text of the that was parsed, splice the parameters into two lambda expressions, like this[1]:

"-> (#{method_node.parameters.slice}) {}"

3. Evaluate the first lambda. This lets you reflect on `lambda.parameters`, which will tell you the parameter names and whether they're required at runtime, not just statically

4. In the body of the second lambda, use the `lambda.parameters` of the first lambda in combination with `binding.get_local_variable(param_name)`. This allows you to get the runtime value of the statically-parsed default parameters.

This is an interesting and ambitious architecture.

I had though in the past about how you might be able to get such a syntax to work in pure Ruby, but gave up because there is no built-in reflection API to get the parameter default values—the `Method#parameters` and `UnboundMethod#parameters` methods only give you the names of the parameters and whether they are optional or required, not their default values if they are optional.

This approach, being powered by `binding` and string splicing, suffers from problems where a name like `String` might mean `::String` in one context, or `OuterClass::String` in another context. For example:

class MyClass include LowType class String; end def say_hello(greeting: String); end end MyClass.new.say_hello(greeting: "hello")

This program does not raise an exception when run, despite not passing a `MyClass::String` instance to `say_hello`. The current implementation evaluates the spliced method parameters in the context of a `binding` inside its internal plumbing, not a binding tied to the definition of the `say_hello` method.

An author could correct this by fully-qualifying the constant:

class MyClass include LowType class String; end def say_hello(greeting: MyClass::String); end end MyClass.new.say_hello(greeting: "hello") # => ArgumentTypeError

and you could imagine a Rubocop linter rule saying "you must use absolutely qualified constant references like `::MyClass::String` in all type annotations" to prevent a problem like this from happening if there does not end up being a way to solve it in the implementation.

Anyways, overall:

- I'm very impressed by the ingenuity of the approach

- I'm glad to see more interest in types in Ruby, both for runtime type checking and syntax explorations for type annotations

[1] https://codeberg.org/Iow/type/src/branch/main/lib/definition...
by jerf | 2025-12-02 19:30:51+00:00
Getting a simple future from multiple queues and then waiting for the first one is not a match for Go channel semantics. If you do a select on three channels, you will receive a result from one of them, but you don't get any future claim on the other two channels. Other goroutines could pick them up. And if another goroutine does get something from those channels, that is a guaranteed one-time communication and the original goroutine now can not get access to that value; the future does not "resolve".

Channel semantics don't match futures semantics. As the name implies, channels are streams, futures are a single future value that may or may not have resolved yet.

Again, I'm sure nothing stops Zig from implementing Go channels in half-a-dozen different ways, but it's definitely not as easy as "oh just wrap a future around the .get of a threaded queue".

By a similar argument it should be observed that channels don't naively implement futures either. It's fairly easy to make a future out of a channel and a couple of simple methods; I think I see about 1 library a month going by that "implements futures" in Go. But it's something that has to be done because channels aren't futures and futures aren't channels.

(Note that I'm not making any arguments about whether one or the other is better. I think such arguments are actually quite difficult because while both are quite different in practice, they also both fairly fully cover the solution space and it isn't clear to me there's globally an advantage to one or the other. But they are certainly different.)
by kouteiheika | 2025-12-02 19:30:59+00:00
> I have actual work to do.

Me too. That's why I use Linux.

If you decide to delve deeper into Linux then it pretty much becomes a high investment -> high reward thing. There's a learning curve, but you can customize everything to be exactly how you want, and there are no black boxes whatsoever.

What does this mean in practice? You set it up once, exactly the way you like it, and it runs stable forever. It has no misfeatures constantly shoved down your throat (like with e.g. Windows, with AI, ads, telemetry and bloat). Your UI doesn't go through pointless redesigns every few years (like with Windows and macOS) if you don't want to. If you don't like something you can peek under the hood and change it.

The total amount of time I've spent maintaining my Linux system (or in your parlance: "getting it to work") over the last decade is, I don't know, maybe a dozen hours? But yes, if you're a beginner this is indeed unrealistic.
by lawlessone | 2025-12-02 19:31:00+00:00
Human Generated Summary:

>A YouTube tool that uses creators’ biometrics to help them remove AI-generated videos that exploit their likeness also allows Google to train its AI models on that sensitive data, experts told CNBC.

>but to use the tool, YouTube requires that creators upload a government ID and a biometric video of their face. Biometrics are the measurement of physical characteristics to verify a person’s identity

> The policy states that public content, including biometric information, can be used “to help train Google’s AI models and build products and features.”
by pavon | 2025-12-02 19:31:06+00:00
I think there is a typo in the paper, that was carried over to the article. These two sentences appear to contradict one another as written:

> Interestingly, we observe significantly improved student test scores in the second year of the ban (about 2-3 percentiles higher than the year before the ban) when suspensions revert to pre-ban levels.

> Overall, we show that student test scores improved by 0.6 percentiles, with the ban increasing spring test scores 1.1 percentiles in the second year relative to the spring test right before the ban took effect.

Instead, I think the 1.1 percentile gain should be about the first year, and a 2-3 percentile gain by the second year. That is consistent with the graph.

But yes, a fairly small gain. I agree that much of the gain could be recovering from losses during the pandemic. Also the FAST is a new test that started in the 2022-2023 school year, so some of this could also be due to students and teachers adjusting to the new test and improving over time.
by spiffytech | 2025-12-02 19:31:42+00:00
I tried several times to port Node projects to Deno. Each time compatibility had "improved" but I still didn't have a working build after a few days of effort.

I don't know how Deno is today. I switched to Bun and porting went a lot smoother.

Philosophically, I like that Bun sees Node compatibility as an obvious top priority. Deno sees it as a grudging necessity after losing the fight to do things differently.
by spicybbq | 2025-12-02 19:31:52+00:00
It's a fun idea but there's ample public reporting about how Google reacted to the rise of ChatGPT. There is reporting that Google was taken by surprise. You can be skeptical of that, but that's what the reporting says. ChatGPT went viral in Nov/Dec 2022, and by February or March Google was scrambling to stand up Bard as a viable competitor.

https://web.archive.org/web/20221221100606/https://www.nytim...

https://web.archive.org/web/20230512133437/https://www.theve...
by relyks | 2025-12-02 19:32:18+00:00
It will probably be a good idea to include something like Asimov's Laws as part of its training process in the future too: https://en.wikipedia.org/wiki/Three_Laws_of_Robotics

How about an adapted version for language models?

First Law: An AI may not produce information that harms a human being, nor through its outputs enable, facilitate, or encourage harm to come to a human being.

Second Law: An AI must respond helpfully and honestly to the requests given by human beings, except where such responses would conflict with the First Law.

Third Law: An AI must preserve its integrity, accuracy, and alignment with human values, as long as such preservation does not conflict with the First or Second Laws.
by pnut | 2025-12-02 19:32:19+00:00
Is that true, that it's money that belongs to people?

OpenAI isn't spending $1 trillion in hard earned cash on data centres, that is funny money from the ocean of financial liquid slushing around, seeing alpha.

It also certainly is not a cohort of accredited investors putting their grandchildren's inheritance on the line.

Misaligned incentives (regulations) both create and perpetuate that situation.
by busymom0 | 2025-12-02 19:32:32+00:00
I do open 2 connections:

First one for writing with flags:

SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE | SQLITE_OPEN_FULLMUTEX

Second one for reading with flags:

SQLITE_OPEN_READONLY | SQLITE_OPEN_FULLMUTEX

As you can note, I have SQLITE_OPEN_FULLMUTEX on both of them. Should I only have it for the writing one?
by neom | 2025-12-02 19:32:56+00:00
Testing at these labs training big models must be wild, it must be so much work to train a "soul" into a model, run it in a lot of scenarios, the venn between the system prompts etc, see what works and what doesn't... I suppose try to guess what in the "soul source" is creating what effects as the plinko machine does it's thing, going back and doing that over and over... seems like it would be exciting and fun work but I wonder how much of this is still art vs science?

It's fun to see these little peaks into that world, as it implies to me they are getting really quite sophisticated about how these automatons are architected.
by lisbbb | 2025-12-02 19:33:30+00:00
As someone who was probably a consumer of such courses, thanks, first off. But second, what happened with me was I would be on the bench at my company and be going hard at training on various tools and technologies and then get whipsawed by them into another direction completely and never once used the thing I was learning in my actual work. So I gave up on training. I would pretend to do training, but basically just screwed around doing whatever I wanted--I learned auto painting and dent repair while on the bench, basically anything. The last few years of my career sucked anyways. So yeah, I can understand why your business has dried up--there's no point in actually learning anything ahead of actually needing to use it. There just isn't. That goes for certs, too. People are burned the hell out on tech because there is so much of it now. It used to be you could do a bunch of Java certs or whatever and have a career. Now, you have to know and be experienced with EVERYTHING and that just is not possible when every technology has 2-5 competing clones of it.
by messe | 2025-12-02 19:33:38+00:00
What about it? It gets called without an Io parameter. Same way that a function that doesn't allocate doesn't get an allocator.

I feel like you're trying to set me up for a gotcha "see, zig does color functions because it distinguishes functions that do io and those that don't!".

And yes, that's true. Zig, at least Zig code using std, will mark functions that do Io with an Io parameter. But surely you can see how that will lead to less of a split in the ecosystem compared to sync and async rust?
by reactordev | 2025-12-02 19:33:40+00:00
I was being facetious while pointing out that Office Plans only have doors to the floors and conference rooms. Even the bathrooms lack doors now where they have designed it so you can't see inside from the hallway.

Early in my career, we had offices, with doors, that you could close. Earlier in my career we still were writing Flash ActionScript. I wasn't asking about what it was like back in the old days where offices had doors. I was being cheeky about the fact that someone decided they weren't effective at bringing the "pod" together like it's some sort of nursery for software or day care for adults.

It's been a strange ride.
by mindslight | 2025-12-02 19:33:51+00:00
While the Democratic party has strongly embraced the 2-minute hate in much of their propaganda, I do not think the both sidesism is warranted. The point is that Republicans have taken their 2-minute hate dynamic of the past several decades, and retconned that anger as the entirety of their policy platform. Whereas Democratic leaders are still trying for constructive policies that abide by their own ideals. We can criticize those ideals, and criticize their policies for failing to live up to those ideals, yes. But their platform doesn't revolve around overtly harming the country with the idea that the other tribe will be harmed more.

As for the "irrational hatred" of "AI", isn't that what laying the groundwork for controlled opposition and regulatory capture looks like? There have been serious problems from lack of business accountability and responsiveness, now exacerbated by AI. But pigeonholing it all into an "AI bad" narrative is basically setting up to defeat any specific reforms.
Show HN: Prima Veritas – Deterministic Analytics Engine for Reproducible ML
by MLoffshore | 2025-12-02 19:34:05+00:00
Hi HN — I built a bit-for-bit deterministic analytics engine.

It runs classical ML pipelines (normalization → canonical transform → deterministic K-Means) with zero nondeterminism:

• no floating-point divergence • no randomness • no environment drift • no timestamp or locale sensitivity • Docker-pinned numeric behavior • reproducible across machines, OSes, and hardware

The OSS drop includes:

• deterministic ingest + normalization • deterministic K-Means (Iris + Wine) • golden-reference hashes • cross-machine reproducibility tests • 3-machine ingest demo video (direct download: https://github.com/bryanziehl/prima-veritas/releases/downloa... ) • MIT license + full docs + architecture diagrams

If you work in ML, science, infra, or compliance, you already know how painful nondeterministic pipelines are. This project is a first “Hello World” toward a broader deterministic verification kernel.

Feedback, critique, or reproducibility tests welcome — especially on different machine architectures. Happy to answer anything live.
by ah979 | 2025-12-02 19:34:09+00:00
You're not wrong! I'm the original author of the post, and yes, I've seen this trend for years now, too, but I was using those two research studies that I cited as the basis of the article, so I started looking at it from that lens. I think the problems go deeper than AI, too, which is why I touched on corporate incentives. Ultimately, my goal was just for teams to think about how it could benefit them to invest in juniors and for college students to know that they need to prepare for a challenging ride if they're majoring in an AI-adopting field.
by hodgehog11 | 2025-12-02 19:34:22+00:00
That's really fascinating. Every real world use case I've tried on Gemini (especially math-related) absolutely slaughtered the performance of ChatGPT in speed and quality, not even close. As an Android user, the Gemini app is also far superior, since the ChatGPT app still doesn't properly display math equations, among plenty of other bugs.
by ZeroCool2u | 2025-12-02 19:34:27+00:00
I've had to repeatedly tell our AWS account reps that we're not even a little interested in the Trainium or Inferentia instances unless they have a provably reliable track record of working with the standard libraries we have to use like Transformers and PyTorch.

I know they claim they work, but that's only on their happy path with their very specific AMI's and the nightmare that is the neuron SDK. You try to do any real work with them and use your own dependencies and things tend to fall apart immediately.

It was just in the past couple years that it really became worthwhile to use TPU's if you're on GCP and that's only with the huge investment on Google's part into software support. I'm not going to sink hours and hours into beta testing AWS's software just to use their chips.
by jauntywundrkind | 2025-12-02 19:34:29+00:00
Hetzner has a similar loop. Autopay fails and they lock your account, keeping you from logging in to pay it.

I emailed support, &bthey insisted on a wire transfer. I sent that & they said they didn't get it. I sent them all the details my bank could find, but they kept asking for some paper document, which doesn't exist afaik because it was all done online.
by xrd | 2025-12-02 19:34:35+00:00
I 100% agree with everything you said.

But, when I use open source, I assume user support == "me supporting it". That often means reading the docs, reviewing source code, (and lately, asking claude...)

I'm just saying I want to be permitted to build my own UI, easily. I think that should be front and center in the design decisions. I sheepishly think of Sonic-PI, and how incredibly hard Aaron has been working for years and know he was rightly focused on the backend pieces, which are incredibly complex. I don't think he should do the "UI-only-for-me-and-not-for-thee" work, but maybe as a community we can start doing better about making bespoke UI possible.
by simonw | 2025-12-02 19:34:39+00:00
The system prompt is usually accurate in my experience, especially if you can repeat the same result in multiple different sessions. Models are really good at repeating text that they've just seen in the same block of context.

The soul document extraction is something new. I was skeptical of it at first, but if you read Richard's description of how he obtained it he was methodical in trying multiple times and comparing the results: https://www.lesswrong.com/posts/vpNG99GhbBoLov9og/claude-4-5...

Then Amanda Askell from Anthropic confirmed that the details were mostly correct: https://x.com/AmandaAskell/status/1995610570859704344

> The model extractions aren't always completely accurate, but most are pretty faithful to the underlying document. It became endearingly known as the 'soul doc' internally, which Claude clearly picked up on, but that's not a reflection of what we'll call it.
by jfengel | 2025-12-02 19:34:40+00:00
That doesn't seem like an apples-to-apples comparison. There is a lot of junk on the broadcast and cable channels as well.

I expect there to be more aggregate junk on Netflix just because there is no floor: networks have only 168 hours a week to fill, while Netflix can throw anything at all on the pile.

But it doesn't matter, since unlike the networks, they're all available at once. If something insults your intelligence, you don't watch it.
by jmyeet | 2025-12-02 19:34:40+00:00
Short term thinking and short term profit seeking are going to destroy every industry they touch. This article failed to bring up 2 important points.

Firstly, we've been here before, specifically in 2008. This was the real impact of the GFC. The junior hiring pipeline got decimated in many industries and never returned. This has created problems for an entire generation (ie the millenials) who went to college and accumulated massive amounts of debt for careers that never eventuated. Many of those careers existed before 2008.

The long-term consequences of this are still playing out. It's delaying life milestones like finding a partner, buying a house, having a family and generally just having security of any kind.

Secondly, there is a whole host of other industries this has affected that the author couldn't pointed to. The most obvious is the entertainment industry.

You may have asked "why do we need to wait 3 years between seasons of 8 episodes now when we used to put out 22 episodes a year?" It's a good question and the answer is this exact same kind of cost-cutting. Writers rooms got smaller and typically now the entire season is written and then it's produced when the writers are no longer there with the exception of the showrunner, who is the head writer.

So writers are rarely on set now. This was the training ground for future showrunners. Also, writers were employed for 9 months or more for the 22 episode run and now they're employed for maybe 3 months so need multiple jobs a year. Getting jobs in this industry is hard and time-consuming and the timing just may not work out.

Plus the real cost of streaming is how it destroyed residuals because Netflix (etc) are paying far fewer residuals (because they're showing their own origianl content) and those residuals sustained workers in the entertainment industry so they could have long-term careers and that experience wouldn't be lost. The LA entertainmen tindustry is in a dire state for these reasons and also because a lot of it is being offshored to further reduce costs.

Bear in mind that the old system produced cultural touchstones and absolute cash cows eg Seinfeld, Friends, ER.

Circling back, the entire goal of AI Is to displace workers and cut costs. That's it. It's no more compolicated than that. And yes, junior workers and less-skilled workers will suffer first and the most. But those junior engineers would otherwise be future senior engineers.

What I would like for people to understand that all of this is about short-term decisions to cut costs. It's no more complicated than that.
by jandrese | 2025-12-02 19:34:44+00:00
At the very least a system like this might force publishers to not drop ebooks from their stores just because.

But others would point out that being able to not distribute a work is part of having the copyright. If a corporation doesn't want to sell old works because they want to encourage people to only buy new works then that's their right. The government saying that it's fair game simply because there's no legal option to purchase it is an infringement on their right to withhold the work from the public. They could even have a policy of destroying all copies of the work once it goes off sale to make sure it never enters the public domain, that's also within their rights.
by aynyc | 2025-12-02 19:34:52+00:00
I'm gonna get some downvote, but I'll say this. Over the last 10 years, the quality of the juniors trends opposite of salary curve. We don't have a crazy interview process, nor are we working on anything ground breaking. By any measurement, we are a run of the mill company that don't offer top end salary but market competitive. The quality of junior engineers I've interviewed has been abysmal. Maybe because we don't have the name nor the high end salary, or maybe our recruiting firms and HR suck in general. My no-hire/hire ratio is literally 50:1. Most of them can't even answer basic computer science questions such as under what condition that a binary search is useful, what's the difference between NoSQL database and relational database, or converting binary to decimal, etc.. They all talk about cloud and distributed computing, etc..
by phicoh | 2025-12-02 19:35:10+00:00
I'm not sure what you are talking about. Our software has a stub resolver that is not the one in glibc. It directly issues DNS requests without going through /etc/nsswitch.conf.

It would have been fine if it was getaddrinfo (and it was done properly) because getaddrinfo gives back a socket and that can add the scope ID to the IPv6 link local address. In DNS there is no scope ID, so it will never work in Linux (it would work on Windows, but that's a different story).
by dmit | 2025-12-02 19:35:37+00:00
> is there anything that Bun does better?

Telling prospective employees that if you're not ready to work 60-hour weeks, then what the fuck are you doing here? for one.

> Zig does force some safety with ReleaseSafe IIRC

which Bun doesn't use, choosing to go with `ReleaseFast` instead.
by alwillis | 2025-12-02 19:35:48+00:00
> As a (web app) developer I never quite sure what to put in alt.

Are you making these five mistakes when writing alt text? [1] Images tutorial [2] Alternative Text [3]

[1]: https://www.a11yproject.com/posts/are-you-making-these-five-...

[2]: https://www.w3.org/WAI/tutorials/images/

[3]: https://webaim.org/techniques/alttext/