MurphyA/hacker-news huggingface dataset:
by trubalca | 2025-12-17 06:37:02+00:00
Hi all, I've been working on this collaborative text editor with a buddy for a few days now and we are having a difficult time getting in contact with writers. The primary differentiator is a simple UI for GIT-like functionality including branching, merging, diffs, and pull requests. We feel semi-confident that there is some industry that needs this functionality enough to pay for it but we aren't sure who exactly. Some people we have thought of so far include:

- screenwriters - lawyers - editors / writers - academics - students potentially - anyone who has important documents and cares about version history

We are struggling to figure out how to reach out to these people and subsequently interview them. We are looking for design partners who will guide the creation of the product and hopefully ultimately pay for it. Would love to hear your guys' thoughts on how to find and reach out to these people
by planckscnst | 2025-12-17 06:37:13+00:00
LLMs are very good at looking at a change set and finding untested paths. As a standard part of my workflow, I always pass the LLM's work through a "reviewer", which is a fresh LLM session with instructions to review the uncommitted changes. I include instructions for reviewing test coverage.

I've also found that LLMs typically just partially implement a given task/story/spec/whatever. The reviewer stage will also notice a mismatch between the spec and the implementation.

I have an orchestrator bounce the flow back and forth between developing and reviewing until the review comes back clean, and only then do I bother to review its work. It saves so much time and frustration.
by butvacuum | 2025-12-17 06:38:18+00:00
Here's another one: golf courses across the US are estimated to use 2 billion gallons per DAY.

700,000 gallons per acre per growing season for Corn, need to look up cover crop water for a per year figure.

500-2000gallons per pound of beef- and usda estimates place domestic production at 27Billion pounds per year.

We should be good stewards of our clean water (aquafers probably shouldn't be used unless they are of the self-filling variety), nor should down-river be deprived of their share. It's just Water use for forced convection evaporative cooling is not that much in the grand scheme, and most of it is used at the power plant rather than the DC.
by AnthonyMouse | 2025-12-17 06:38:30+00:00
That actually seems like an interesting project.

Get a bunch of hackers and DIY small farm folks etc. to move to the same place with the goal of disentangling themselves from megacorps. To begin with it increases the local concentration of people who want that and then causes local businesses and agencies to start serving their needs better because they're a higher proportion of the local population. And it puts the people so inclined in closer proximity to each other which improves coordination.

If you got enough of them you could even affect local ordinances and then e.g. pass strong right to repair laws or laws against businesses requiring you to use one of the major phone platforms. How many localities would need a law against remote attestation before companies would have to stop using it against people?
by v3g42 | 2025-12-17 06:40:21+00:00
You can still use normal debuggers for the code path, but we found it really valuable to isolate and inspect the agent data stream itself: the exact prompts, model outputs, tool inputs/outputs, and how that impacts cost, time, and behavior over long runs. That visibility has been a big lever for improving overall product quality for some of the deeper agentic experiences we are building. Ability to modify and change models has been useful too.
by rightbyte | 2025-12-17 06:41:41+00:00
> I don't want to be that contrarian guy, but I find it energizing to go faster.

Is that contrarian though? Seems like pretty normal corparate setting bragging to me. (Note: I am not accusing you of it since your boss or collegues does not read this).

On the variant of "I am bad at not working too hard".
by throwaway17_17 | 2025-12-17 06:42:38+00:00
Swift is a good reference point in this area because Swift essentially took the dictionary-passing approach of Haskell and added the ‘low level’ type information like bit-width, offsets, etc as a Type Metadata parameter. The big upside is that Swift gets a good deal of performance boost compared to Haskell and other languages that have uniform datatypes (boxed values). So to extend the concept I was describing from Haskell to Swift would be creating concrete syntax for the language, which has no semantic identity outside those already existing in the semantics of Witness Tables. Sometimes the term “derived form” is used to talk about syntax like this. It is the term for concrete syntactic forms that are only defined in terms of syntax forms in the base/core language. It is, for the most part, correct to view derived forms as macros or as a more general metaprogramming construct, but but in Haskell’s case the macros are implemented in the compiler and expanded in a particular phase of compilation.

Swift is also good touch point for considering what the compiler does with the actual implementation of ad-hoc polymorphism. Swift is optimizing to monomorphized instances of a generic function give some heuristics about expect performance gains by specializing the function for a given type (Haskell also does this in GHC, but still pays a performance price for using boxed values).

So to answer the question: the part of Haskell’s implementation of typeclasses that I think is the correct method is that it is merely a derived syntactic form that is expanded by the compiler into Haskell’s actual language (its abstract syntax as encoded as ghc-core in GHC in particular). From this perspective Swift doesn’t provide the derived form, it just provides the implementation directly for developers to use omitting the sugar that Haskell provides. I tend towards explicitness as a strong default in language design.

Rust doesn’t have a formal semantics currently, so they could certainly adopt a derived form approach to traits, but I don’t know enough Rust to be able to determine what issues existing thoughts, assumptions, and type theory ‘commitments’ would act as obstacles to such a semantic.

As to MiniRust, Ralf Jung (at ETH Zurich) has done some excellent work, along with some of his students (Max Vistrup’s recent paper on Logics a la Carte is very, very good). MiniRust does attempt to be comparable to Haskell’s GHC-core. So in the sense of being or approaching what I would view as the (excluding type theory based options) correct way to implement ad/hoc polymorphism, yes, to sum: MiniRust as the semantic definition of a derived syntactic form and a compilation phase for ‘expansion’ of the trait macro.

Those explanations aside, my issues with ad-hoc polymorphism do not go away under this implementation, I’m generally opposed to generic functions (especially function name overloading). But I think that if a language is pursuing ad-hoc polymorphism as a feature they should pursue it in a well founded and formal manner.
by tomhow | 2025-12-17 06:42:41+00:00
I think after nearly 19 years it’s pretty well settled that downvoting of stories won’t be happening :)

The principle is that we don’t want a battle between upvotes and downvotes to determine rank, because that would set the wrong incentives (e.g coordinated downvoting of stories to help a particular story move up the rankings).

The guidelines include what is on-topic/off-topic, and the most significant criterion is whether a story gratifies intellectual curiosity.

If you earnestly feel that it doesn’t, then it’s fine to flag it as being off-topic. Otherwise it’s just not to your taste, in which case hit “hide” and upvote stories you do like.

See also: https://news.ycombinator.com/item?id=373801
by ic_fly2 | 2025-12-17 06:43:18+00:00
Really?

I grant you pipelines are the best bit about ado, but the fact that you can’t test them is a pain.

And the webhooks and templating are pretty messy and unpleasant quickly.

We’re changing from ADO to GitHub (had to be an MS product for corporate) and the infra people are looking forward to GHA as they prefer their maintenance to ADO pipelines.
One Bottle – everyone gets one upload before 2026
by Peterrrrpark | 2025-12-17 06:43:34+00:00
Hi HN,

I built One Bottle, a small web experiment.

The rule is simple: every person gets exactly one image or video upload.

No edits. No retries. No likes. No comments. No profiles. No timestamps.

Once uploaded, the bottle is sealed and can’t be changed.

How it works

Uploads are only open until Jan 1, 2026 (PST)

Each account can upload once

Content is reviewed to block illegal, political, or explicit material

Viewers open bottles at random, like a blind box

Each user can only open a limited number per day

Bottles don’t repeat

After 2026, uploads close forever. The site becomes a fixed archive of what people chose to leave behind in 2025.

Why build this?

Most platforms optimize for engagement. This one removes it.

The constraint of “one chance” changes how people choose. Without feedback loops, metrics, or visibility, the content feels… quieter.

Some bottles are personal. Some are boring. Some make no sense.

That’s kind of the point.

What it’s not

Not a social network

Not a feed

Not a place to grow an audience

Nothing here improves with scale.

Built as a personal project and now fully live.

Curious how this resonates (or doesn’t) with HN. Happy to answer technical or design questions.

— @linghuchong
by rgreekguy | 2025-12-17 06:43:36+00:00
In my last job we had some memory issues with the build, many times I ended up running out of memory, trying to build the huge Java monolith that was the stupid "product" we made. Automagically, the issues were resolved to a decent extent when switching from GNOME to XFCE, in Ubuntu 24.04.

There is still some use for lightweight even in today. You make better use of your memory/resources in some application, than in something so fundamental.
by maxwells-daemon | 2025-12-17 06:44:13+00:00
There are a couple of interesting benefits from the machine learning side that I think discussions of this kind often miss. (This has been my field of research for the last few years [1][2]; I bet my career on it because these ideas are so exciting to me!)

One is that modern formal systems like Lean are quite concise and flexible compared to what you're probably expecting. Lean provides the primitives to formalize all kinds of things, not just math or software. In fact, I really believe that basically _any_ question with a rigorous yes-or-no answer can have its semantics formalized into a kind of "theory". The proofs are often close to how an English proof might look, thanks to high-level tactics involving automation and the power of induction.

Another is that proof-checking solves what are (in my opinion) two of the biggest challenges in modern AI: reward specification and grounding. You can run your solver for a long time, and if it finds an answer, you can trust that without worrying about reward hacking or hallucination, even if the answer is much too complicated for you to understand. You can do RL for an unlimited time for the same reason. And Lean also gives you a 'grounded' model of the objects in your theory, so that the model can manipulate them directly.

In combination, these two properties are extremely powerful. Lean lets us specify an unhackable reward for an extremely diverse set of problems across math, science, and engineering, as well as a common environment to do RL in. It also lets us accept answers to questions without checking them ourselves, which "closes the loop" on tools which generate code or circuitry.

I plan to write a much more in-depth blog post on these ideas at some point, but for now I'm interested to see where the discussion here goes.

[1] https://leandojo.org/leandojo.html [2] https://aristotle.harmonic.fun/
by soraminazuki | 2025-12-17 06:44:43+00:00
Do you think Japanese people actually read and write in kunrei-shiki? No, they write using their own letters.

Romanization is an approximation that exists primarily for two purposes: 1. to express Japanese terms in other languages and 2. to enable typing Japanese on a computer. It’s silly to enforce kunrei-shiki, a system rarely used in practice, in the name of "accuracy" based on arbitrary criteria. Romanized spellings will never be accurate for obvious reasons.

Given the purpose of romanization, it’s more practical to choose a system that allows non-Japanese speakers to pronounce words more closely aligned with the correct pronunciation.
by sofixa | 2025-12-17 06:45:11+00:00
> Every company I've been at that tried to self-host something like GitLab, later moved to GitHub

Interesting, my experience has been the opposite. 99% of companies I've seen self host their VCS, it has been Gitlab (with some rare sel-hosted GitHub Enterprise everyone seems to hate, and the very rare Bitbucket).

To be fair most of them started with it when Gitlab was really really ahead, features wise. The gap has somewhat closed, but Gitlab is still a superior product IMO. Just the fact that you can have an actual organisational structure, and move it around, and share variables/configs between groupings, beats anything GitHub have to offer which is slightly nicer than GitLab.
by qingcharles | 2025-12-17 06:46:03+00:00
This article was amazing. I hope the author continues to update it.

I've been creating web pages since 1993, when you could pretty much read every web site in existence and half of them were just HTML tutorials. I've lived through every change and every framework. 2025 is by far the best year for the Web. Never has it been easier to write pages and have them work perfectly across every device and browser, and look great to boot.
by aeonfox | 2025-12-17 06:47:31+00:00
The middle and upper class, city people, are just a fraction of the population. If there's been progress, it's not bearing out in the data. Though there appears to be a slight inflection point around the 2010, it seems the trend is still up. Though this data isn't recent enough to include the effects of semaglutide.

https://ourworldindata.org/grapher/share-of-adults-defined-a...
by pseudony | 2025-12-17 06:48:51+00:00
I’ve heard it said and I won’t argue your personal experience.

However, I don’t see it that way at all. I find claude much more capable of writing large chunks of python or react/js frontend code than writing F#, a very statically type-checked language. It’s fine, but a lot more hand-holding is needed, a lot more tar pits visited.

If anything, it seems a popularity contest of which language features the most in training data. If AI assistance is the goal, everyone should write Python and Javascript.
by tyre | 2025-12-17 06:48:53+00:00
Yeah I can't see a better alternative to GitHub.

OSS can build truly incredible libraries and frameworks. User facing products? ehhhhh not so much.

GitHub has gotten worse over the years but it's not like there's some gold standard open source alternative. And remember, early GH was filled with a pretty amazing group of developers and open source advocates.

If the counter is that, instead of buying github, we could have invested in building some other tool, well, that's not how this works. People need to build what the company is actually building for its users.
by kazinator | 2025-12-17 06:50:33+00:00
Out of those people, the only ones with money to blow on software are lawyers.

Most of your target audience does not grok branching, merging, diffs and pull requests.

Google Docs allows for collaborative editing and is free to use. Collaborative as in, as you edit, your collaborators' cursors appear, labeled by their names, and you see their edits in real time in the same document.

Users who know about this are not going to go to diffs, pull requests and merges; they simply don't know the computer science behind why those things would be advantageous.

Texts which are not code are very difficult to branch and merge because you can't just test them to see whether they work. E.g. if two authors take a partially written novel, and continue it in different ways, good luck merging it into one cohesive whole whose plot makes sense. Maybe with the help of AI it could be pulled off; it could tell you things like why has the chsaracter of Dwight re-appeared in chapter 7, after being killed in chapter 5.
by teiferer | 2025-12-17 06:51:47+00:00
> rather than having humans review AI-generated code, I’d much rather have the AI prove to me that the code it has generated is correct. If it can do that, I’ll take AI-generated code over handcrafted code (with all its artisanal bugs) any day!

I wouldn't. An unreadable mess that has been formally verified is worse than a clear easy to understand piece of code that has not.

Code is rarely written from scratch. As long as you want humans to maintain code, readability is crucial. Code is changed magnitudes more often than written initially.

Of course, if you don't want humans to maintain the code then this point is moot. Though he gets to the catch later on: then we need to write (and maintain and debug and reason about) the specification instead. We will just have kicked the can down the road.
by ascorbic | 2025-12-17 06:52:09+00:00
It's the replies that are the interesting bit. It's not perfect, but it can maintain multiple conversations with different people in the same context, and do things like changing its current rules in response to conversations with users. Its slightly robotic tone is deliberate: it tries to convey information in the most efficient way possible. I'm not sure if that's an emergent property or if its in one of its fixed memory blocks. I do know that earlier on people managed to convince it to change its personality and cpfiffer had to intervene to stop people doing that.
by lioeters | 2025-12-17 06:53:22+00:00
This hits the nail on the head. The happiest people I've met in my life, and I've been literally around the world, are in some of the poorest "developing" countries. Their basic needs were met, food and shelter, at least for the day. But they didn't have much more, except their friends, family, and the nature around them - forests, rivers, mountains and ocean.

The saddest people I've seen were in the richest countries, like the U.S. and Germany. Yes, the homeless population, I've met them too - but more surprisingly, the wealthy ruling class. They've conquered the land, covered it with concrete and asphalt, colonized their own public, produce and broadcast mass media entertainment, and command the largest militaries. Yet their culture has clearly devolved and degenerated, propped up by drugs, cosmetic surgery, nice clothes, nice houses, nice cars. But it's not enough to fill that emptiness inside.

It's a simplification of course, there are many very miserable poor people, that's the base majority of humanity, on whom the pyramid of modern civilization is built. But I have no respect for those at the top, the self-styled kings of today. They're deeply unhappy people who are not fit to lead the world, much less themselves.
by mgz | 2025-12-17 06:55:51+00:00
Didn't get to this detail yet. What the app currently does is allow all resources but block the ones that come from any youtube domain (this will block youtube embeds). Currently this is enough for my kids.

Also I add some relaxing rules, eg: If you navigate to domain A and it redirects you to domain B, do not block B immediately, give it a couple of seconds. It may redirect you back to A and it just wanted to set a cookie on B.

I am adding some gift codes for those who want to check the app but not bother with trial/subscription:

* https://weblock.online/al/gift?code=438912467308

* https://weblock.online/al/gift?code=336293589225

* https://weblock.online/al/gift?code=021644422165

When Weblock asks you to subscribe, just open one of these links on the same phone and it will work for you for free.
by xigoi | 2025-12-17 06:56:40+00:00
What I’m complaining about is that the romanization is based specifically on English, arbitrarily chosen from all languages that natively use the Latin alphabet. For example, what’s transcribed as “shi” is only “aligned with the correct pronunciation” for English speakers. In other languages it would be more accurately transcribed as “ši”, “szi“, “chi”, “schi” or even “si”.
by Joker_vD | 2025-12-17 06:57:33+00:00
> Let's say formal verification could help to avoid some anti-patterns.

I'd still like to hear about the actual mechanism of this happening. Because I personally find it much easier to believe that the moment keeping the formal verification up to date becomes untenable for whatever reason (specs changing too fast, external APIs to use are too baroque, etc) people would rather say "okay, guess we ditch the formal verification and just keep maintaining the integration tests" instead of "let's change everything about the external world so we could keep our methodology".
by onion2k | 2025-12-17 06:57:52+00:00
At that point you create an entirely new API, fully versioned, and backwardly compatible (if you want it to be). The point the article is making is that AI, in theory, entirely removes the person from the coding process so there's no longer any need to maintain software. You can just make the part you're changing from scratch every time because the cost of writing bug-free code (effectively) goes to zero.

The theory is entirely correct. If a machine can write provably perfect code there is absolutely no reason to have people write code. The problem is that the 'If' is so big it can be seen from space.
by atomicfiredoll | 2025-12-17 06:58:55+00:00
Why don't you go ahead and share the "donate to Firefox" page?

Last I knew, it doesn't exist. You can donate to Mozilla Corporation, the group that has been agitating it's own users and donors for years now.

People who want to support the Firefox team/product and have them focus on improving things like the development tools (or whatever else) literally cannot. Mozilla doesn't make that an option.
by vunderba | 2025-12-17 06:59:16+00:00
Wow that does sound like a pain. This might be a bit of a long shot, but depending on the requested diagram, you might be able to deterministically figure out whether it could be adequately represented as Mermaid UML and then import it into draw.io, since it has a built-in Mermaid importer.

I mention this because in my experience Claude is really good at one‑shotting Mermaid UML diagrams.
by planckscnst | 2025-12-17 06:59:59+00:00
I've directly faced this problem with automatic code formatters, but it was back around Claude 3.5 and 3.7. It would consistently write nonconforming code - regardless of having context demanding proper formatting. This caused both extra turns/invocations with the LLM and would cause context issues - both filling the context with multiple variants of the file and also having a confounding/polluting/poisoning effect due to having these multiple variations.

I haven't had this problem in a while, but I expect current LLMs would probably handle those formatting instructions more closely than the 3.5 era.