MurphyA/hacker-news huggingface dataset:
by bell-cot | 2026-03-10 17:55:26+00:00
Theory: If you want to fire up a bunch of hotheads to "go forth and conquer", then a superficially monotheistic religion is a hot meme.

(Actually having a Trinity, 13 different orders of angels, thousands of saints, hosts of demons, etc. is not a real problem - so long as the guys with the swords are free to skip the details.)

But as usual with history, "what about the Mongols?" The were arguably the greatest conquerors in human history. Yet famously tolerant of a wide variety of religions - https://en.wikipedia.org/wiki/Religion_in_the_Mongol_Empire
by elch | 2026-03-10 17:55:34+00:00
If we start playing the "who was first" game, then for the Soviet machine Kiev (Kyiv), an "address language" with a "prime operation" was created in 1957-59.

The prime operation and address mapping.

The prime operation defines a certain single‑argument function. Its symbol (a prime mark) is written above and to the left of the argument:
'a = b
where a is the argument and b is the result of the operation.
This is read as: "prime a equals b" (or "b is the contents of a").
The argument a is called an address, and the function value b is called the contents of the address.
The prime function ' defines a mapping from the set of addresses A to the set of contents B, which we will call an address mapping.

Page 36, chapter III
https://torba.infoua.net/files/kateryna-yushchenko/Vychislit...
by gizmo686 | 2026-03-10 17:56:04+00:00
I doubt they were thinking about Option<bool> when making niches work like this.

Option<NonZeroU32> seems like a much more reasonable to justify this with. Also, enums can easily have invalid bit patterns that are unused without there being any specific bit that is always available. All you need is a single variant of the enum to have a free bit, and you have a niche to shove None into.
by datsci_est_2015 | 2026-03-10 17:56:17+00:00
And my entire point is that LLM-generated feature requests are strongly correlated with high risk merge requests / pull requests, to which the commenter made no meaningful argument against. Instead the commenter chose to focus on the size of the PR and say “well I’ve seen it in the wild”.

The way to get around this without getting all the LLM influencer bros in an uproar is to come up with a system that allows open source libraries to evaluate the risk of a PR (including the author’s ability to explain wtf the code does) without referencing AI because apparently it’s an easily-triggered community.
by vova_hn2 | 2026-03-10 17:56:30+00:00
Curiously enough, after telling it "your code is broken, can you find the mistake?" it was able to correct the code:

def replace_em_dash(text: str) -> str:
"""
+-------------------+
| ( ͡° ͜ʖ ͡° ) |
+-------------------+
"""
return text.replace("—", "\U00010EAD\U00010EAC")
by crazygringo | 2026-03-10 17:57:11+00:00
> This is just an assertion that you're making. There's no argument here.

...OK? Was somebody asking me for an "argument"? I'm just stating how things are currently understood.

> And it's no more "transformative" than rar'ing or zipping the code, then unzipping it.

That's obviously false, so I'm not sure what to tell you.

> but if I sample 2-6 second snatches from 10 different songs, put them through over 9000 filters and blend them into a new work, I owe money to everyone involved

You don't, actually, if they're no longer recognizable -- which they wouldn't be after "9000 filters". I don't know where you got that idea that you'd still owe money. And I've certainly never heard of an audio filter license that was contingent on commerical distribution.

> This doesn't mean anything. This is a meaningless arrangement of words.

Statistics are meaningful. Obviously you need to look at the actual identical lines. But if they're a bunch of trivial things like initializing variables with obvious names, then they don't count for much. And if you're adhering to the same API, you would expect to have some small percentage of lines happen to match. So the fact that this is <2%, as opposed to 40%, is hugely significant as a first step of analysis.

I suggest you might find conversations here on HN more productive if you soften your tone a bit. Saying things like "this is just an assertion that you're making" or "this is a meaningless arrangement of words" is not generally going to make people want to respond to you.
by samiv | 2026-03-10 17:58:04+00:00
You're so right.

You can already see how the same thing has played out with computer games. With the modern engines such as Unity almost anyone can make a game. And almost everyone suffers.

And as a result there's now a million games most of which are poor quality asset flips. Everybody suffers, creators and consumers. Race to the bottom where the bottom has been reached. Prices are zero and earnings are zero.

If 15 years ago an indie game dev would allocate 80% to making the game and 20% to marketing etc. Today that will not get anything but it's much better to spend 20% on the game and 80% on the marketing, SEO optimization and attention harvesting. It's a shouting match where it's all about winning the shouting match not producing the best content.

Another race to the bottom.
by chessfpa | 2026-03-10 17:58:11+00:00
I've been working on a side project that analyzes a player's recent Chess.com blitz games (3+0) using Stockfish NNUE and machine learning.

How it works:

- Downloads the last 50 blitz games from Chess.com's public API.
- Runs deep Stockfish analysis on every position directly in your browser (nothing is sent to a server for analysis)
- Computes 150 statistical features from the analysis.
- Feeds them into an ML model trained on thousands of known banned and clean accounts
- Returns one of three results: Fair Play, Unclear, or Anomaly

What it's NOT:

- It's not proof of anything. It's a statistical indication. The model has false positives and false negatives.
- Only works for players rated between 1000 and 3000.
- It only supports Blitz 3+0 with at least 50 games available.
- It won't work in mobiles as it does all the computation on the browser.

Technical details:

- All Stockfish analysis runs client-side using WASM — the full NNUE net, not a lite version
- The analysis takes a few minutes depending on your hardware since it's processing ~1500 positions
- The ML model is an ensemble that only flags when it's confident from multiple angles

Try it out: https://chessfpa.com

I'm happy to answer questions about the methodology, the training data, or the model's limitations. I know this kind of tool is sensitive — I've tried to be as responsible as I can with disclaimers and framing. Curious to hear what you all think.
by onlyrealcuzzo | 2026-03-10 17:58:54+00:00
> Impressive. As a practical matter, one wonders what th point would be in creating a new programming languages if the programmer no longer has to write or read code.

I'm working on a language as well (hoping to debut by end of month), but the premise of the language is that it's designed like so:

1) It maximizes local reasoning and minimizes global complexity

2) It makes the vast majority of bugs / illegal states impossible to represent

3) It makes writing correct, concurrent code as maximally expressive as possible (where LLMs excel)

4) It maximizes optionality for performance increases (it's always just flipping option switches - mostly at the class and function input level, occassionaly at the instruction level)

The idea is that it should be as easy as possible for an LLM to write it (especially convert other languages to), and as easy as possible for you to understand it, while being almost as fast as absolutely perfect C code, and by virtue of the design of the language - at the human review phase you have minimal concerns of hidden gotcha bugs.
by SuperV1234 | 2026-03-10 17:59:02+00:00
Update & Apology:

I've fully updated the article with new benchmarks.

A reader pointed out that the GCC 16 Docker container I originally used was built with internal compiler assertions enabled, skewing the data and unfairly penalizing GCC.

I've re-measured everything on a proper release build (Fedora 44), and the compile times are ~50% faster across the board.

The article now reflects the accurate numbers, and I've added an appendix showing the exact cost of the debug assertions.

I sincerely apologize for the oversight.
by steve1977 | 2026-03-10 17:59:09+00:00
I think I know what you (and Apple) mean, but it doesn't make sense IMHO.

Because then, in apps without a toolbar, like Terminal, the window corner is concentric with the close button and has a smaller radius.

In apps with a toolbar, it still concentric with the close button, but has a larger radius. Because it probably also tries to be concentric with and accommodate toolbar items on the right-hand side.

But then, why not just keep the larger radius for both window types, so they are consistent? It wouldn't break concentricity and you wouldn't have non-matching corners, especially a the bottom, where there's usually few or no elements to be concentric with anyway.

That's exactly the kind of detail I'm talking about. There is a nice idea behind it, but it has not been thought through IMHO.
by dathinab | 2026-03-10 17:59:32+00:00
to be fair dogs watching TV isn't really new, people putting up some YT play list or similar is not that uncommon

kinda like Netflix and YT have "fireplace" streams or how LG TVs can be setup as "digital picture frames" when not "actively" used

but it being a dedicated service people pay money for is something new for me too
by nz | 2026-03-10 17:59:54+00:00
This is not exactly novel. In the 2000s, someone made a fully functioning Perl 6 runtime in a very short amount of time (a month, IIRC) using Haskell. The various Lisps/Schemes have always given you the ability to implement specialized languages even more quickly and ergonomically than Haskell (IMHO).

This latest fever for LLMs simply confirms that people would rather do _anything_ other than program in a (not necessarily purely) functional language that has meta-programming facilities. I personally blame functional fixedness (psychological concept). In my experience, when someone learns to program in a particular paradigm or language, they are rarely able or willing to migrate to a different one (I know many people who refused to code in anything that did not look and feel like Java, until forced to by their growling bellies). The AI/LLM companies are basically (and perhaps unintentionally) treating that mental inertia as a business opportunity (which, in one way or another, it was for many decades and still is -- and will probably continue to be well into a post-AGI future).
by LargoLasskhyfv | 2026-03-10 18:00:17+00:00
There is another model to consider, both cost- and operations-wise, when you zoom out.

Submarines and Carriers of the US Navy, managed "Hyman Rickover style". They may have had mishaps, but not nuclear related.

( https://en.wikipedia.org/wiki/Hyman_G._Rickover )

Problematic was the handling of their nuclear waste, but that got privatized at least partially, so don't do that. Let it stay military, administered and operated in the same successful "Rickover style".

Maybe have a look at https://en.wikipedia.org/wiki/State_Grid_Corporation_of_Chin... , too.

Also standardize on only a few, small modular ones, and fuels. Not making every single one a special snowflake, needing its own special fuel.

Their more compact size would also eliminate the bottleneck of forging the containment vessel, enabling shipyards to join in, for example. That's another https://en.wikipedia.org/wiki/Economies_of_scale to consider.

Since being military, and well managed, they could also burn higher enriched fuel, utilising more of the precious stuff, instead of turning about 97.5% to 99% into waste.

If this is deemed essential for the functioning of a nation, why privatize that?

Why not make it military?
by robertwer | 2026-03-10 18:00:37+00:00
There seems to be some evidence that literate programming style comments help humans to comprehend code they don't know. I found a paper investigating this.

Some folks from Google tested 1) how good LLMs can update existing code with LP style comments and 2) if that helps humans to better understand that enhanced code.
(see the 2024 arXiv paper "Natural Language Outlines for Code").

If I remember correctly they had systematically tested how good humans could understand the enhanced code compared to no comments at all and they also tested different flavours of comments (line level, block level etc.).

The conclusion was: if you use the right amount of comments in the right style (intent explaining the purpose of the code on block level, not every line), it's very beneficial.
by Imustaskforhelp | 2026-03-10 18:00:41+00:00
To be neutral, I am just gonna link the stats of this hackernews post[0] and let public decide the rest because for context, this is same company which was mentioned in a blow-up post 12 days ago which had gotten 600 upvotes and they didn't respond back then[0]

I was curious so I did some more research within the company to find more shady stuff going on like intentionally buying new domains a month prior to send that spam to not have the mail reputation of their website down. You can read my comment here[1]

Just to be on the safe side here, @dang (yes pinging doesn't work but still), can you give us some average stats of who are the people who upvoted this and an internal investigation if botting was done. I can be wrong about it and I don't ever mean to harm any company but I can't in good faith understand this. Some stats

Some stats I would want are: Average Karma/Words written/Date of the accounts who upvoted this post. I'd also like to know what the conclusion of internal investigation (might be) if one takes place.

[There is a bit of conflicts of interest with this being a YC product but I think that I trust hackernews moderator and dang to do what's right yeah]

I am just skeptical, that's all, and this is my opinion. I just want to provide some historical context into this company and I hope that I am not extrapolating too much.

It's just strange to me, that's all.

[0]: https://news.social-protocols.org/stats?id=47326101 (see the expected upvotes vs real upvotes and the context of this app and negative reception and everything combined)

[1]: Tell HN: YC companies scrape GitHub activity, send spam emails to users: https://news.ycombinator.com/item?id=47163885

[2]:https://news.ycombinator.com/reply?id=47165788
by _doctor_love | 2026-03-10 18:00:49+00:00
> What if Lovable's mission became: Pay out $1 billion to vibe coders.

This reframes everything. Customer success means revenue success. Platform improvements mean better monetization tools. Growth means more builders making more money.

LOL.

Companies want their revenue numbers to "line go up" and if that means success for the customers, that's a nice side-effect. It is absolutely not the goal, however.
by tavavex | 2026-03-10 18:00:51+00:00
> It's like the CEO coming down to tell everyone they'll be making sure all the programmers are using regular expressions enough, and tracking time spent engaging with regular expressions, or they'll be counting how many breakpoints they're setting in their debuggers per week.

That's because they weren't sold regex as as service by a massive company, while also being reassured by everyone that any person not using at least one regular expression per line of code is effectively worthless and exposes their business to a threat of immediate obsolescence and destruction. They finally found a way to sell the same kind of FOMO to a majority of execs in the software industry.
by tialaramex | 2026-03-10 18:01:04+00:00
The "goto" in languages like C or C++ is de-fanged and not at all similar to the sequence break jump in "Go To Statement Considered Harmful". That doesn't make it a good idea, but in practice today the only place you'll see the unstructured feature complained of is machine code/ assembly language.

You just don't need it but it isn't there as some sort of "escape hatch" it's more out of stubbornness. Languages which don't have it are fine, arguably easier to understand by embracing structure more. I happen to like Rust's "break 'label value" but there are plenty of ways to solve even the trickier parts of this problem (and of course most languages aren't expression based and wouldn't need a value there).
by hitekker | 2026-03-10 18:01:04+00:00
Yeah, that's the vibe I got after reading more into it.

At the end of the day, I think it's good for to Bluesky to choose its users. It's a business with a product. They get to choose if they want hypersensitive outrage addicts, chasing after victimhood (ala X.com). They can also choose to ignore the dishonest, who can't admit their own entitlements, who play games to blame the company for everything.

I respect the CEO for making fun of those user's harassment campaign; it's a human way to deal with users who demand corporate babytalk.
by robot | 2026-03-10 18:01:17+00:00
"Communicating Sequential Processes" by Tony Hoare: https://www.cs.cmu.edu/~crary/819-f09/Hoare78.pdf

It had intrigued me due to its promise of designing lock-free concurrent systems, that can (I think) also be proven to be deadlock-free.

You do this by building a simple concurrent block that is proven to work correctly, and then build bigger ones using the smaller, proven blocks, to create more complex systems.

The way it is designed is processes don't share data and don't have locks. They use synchronized IPC for passing and modifying data.
It seemed to be a foundational piece for designing reliable systems that incorporate concurrency in them.
by HarHarVeryFunny | 2026-03-10 18:01:57+00:00
I think "world models" is the wrong thing to focus on when contrasting the "animal intelligence" approach (which is what LeCun is striving for) with LLMs, especially since "world model" means different things to different people. Some people would call the internal abstractions/representations that an LLM learns during training a "world model" (of sorts).

The fundamental problem with today's LLMs that will prevent them from achieving human level intelligence, and creativity, is that they are trained to predict training set continuations, which creates two very major limitations:

1) They are fundamentally a COPYING technology, not a learning or creative one. Of course, as we can see, copying in this fashion will get you an extremely long way, especially since it's deep patterns (not surface level text) being copied and recombined in novel ways. But, not all the way to AGI.

2) They are not grounded, therefore they are going to hallucinate.

The animal intelligence approach, the path to AGI, is also predictive, but what you predict is the external world, the future, not training set continuations. When your predictions are wrong (per perceptual feedback) you take this as a learning signal to update your predictions to do better next time a similar situation arises. This is fundamentally a LEARNING architecture, not a COPYING one. You are learning about the real world, not auto-regressively copying the actions that someone else took (training set continuations).

Since the animal is also acting in the external world that it is predicting, and learning about, this means that it is learning the external effects of it's own actions, i.e. it is learning how to DO things - how to achieve given outcomes. When put together with reasoning/planning, this allows it to plan a sequence of actions that should achieve a given external result ("goal").

Since the animal is predicting the real world, based on perceptual inputs from the real world, this means that it's predictions are grounded in reality, which is necessary to prevent hallucinations.

So, to come back to "world models", yes an animal intelligence/AGI built this way will learn a model of how the world works - how it evolves, and how it reacts (how to control it), but this behavioral model has little in common with the internal generative abstractions that an LLM will have learnt, and it is confusing to use the same name "world model" to refer to them both.
by chriswarbo | 2026-03-10 18:01:58+00:00
I'm still learning jj, so I'm not sure about jj things that majutsu might be missing, or what git/magit things seem "missing" but are just done differently in jj.

A couple of things I tend to notice:

- In magit, I can run a raw git shell commands by pressing `:`; majutsu doesn't seem to have that, so I use Emacs ordinary `M-!`

- The default view in majutsu (log) isn't as slick as magit's. With magit, I'll routinely open it up to look at the repo status, browse through the diffs (expanding/collapsing), staging/unstaging, etc. With majutsu, most of that requires first opening up the log, then opening up the diff of a commit.

- Staging/unstaging in magit is quite nice. The analogous workflow in jj seems to be splitting/squashing, but that feels clunkier in majutsu.

I've not opened bugs or PRs for these things, since it's mostly vibes and I don't have actual solutions to offer ;-)

EDIT: Oh, I also remembered that `jj` ignores $PAGER and uses its own built-in paging by default. That tries to act like `less`, and doesn't work well in Emacs. It can't use env vars either, unless we set its pager to something like `sh -c "$PAGER"` (see https://docs.jj-vcs.dev/latest/config/#pager ). Since my $PAGER is always `cat`, I've just set that as jj's pager directly too.
by abustamam | 2026-03-10 18:02:14+00:00
Agreed, and you're right that my statement does have that connotation.

We still keep formula on hand just in case (premixed because the powdered formula has a pretty short shelf life). We found that my daughter doesn't really like it, but that's not really relevant. But in any case, the premixed formula is 2-3x more expensive than the powdered formula, which is why it's a bit surprising to me that someone would say that formula is more cost-effective ROI. Anecdotally we haven't really noticed a increase in our monthly grocery bill, and my wife is back to her pre-pregnancy weight and has stayed there for a few weeks.
by cyberax | 2026-03-10 18:02:24+00:00
> So there is introspection in the 6 targeted languages, and I think I did it a bit better than protobuf because it generally has better type safety.

A bit different kind of introspection. In Protobuf I can write a code generator that loads the compiled PB descriptions and then generates whatever it needs.

For example, I'm using it to generate SQL-serializing wrappers for my Protobuf types for Go.

Oh yeah, also having a standardized pretty-printer would be great.
by adrian_b | 2026-03-10 18:02:30+00:00
I agree that for the correct use of both Optional types and Sum types (a.k.a. Union types) a type system that is powerful enough is essential. Moreover, a convenient syntax is also important.

In my opinion, besides being passed as arguments of functions whose parameters are declared as having the corresponding Optional or Sum type, there is only one other permissible use of values of such types.

Variables of an Optional type shall be allowed in the Boolean expression of an "if" or equivalent conditional statement/expression, while variables of a Sum type shall be allowed in an expression that tests which is the current type in a select/case/switch or whatever is the name used for a conditional statement or expression with multiple branches.

Then in the statements or expressions that are guarded by testing the Optional- or Sum-type variable, that variable shall be used as having the corresponding non-optional type or the type among those possible for a Sum type that has been determined by the test.

This syntax ensures that such variables will not be misused, while also avoiding the excessive and unhelpful verbosity that exists in some languages.