MurphyA/hacker-news huggingface dataset:
by avidal | 2025-09-30 15:19:37+00:00
Very cool. I've been using worktrees a lot recently at work, mostly reworking tools or CI jobs that try to manage branches into just using a worktree and cleaning up after yourself.

It's made a big difference in readability and cleanliness. I'll often use, eg, `mktemp -d` with a template argument that's relevant to the usage, then use the base name of the temporary directory as the worktree branch, followed by `git fetch <remote> <remote-branch>:<worktree-branch>`.

I've been thinking about using worktrees more for my general development, since I'm frequently working across multiple branches.
by buran77 | 2025-09-30 15:19:50+00:00
> This is not a sustainable situation in a democracy.

Purging your enemies from everything and instead putting your buddies (especially as dishonest and unqualified as the ones this admin brought) will fix the current "unsustainable" situation? Is it even marginally less bad? Because looking from the distance what they're doing is changing from "not great" to "awful" for democracy, and looking close up I'm sure it looks even worse.

There's not a single illegal, abusive, or plain stupid thing that this admin has done where you can't find some "silver lining" that allows you to dilute the problem and make it look like you're part of some solution. "And well, the implementation may not have been perfect but we're trying to fix things".

Nothing about this was for democracy or the country, and who those people donate do doesn't matter. Only who they don't donate to.
by XenophileJKO | 2025-09-30 15:20:00+00:00
In my opinion TDD is antithetical to this process.

The primary reason is because what you are rapidly refactoring in these early prototypes/revisions are the meta structure and the contacts.

Before AI the cost of putting tests on from the beginning or TTD slowed your iteration speed dramatically.

In the early prototypes what you are figuring out is the actual shape of the problem and what the best division of responsibilities and how to fit them together to fit the vision for how the code will be required to evolve.

Now with AI, you can let the AI build test harnesses at little velocity cost, but TDD is still not the general approach.
by wholinator2 | 2025-09-30 15:20:06+00:00
I agree, the llm _vastly_ speeds up the process of "rebuilding the theory" of dead code, even faster than the person who wrote it 3 years ago can. I've had to work on old fortran codebases before and recently had the pleasure of including ai in my method and my god, it's so much easier! I can just copy and paste every relevant function into a single prompt, say "explain this to me" and it will not only comment each line with its details, but also elucidate the deeper meaning behind the set of actions. It can tell exactly which kind of theoretical simulation the code is performing without any kind of prompting on my part, even when the functions are named things like "a" or "sv3d2". Then, i can request derivations and explanations of all relevant theory to connect to the code and come away in about 1 days worth of work with a pretty good idea of the complete execution of a couple thousand lines of detailed mathematical simulations in a languages I'm no expert in. LLMs contribution to building theory has actually been more useful to me than is contribution in writing code!
by badsectoracula | 2025-09-30 15:20:11+00:00
FWIW i think that AI (or at least the LLM and some of the other neural network based stuff) can be useful for some stuff and interesting from a technical perspective for many people. Personally i find 99.999% of AI to be way WAY overhyped and i do not really care about the commercial side of it, but at the same time i have found some neat uses for (local) LLMs and i do find the tech behind it interesting (and experimented a bit with it, at least whatever i can do on my own computer).

And on that topic, WRT Hacker News, personally i find someone running GPT2 on their 90s Silicon Graphics retro workstation much more interesting than yet another topic on how AI is eating everything :-P.
by gjsman-1000 | 2025-09-30 15:20:42+00:00
> because of shitty parents allowing kids unsupervised access to the internet

>90% of parents allow their kids unsupervised access to the internet. That's reality. We've spent the last 30 years begging them to supervise and it hasn't worked, so proposing to do it again is a nonstarter.

On the other hand, I completely get why. Expecting parents to know how to operate Windows, Mac, ChromeOS, iOS, Android, Nintendo, PlayStation, Xbox, ChatGPT, and school-issued devices is absurd, delusional, obviously never happening. CompTIA A+ Certification, for entry-level help desk work, requires learning about less platforms than what a parent faces. Even then, what about the computers that have minimal filtering at school libraries, or at friend's houses?

Denial of the kids on the internet as a problem, combined with unfair expectations on parents, is how we got here.
by bilekas | 2025-09-30 15:20:57+00:00
"How paid subscriptions ate the spread of information" I can't subscribe to another site and seems the archive link is not working for me either. Would love to read it though because while YCombinator just follows where they see the money being, AI has really seen the majority of investment recently. https://www.ycombinator.com/companies/industry/investing Just doing a search for "AI" its clear there is a preference. Maybe for good reason though. If I could read the article that is.
by tart-lemonade | 2025-09-30 15:21:32+00:00
The US also has outsized influence in this arena due to the USD being the world reserve currency. Which isn't to say that might makes right, but it's easier to get your way when you can dictate the terms by which banks and nations can interface with the global economy. The British pound doesn't have quite the same level of soft power, so it must be wielded more strategically to avoid completely losing that which it still possesses.

I don't imagine going after Imgur would be a worthwhile exercise of that soft power.
by prmph | 2025-09-30 15:21:42+00:00
Indeed, I once worked with a developer on a contract team who was only concerned with runtime execution, no concern whatever for architecture or code clarity or whatever at all.

The client loved him, for obvious reasons, but it's hard to wrap my head around such an approach to software construction.

Another time, I almost took on a gig, but when I took one look at the code I was supposed to take over, I bailed. Probably a decade would still not be sufficient for untangling and cleaning up the code.

True vibe coding is the worst thing. It may be suitable for one-ff shell script s of < 100 line utilities and such, anything more than that and you are simple asking for trouble
by Nizoss | 2025-09-30 15:22:13+00:00
If you're on Windows and using vscode, add thiss to keybinds.json

[ { "key": "shift+enter", "command": "workbench.action.terminal.sendSequence", "args": { "text": "\u001b\n" }, "when": "terminalFocus" }, ]

It will allow you to get new lines without any strange output.
by afandian | 2025-09-30 15:22:52+00:00
Transactional services (I don't know if that's the right word), where you have a known user, is different from passively providing web pages that people can read and you don't track them or ask them to register for an account.

But I think that distinction was pretty moot when web 2.0 came along.

Imgur's entire purpose is clearly to host user generated content though, so you can't argue it's not "providing services".
by illuminator83 | 2025-09-30 15:23:20+00:00
Everytime you push commits to a PR you decide what you push exactly.

The first time you push, you should have squashed/rebased your changes into a structure that make sense. Atomic commits are best. Could even be a single commit. Sometimes it makes sense to have multiple commits. E.g. - introducing a new API - moving other code to use the new API - deleting the old API

This could also be a single commit. That is really up to you/your team.

And yes, you rebase/squash and force push new commits. Every team I had in the past 12 years routinely used force-push for PR iterations.

Turns out, when writing production code, other people rarely checkout and work simultaneously on branches of half-finished stuff of other people. It is and should be very, very rare. Very occasionally it happens that someone bases their work on the branch another developer. In these cases, people just carefully rebase their branch on "origin/other-branch" after a fetch. You can't rely on people not force push anyway. Even if you agreed on it, sometimes this needs to be done. (e.g. commit a very large binary file by accident). So you need work in a way which assumes that somebody might have force-pushed their private branch.

Multiple people working on the same branch without a PR process is indeed messy and you should never force push when you do that. They key here is to avoid working with multiple people on the same branch in the first place. I've seen this happening only when: - Work items are too big and not broken down enough (branches are actively developed for for several weeks/months ). Usually and indication of lack of architecture and product leadership. If you do this, you have lots of other interesting problems as well. You are prototyping really but pretending you don't. - You are consciously experimenting and prototyping. Make whatever mess you want - in code and history. You are going to iterate so much and so messy that whatever you produce can't a product. Figure out what you want and need to do and start with a clean implementation afterwards. And maybe delete that messy branch eventually.

So, we have two modes: - Prototyping - which means you are allowed to make a mess because you throw it away anyway. No one, including you, cares much what you code and your repo history looks like. - Production - you write code and repo history for eternity. You do it right for the sake of everybody's sanity.
by yegle | 2025-09-30 15:23:28+00:00
Genuine question: what's the relation between "beneficiaries approved" and "# of layoffs"?

In Prometheus' term, the "beneficiaries approved" is neither a counter nor a gauge. It doesn't tell you the percentage of H1b holders amongst all full time employees and certainly don't include H1b contractors. It also don't include other temporary visa types like L1 or H4, both could be "cheap foreign labors".

The "# of layoffs" also doesn't provide much information about how many H1b holders are part of the layoffs.

The goal of combining the two columns seems to be giving reader a fuzzy feeling that they are correlated, to support the author's narrative.
by shinecantbeseen | 2025-09-30 15:23:36+00:00
I've had some (anecdotal) success reframing how I think about my prompts and the context I give the LLM. Once I started thinking about it as reducing the probability space of output through priming via context+prompting I feel like my intuition for it has built up. It also becomes a good way to inject the "theory" of the program in a re-usable way.

It still takes a lot of thought and effort up front to put that together and I'm not quite sure where the breakover line between easier to do-it-myself and hand-off-to-llm is.
by mindslight | 2025-09-30 15:23:42+00:00
> they'd have run Sanders as candidate instead of Clinton...

While these are good criticisms of the Democratic party, they are not arguments against the Democratic party being the conservative choice.

The rule of law, personal/individual liberty, belief in societal institutions, the US as a force for good in the world, fiscal responsibility, slow measured change - these are all things that the Trumpist Republican party openly rejects, while the Democratic party still basically carries (especially its establishment, eg that Clinton vs Sanders thing).

If you are going to respond, please be sure to cite what specific conservative values you're talking about.

> The latest generation of rockets

You completely misunderstood. If we keep committing societal suicide by following this ego-stroking siren call of Trumpism, we won't have a latest generation of rockets.
by projektfu | 2025-09-30 15:23:50+00:00
I think Duo could be a good way to get started on language learning, but it is not effective on its own. What it lacks is an obvious way to graduate from its call and response mechanic to synthesis, as in creating your own sentences and participating in conversation.

Tandem was a good way for me to improve my Spanish to the point that I felt comfortable traveling. I dropped Duolingo pretty soon after starting on Tandem. Language learning is much more than memorizing words. Unfortunately, Tandem is also basically a dating site for many people, and scammers are using it as well, and this makes it hard to use consistently for language learning.

Once you get the minimal confidence that you think you could find your way back to the airport or bus station in another country, you really should just go visit. Couchsurfing really helped me meet people in many cities. I don't know if the community is still as strong, but it used to have regular meetups of people within a city who are interested in talking with foreigners. You don't need to stay on people's couches if you don't want to.

A lot of people seem to be learning English through multiplayer online gaming. I do not know if this approach works for learning other languages, as I am not inclined to participate.

I can't stress it enough, though. Any language learning approach that isn't writing or conversation is going to max out at a very low level.
by efitz | 2025-09-30 15:24:16+00:00
I think I disagree with the premise.

If the assertion is, I want to use non-LLM methods to maintain LLM-generated code, then I agree, there is a looming problem.

The solution to making LLM-generated code maintainable involves:

1) Using good design practices before generating the code, e.g. have a design and write it down. This is a good practice regardless of maintainability issues because it is part of how you get good results getting LLMs to generate code.

2) Keeping a record of the prompts that you used to generate the code, as part of the code. Do NOT exclude CLAUDE.md from your git repo, for instance, and extract and save your prompts.

3) Maintain the code with LLMs, if you generated it with LLMs.

Mandatory car analogy:

Of course there was a looming maintenance problem when the automobile was introduced, because livery stables were unprepared to deal with messy, unpredictable automobiles.
by pavon | 2025-09-30 15:24:50+00:00
She started enforcing it against the most egregious offenders, but for every enforcement action, there were thousands that went unpunished. The problem is that FTC proceedings are very process heavy by design, which is what you want in some cases, but doesn't scale to widespread scam. We need to be prosecuting hundreds of thousands these cases every year if we want to make a dent and turn things around to fraud being a rare exception rather than a normal business model.
by bengarney | 2025-09-30 15:24:55+00:00
I increasingly wonder if writing and binding performance critical things in C/C++ would be less overall effort. Performant zero-alloc C# vs C/C++ is backdoor magic vs first class language support. Boxing gloves vs. surgical gloves.

C# _can_ do this! But I face many abstractions: special perf APIs, C#, IL, asm. Outcomes will vary with language version, runtime version, platform, IL2CPP/Burst/Mono/dotnet. But C/C++ has one layer of abstraction (the compiler), and it's locked in once I compile it.

I want to do the thing as exactly and consistently as possible in the simplest way possible!

A build environment that compiles .cpp alongside .cs (no automatic bindings, just compilation) would be so nice for this.

----

Example of what I mean regarding abstractions:

void addBatch(int *a, int *b, int count) { for(int i=0; i<count; i++) a[i] += b[i]; }

versus:

[MethodImpl(MethodImplOptions.AggressiveOptimization)] public static void AddBatch(int[] a, int[] b, int count) { ref int ra = ref MemoryMarshal.GetArrayDataReference(a); ref int rb = ref MemoryMarshal.GetArrayDataReference(b); for (nint i = 0, n = (nint)count; i < n; i++) Unsafe.Add(ref ra, i) += Unsafe.Add(ref rb, i); }

(This is obviously a contrived example, my point is to show the kinds of idioms at play.)
by TuringTest | 2025-09-30 15:25:07+00:00
> That is, numbers were specifically used to abstract over how other things behave using simple and strict rules. No?

Agree that math is built on language. But math is not any specific set of abstractions; time and again mathematicians have found out that if you change the definitions and axioms, you achieve a quite different set of abstractions (different numbers, geometries, infinity sets...). Does it mean that the previous math ceases to exist when you find a contradiction on it? No, it's just that you start talking about new objects, because you have gained new knowledge.

The math is not in the specific objects you find, it's in the process to find them. Rationalism consider on thinking one step at a time with rigor. Math is the language by which you explain rational thought in a very precise, unambiguous way. You can express many different thoughts, even inconsistent ones, with the same precise language of mathematics.
by CamperBob2 | 2025-09-30 15:25:11+00:00
Huh. Funny, my knowledge is still there after supposedly being "robbed," just like Walt Disney's movies and J. K. Rowling's books and Bill Gates's software and Lars Ulrich's music.

And "further human development" is exactly what's happening. We've just found the entrance to the next level. Our brains have gone about as far as they can on their own, just as our muscles did in the pre-industrial era. It's time to craft some new tools.
by irusensei | 2025-09-30 15:25:14+00:00
The fact you got downvoted makes me shake my head. One could still interpret this as contributor violation and thats fair.

If I'm not mistaken Kent pushed recovery routines in the RC to handle some catastrophic bug some user caused by loading the current metadata format into an old 6.12 kernel.

It isn't some sinister "sneaking features". This fact seems to be omitted by clickbaity coverage over the situation.
by overfeed | 2025-09-30 15:25:18+00:00
> I spent that much at a bowling alley with 2 other people; once, for 2 hours of bowling and a soda

This has nothing to do with the pricing of video games - you could easily have spent 10-100x more, or 10-100x less on some other form of entertainment for the same period and same number of people, and it will have little bearing on the pricing of games.

> they could charge $400 and it would still not be any more immoral than an expensive handbag.

Charging $400 for games would change how a lot of people perceive the morality of playing cracked games for $0. Game companies aren't magnanimously charging $60 in 2025 because gamers are "dramatic" - they are doing so because that's how their bean counters are telling them to price their own games.
by fny | 2025-09-30 15:25:43+00:00
Duolingo and many other apps avoid the hardest and most essential skill: translating from your language to the other.

It's often easy to guess what words mean especially with the help of cognates and other similarities between languages. 99% of Duolingo mobile is like this. Even when you see words in your language first, your task is to tap the presented foreigin words in order.

You'll never learn to speak this way. The best way is to flip the order:

The language is difficult -> La lengua es difícil.

But that's a slog by comparison. The dopamine rush isn't there, which I guess is why no one does this[0].

I actually wrote a script to build Anki decks from Duolingo and Busuu[2] which did this. The front front is a short sentence. The back is a transliteration and translation. Then I discovered Mango Languages (free through many US public libraries) that's the same with great audio and a pretty good flash card system.

I used that strategy 2 hours a day for two months, and I learned enough Italian to argue with a cab driver whose meter "non funziona."

[0]: In Duolingo's defense, the desktop version isn't a tap fest, but there's not enough opportunities to

[1]: https://mangolanguages.com (not sure why no one knows about this)

[2]: https://busuu.com (probably the best for grammar)

[3]: https://memrise.com (very, very good AI text convos with corrections provided and mixed language support)
by fidotron | 2025-09-30 15:25:43+00:00
What you mean is someone has redefined the word to suit their purpose, which is precisely what I pointed out at the top.

Edit to add: this comment had a sibling, that was suggesting that given a specific proof assistant requires all input to be formal logic perhaps the word formal could be redefined to mean that which is accepted by the proof assistant. Sadly this fine example of my point has been deleted.
by toomuchtodo | 2025-09-30 15:26:03+00:00
> By “better” you mean “more consistent with what I want,” right? Because your average Trump voter voted for the guy who had Elon get on stage with a chainsaw.

Do they want healthcare? Because I want Medicare for All (affordable, accessible, universal healthcare), and large swaths of conservative and rural America are going to lose their ~700 hospitals and Medicaid coverage (50% of rural births are paid for by Medicaid, a June 2025 KFF poll found that more than one in four (27%) adult Medicaid beneficiaries under age 65 are Republicans or lean Republican). Do they want to be able to export their ag to China? I was fine with farmers having their export market with federal subsidies, they voted against it (China has zeroed out US ag imports due to the tariff war, 75-80% of farmers voted for this admin). Do businesses want immigrant labor? I voted for it, they voted against it, and now they face crushing labor shortages in ag, construction, food services, hospitality, etc. Do they want their social security and veterans benefits and support systems? I voted for it, but they voted against it and now these social systems are going to rapidly degrade at scale. Do they want good paying jobs? I voted for it (pro worker, pro union, pro labor policies), they voted for the chainsaw (federal renewables subsidies cuts, federal gov workforce reductions, staunchly anti union positions, etc). Do they want universal daycare/childcare and school lunches? I want this for them, but they vote against this.

I want better for these people (accessible and affordable healthcare, childcare, social security, economic success broadly speaking to live healthy, fulfilled, meaningful lives), but they keep voting to hurt people like me, minorities, and vulnerability populations while shooting themselves in the feet. It's unfortunate. Having empathy is a terrible curse on this timeline. I can only ask them to vote better or I can stand back while they get the chainsaw. The choice lies with them.

"Too strong a belief in the rationality of people in general, or of the world, will lead us to seek purposive explanations where none exists."