MurphyA/hacker-news huggingface dataset:
by bhattisatish | 2025-12-27 11:04:49+00:00
Oh this is still very true!
I am from Banglaore, India. There are sites that outright block me. And in a day, I at least encounter 20-25 times where I need to click on "human checkbox" due to my region or IP.
In mobile it's worse. All sites that have "strict" mode on, will either block or show the "human checkbox".

Even sites that I manage with Cloudflare, I see the same. Even if I use relaxed mode on, If I visit the site via mobile, it can trigger the Cloudflare human validation.
by rvnx | 2025-12-27 11:05:21+00:00
The sentence is actually just in the comment below: https://news.ycombinator.com/item?id=46396107

You are right, and the FFmpeg devs are also 100% right and I perfectly understand that.

In fact I like the idea to push the big corps and strongly enforce devs' rights.

I think earlier enforcement would have been beneficial here, just that dropping a bomb after 1 year of silence and no reminder (and we still don't know if that was the case), is a bit unpredictable, so I wanted to raise that question
by PunchyHamster | 2025-12-27 11:09:23+00:00
This article is very much "you're holding it wrong"

> They tell me I need to have "proper formatting" and "use consistent style". How rude.

> Maybe I can write a pre-commit hook that checks that for me?

git filter is made for that. It works. There are still caveats (it will format whole file so you might end up commiting changes that are formatting fixed of not your own code).

Pre-commit is not for formatting your code. It's for checking whether commit is correct. Checking whether content has ticket ID, or whether the files pass even basic syntax validation

> Only add checks that are fast and reliable. Checks that touch the network should never go in a hook. Checks that are slow and require an update-to-date build cache should never go in a hook. Checks that require credentials or a running local service should never go in a hook.

If you can do that, great! If you can't (say it's something like CI/CD repo with a bunch of different language involved and not every dev have setup for everything to be checked locally), having to override it to not run twice a year is still preferable over committing not working code. We run local checks for stuff that make sense (checking YAML correctness, or decoding encrypted YAMLs with user key so they also get checked), but the ones that don't go remote. It's faster. few ms RTT don't matter when you can leverage big server CPU to run the checks faster

Bonus points, it makes the pain point - interactive rebases - faster, because you can cache the output for a given file hash globally so existing commits during rebase take miliseconds to check at most

> Don't set the hook up automatically. Whatever tool you use that promises to make this reliable is wrong. There is not a way to do this reliably, and the number of times it's broken on me is more than I can count. Please just add docs for how to set it up manually, prominantly featured in your CONTRIBUTING docs. (You do have contributing docs, right?)

DO set it up automatically (or as much as possible. We have script that adds the hooks and sets the repo defaults we use). You don't want new developer to have to spend half a day setting up some git nonsense only to get it wrong. And once you change it, just rerun it

Pre-push might address some of the pain points but it doesn't address the biggest - it puts the developer in a "git hole" if they have something wrong in commit, because while pre-commit will just... cancel the commit till dev fixes it, with pre-push they now need to dig out knowledge on how to edit or undo existing commits
by ssenssei | 2025-12-27 11:09:33+00:00
My favorite book this year has to be The Divine Farce, I haven't been gripped by a story like that in years. A short stay in hell falls in the same category. I'm still reading a book by Barbara Kingsolver: Demon Copperhead. It's really good and I like the story, but I have not finished it yet since I can't seem to find the time for it. Some other short stories like an inhabitant of Carcossa...
Show HN: Code webapps like it is 2010 – with agents & modern tech. A starter
by tom010 | 2025-12-27 11:09:53+00:00
I want to get stuff done, deliver value and make money.

I got tired of the constant churn in the modern web ecosystem and missed the simplicity of the "good old 2010 days" (Request → Loader → HTML). I assembled a little repo boring-stack because I wanted a point to start from focused purely on shipping features fast and sustainably, rather learning a new framework every six months and handing all the complexity of cool new tech. I am sooo fatigued by now. Goal: maximize developer velocity by using "boring," stable technology that lets me focus entirely on building value and making money, rather than fighting with your tools and throwing away knowledge with every new tool. I want to focus on features.

I used React Router v7 (SSR) to escape the soft vendor lock-in of Next.js, combined with a "Postgres for everything" approach (Data, Auth, and Background Jobs). I drop the API layer and treat frontend and backend as one unit. An added benefit of this boring, explicit architecture (like using routes.ts over file-system magic) is that it happens to be incredibly readable for coding agents, allowing them to handle the boilerplate effectively while you focus on the hard logic.

I have created the repo for myself but thought I share it with you guys in case that anyone feels the same fatigue and needs a starting point :-)
by Earw0rm | 2025-12-27 11:09:53+00:00
That's very much an issue with SIMD, especially where floating point numbers are concerned.

Matt Godbolt wrote about it recently.

https://xania.org/202512/21-vectorising-floats

TLDR, math notation and language specify particular orders in which floating point operations happen, and precision limits of IEEE float representation mean those have to be honoured by default.

Allowing compilers to reorder things in breach of that contract is an option, but it comes with risks.
by adrian_b | 2025-12-27 11:10:11+00:00
For your problem, i.e. "guessing whether a function will mutate the parent structure", the solution used by Rust is far from optimal and I actually consider it as one of the ugliest parts of Rust.

The correct solution for the semantics of function parameters is the one described in the "DoD requirements for high order computer programming languages: IRONMAN" (January 1977, revised in July 1977), which have been implemented in the language Ada and in a few other languages inspired by Ada.

According to" IRONMAN", the formal parameters of a function must be designated as belonging to one of 3 classes, input parameters, output parameters and input-output parameters.

This completely defines the behavior of the parameters, without constraining in any way the implementation, i.e. any kind of parameters may be passed by value or by reference, whichever the compiler chooses for each individual case. (An input-output parameter where the compiler chooses to pass it by value will be copied twice, which can still be better than passing it by reference, e.g. when the parameter is passed in a register.)

When a programming language of the 21st century still requires for the programmer to specify whether it is passed by value or by reference, that is a serious defect for the language, because in general the programmer does not have the information needed to make a correct choice and this is an implementation detail with which the programmer should not be burdened.

The fact that C++ lacks this tripartite classification of the formal parameters of a function has lead to the ugliest complications of C++, which have been invented as bad workarounds for this defect, i.e. the fact that constructors are not normal functions, the fact that there exist several kinds of superfluous constructors which would not have been needed otherwise (e.g. the copy constuctor), the fact that C++ 2011 had to add some features like the "move" semantics to fix performance problems of the original C++. (The problems of C++ are avoided when you are able to differentiate "out" parameters from "inout" parameters, because in the former case the function parameter uses a "raw" area of memory with initially invalid content, where an object will be "constructed" inside the function, while in the latter case the function receives an area of memory that has already been "constructed", i.e. which holds a valid object. In C++ only "constructors" can have a raw memory area as parameter, and not the normal functions.)
by uplifter | 2025-12-27 11:10:23+00:00
You're choice of samples is rather skewed towards ones sharing a relatively recent common ancestor. Octopus and Sea Squirts are also animals, and they don't have legs or torsos or, in the later case, heads or eyes. Octopus brains are also rather different from those of vertebrates, and they have 8 mini-brains for more distributed/localized control of each major limb.

That said, I agree with you that there is a lot of commonality in life. Even in the case of Octopus we share a lot of DNA. I just mostly think that is due to common ancestor and common environmental pressures, not to some fundamental limit in the breadth of evolutionary potential itself. Its probably worthwhile to wonder at how that actually works though. Maybe evolutionary potential could be improved.
by PunchyHamster | 2025-12-27 11:10:25+00:00
> I want to add one other note: in any large organization, some developers will use tools in ways nobody can predict. This includes Git. Don't try to force any particular workflow, including mandatory or automatically-enabled hooks.

you will save your org a lot of pain if you do force it, same as when you do force a formatting style rather than letting anyone do what they please.

You can discuss to change it if some parts don't work but consistency lowers the failures, every time.
by antirez | 2025-12-27 11:11:21+00:00
For a second I'll not consider the fact that I believe your argument is conceptually wrong. Let's focus only on the cultural part: "net positive by about 100% of people", this is deeply US-centric. For most other people, coming in the US is preparing to being exposed to an amount of AC that causes strong discomfort. Ask every European, for instance. Moreover having a more normal temperature would be something people adapt in just a few months: and this would save an enormous amount of energy. But no, let's blame AI, with our asses freezing at 17 degrees.
by Anamon | 2025-12-27 11:11:23+00:00
Yeah, that was my main head-shaking moment in that entire piece as well.

Tell me again about these grandiose efficiency gains from agentic coding assistants, which I'm apparently supposed to supervise in real time as they produce shittier code than I would've. And about what an excellent idea it is to have software developed this way by people who don't understand why an automated system being able to commit to a main branch might be problematic.
by weitendorf | 2025-12-27 11:11:52+00:00
Only a very, very small fraction of open source projects get to the point where they legitimately need committees and working groups and maintainer politics/drama.

> quite a few people would consider "benevolent dictator for life" an outdated model for open source communities.

I think what most people dislike are rugpulls and when commercial interests override what contributors/users/maintainers are trying to get out of a project.

For example, we use forgejo at my company because it was not clear to us to what extent gitea would play nicely with us if we externalized a hosted version/deployment their open source software (which they somewhat recently formed a company around, and led to forgejo forking it under the GPL). I'm also not a fan of what minio did recently to that effect, and am skeptical but hopeful that seaweedfs is not going to do something similar.

We ourselves are building out a community around our static site generator https://github.com/accretional/statue as FOSS with commercial backing. The difference is that we're open and transparent about it from the beginning, and static site generators/component libraries are probably some of the least painful to fork or take issue with their direction, vs critical infrastructure like distributed systems' storage layer.

Bottom line is, BDFL works when 1. you aren't asking people to bet their business on you staying benevolent 2. you remain benevolent.
by ssl-3 | 2025-12-27 11:12:09+00:00
Not everyone is in an urgent hurry to replace people with bots; that's a hyperbolic construct.

But to try to answer some of what I think you're trying to ask about: The bot can be useful. It can be better at writing a coherent collection of paragraphs or subroutines than Alice or Bill might be, and it costs a lot less to employ than either of them do.

Meanwhile: The bot never complains to HR because someone looked at them sideways. The bot [almost!] never calls in sick; the bot can work nearly 24/7. The bot never slips and falls in the parking lot. The bot never promises to be on-duty while they vacation out-of-state with a VPN or uses a mouse-jiggler to screw up the metrics while they sleep off last night's bender.

The bot mostly just follows instructions.

There's lots of things the bot doesn't get right. Like, the stuff it produces may be full of hallucinations and false conclusions that need reviewed, corrected, and outright excised.

But there's lots of Bills and Alices in the world who are even worse, and the bot is a lot easier and cheaper to deal with than they are.

That said: When it comes to legal matters that put a real person's life and freedom in jeopardy, then there should be no bot involved.

If a person in a position of power (such as a police officer) can't write a meaningful and coherent report on their own, then I might suggest that this person shouldn't ever have a job where producing written reports are a part of their job. There's probably something else they're good at that they can do instead (the world needs ditchdiggers, too).

Neither the presence nor absence of a bot can save the rest of us from the impact of their illiteracy.
by abigail95 | 2025-12-27 11:12:46+00:00
You've gone off the rails by narrowly focusing on a passage of a software license without understanding the contract law and copyright law environments that those licenses and transactions exist in.

If you file a statement of claim to a court that is just riffing on the theme of "Compiled binaries of GPL code are being distributed" - you won't get anywhere.

I implore you to learn how to identify the parties involved, which contracts get formed when and between whom, de minimis, exemptions to copyright, and the non-copyrightable parts of code.
by svat | 2025-12-27 11:13:28+00:00
Can you name some books as example? I picked a few random books from the period you mentioned, both fiction and non-fiction, and checked the first few pages of each; most of them had a good number of em dashes (or spaced en dashes, depending on the publisher's typographic style). For example:

- Leave It to Psmith, P. G. Wodehouse, 1923: five on the first two pages https://archive.org/details/bwb_O8-BSS-318/page/10/mode/2up

- Kim, Rudyard Kipling, 1901 (1913): fourteen on the first three pages https://archive.org/details/dli.pahar.1530/page/1/mode/2up

- The Sun Also Rises, Ernest Hemingway, 1926 (1954 printing?): ok, I admit Hemingway was very spare with punctuation; I noticed none https://archive.org/details/bwb_C0-BHF-057/page/2/mode/2up

- Men of Mathematics vol 2, E. T. Bell, 1937 (1953 printing): two in the three pages of the Preface https://archive.org/details/MenOfMathematics/page/n5/mode/2u...

- The Story of Philosophy, Will Durant, 1926 (1962 printing?): seven in the first five pages https://archive.org/details/THESTORYOFPHILOSOPHY1TheLivesAnd...

- The American Language, H. L. Mencken, 1919: ten in the four pages of the preface https://archive.org/details/americanlanguage00mencuoft/page/...

(The counts are just the ones I noticed; there may be more.)

Are the books you read very different, or do you have a different threshold for "rare"/"niche"?
by baobun | 2025-12-27 11:13:41+00:00
Point being it carries both the index (versions/pointers) and full metadata + build instructions for all packages in single repo.

The index could be split from the build and the package build defs could live in independent repos (like go or aur).

It would probably take some change to nix itself to make that work and some nontrivial work on tooling to make the devex decent.

But I don't think the friction with nixpkgs should be seen as damning for backing a package registry with git in general.
by cyphar | 2025-12-27 11:13:48+00:00
I get your point, but can you point to a sales pitch which included "exploit security flaws in Android to improve tracking"? Probably not, but we know for a fact they did that.

Also, your own blog lists an leak from 2024 about a Facebook partner bragging about this ability[1]. You don't find the claim credible (and you might be right about that, I haven't looked into it), but I find it strange that you are asking for an example that your own website provides?

[1]: https://futurism.com/the-byte/facebook-partner-phones-listen...
by Lio | 2025-12-27 11:15:27+00:00
Well they're similar enough for this project to work:

https://github.com/wouterken/crystalruby

It allows you to call crystallize on a ruby method and then have it recompile with crystal and called over FFI, which is pretty neat.

It would be really cool if this trb syntax could get close to the crystal syntax for method signatures at least.

I'd love to be able to move chucks of hot code to Crystal but leave everything else in ruby for compatibility with existing projects.
by bartread | 2025-12-27 11:15:51+00:00
Be serious, will you?

He is, very directly and in shorthand form I’ll grant you, expressing concerns that many people share about both AI and the oligarchs in control of it.

But if you find the language offensive consider the very real possibility that, if we don’t get ourselves onto a better, more sustainable, and more equitable path, people will eventually start expressing themselves with bullets as well as with words.

Many of us would like to avoid that, especially if we have families, so the harsh language is the least of our concerns.
by fluoridation | 2025-12-27 11:15:54+00:00
>Extended time is your own proposal, and one you successfully defeated. This is generally called a strawman.

Uh... Huh? So it's my argument, which I've refuted, and therefore it's a strawman? I think you should go get refreshed on informal fallacies. No, what's happening here is that there's a phenomenon that's being discussed -- namely, mood-setting in fictional writing -- and I'm proposing as its mechanism not additional information, but rather additional time. If you want to participate in the discussion you can't dismiss my argument my incorrectly calling it a strawman. You have to explain why it doesn't work as an explanation, like this:

>Instead, I propose that the type of tied is informationally and qualitatively distinct. The exhaustion of the weight of the world, internal struggle, amidst a dismal hellscape is different than "really tired".

Yet, if we were to replace the particular flavor of tiredness with a completely different, equally intense one, it would evoke the exact same empathic feeling on the reader, because the imagination is not precise enough to reproduce other people's feelings with such granularity. Someone can't precisely imagine the difference between the tiredness felt by Conan after 12 hours turning a mill for six days in a row, and that felt by Frodo. The reader is going to reach that passage and feel that the characters are really tired. That's why such long descriptions don't contain any more meaning; because they can be replaced with something completely different and put the same idea in the reader's mind: "Sam and Frodo are really tired".

>LOTR could be summarized with a sentence. The content is in the detail.

I've already addressed that. If the information is the words themselves and not their meaning, then any English text is equally information-dense. "It's raining" contains a third as much information as "it's raining, it's raining, it's raining", since it contains a third as many words.
by quantpunk | 2025-12-27 11:16:35+00:00
The language models can give you a good quick program right now.

The bigger hurdle is the intimidation of the gym. It doesn't help that the gym will be packed on January 1st. I deload every January to avoid the gym as much as possible in January. It will be back to normal by mid February. A new lifter would be so much better off waiting until March 1st to join.

Walking 30 minutes a day to get your cardio up will almost certainly help your brain chemicals improve after a few weeks and no new skills needed.
by consp | 2025-12-27 11:17:06+00:00
Knowledge is what I see equivalent with a big library. It contains mostly correct information in the context of the book (which might be incorrect in general) and "ai" is very good at taking everything out of context, Smashing a probability distribution over it and picking an answer which humans will accept. E.g. it does not contain knowledge, at best the vague pretense of it.
by tor825gl | 2025-12-27 11:18:14+00:00
If I understood correctly the argument in The Selfish Gene, Dawkins suggests that thinking about a genome as having a goal which it adapts itself to work towards, is absolutely a useful conceptual model.

He makes it very clear that the genome does not actually have intentionality, but also that this is the right way to imagine how organisms might evolve, as though they did have both goals and a plan.
by abigail95 | 2025-12-27 11:19:50+00:00
Offer and acceptance are part of how contracts are formed. There is no contract without there first being an offer.

If you accept someones offer, provided it meets the rest of the criteria for a valid contract - congratulations you now have a contract. If the any party violates it, yes this is a breach of contract.

> A written offer is not the same thing as a contract.

An offer is a precondition and component of a contract
by SkiFire13 | 2025-12-27 11:20:30+00:00
I can agree that Github is not particularly great for someone used to the original git pull requests, but I'm intrigued by this note:

> no sane word-wrap of the long description you type: github commit
> messages tend to be (if they have any description at all) one long
> unreadable line.

Why does word wrapping need to be a concern of those writing the message rather than the software showing it to the reader? I generally find them to be too short on big screens while being too big for small phone screens. They are also a pain to write manually if you ever have to go back and perform a substantial edit in the middle of a paragraph; one could argue your editor could help you with that, but if I need a software to do this anyway why can't that be used on the viewer side, where they can also customize settings as they see fit without annoying other people?
by LargoLasskhyfv | 2025-12-27 11:21:31+00:00
CachyOS.

(Running on Core i5 7500t and Core i7 7700t with integrated intel HD630 graphics on Lenovo M910q tiny with 32GB RAM. Mostly clocked down to 800Mhz. Chosen path: systemd-boot, Btrfs, ZRAM, Plasma/KDE)
by creshal | 2025-12-27 11:21:32+00:00
It really depends on how you tackle gradual typing on a project level. The easiest way to sabotage is a "any new code must be fukly type checked" requirement, because it often means you also need to add type hints to any code you call, which leads to Optional[Union[Any]] nonsense if you let juniors (or coding assistants) go wild.

As always, no fancy new tech is a substitute for competent project management.