MurphyA/hacker-news huggingface dataset:
by ants_everywhere | 2025-09-08 02:13:46+00:00
To clarify I am not accusing you of that. I am saying you are seeing distinctions as more important than the rest of the literature and concluding that the literature is erroneous. For example whether a given policy is Georgist.

But often people who believe in a given doctrine will see differences as more important than they objectively are. For example, just to continue with socialism, it's common for socialist believers to argue that this or that country is or isn't socialist in a way that disagrees with mainstream historians.

I'm sure there are other examples, for example people disagreeing about which bands are punk or hardcore. A music historian would likely cast a wider net. Fans who don't listen to many other types of music might cast a very narrow net.
by seabird | 2025-09-08 02:13:47+00:00
Enthusiasts want small trucks. Americans don't want small trucks. They don't want a single-cab S10. They wouldn't even want a double cab S10. What they actually want is a minivan but they're too far into not-cool territory to be a consideration so they look to the mid/full-size SUV and/or truck segment. It is true that you can't really make a small truck in the US any more, and that automakers do like it that way, but it wouldn't change anything even if you changed the CAFE requirements.
by quuxplusone | 2025-09-08 02:14:03+00:00
Serendipitously I just earlier today read Jorge Luis Borges' "Truco" (1955):

https://archive.org/details/borgesreader00jorg/page/258 https://archive.org/details/borgesreader00jorg/page/358

> The title refers to a card game which is unlike those known to English and American cardplayers, though it combines features from rummy, from pinochle, from poker, and from bidding games. Bridge might be thought of as an "exponentiation," though a quieter one, apparently, of truco. Truco players do, in actuality, sing elaborate extemporized songs when they win. The Spanish deck, of forty rather than fifty-two cards, with its more realistic and charming pictures and suits, and its obvious affinity with the mystical Tarot deck, here furnishes Borges with the numerology, the charm and mysteries, the sense of autochthony and deep history, of mingled destiny and magic control, and the sense of the wonderful and frightening "other" world which he uses to produce the effect called "Borgesian." The last sentence might surely be a touchstone for Borges' entire corpus: truco is serious trifling indeed. [Note by Andrew Hurley.]

> For Borges, the truco (like chess) is a symbol of the cyclical nature of reality. The number of combinations being limited, any game of truco potentially contains all games, and any player all the players. Borges included a poem on the same subject in Fe.

More from Borges on truco in this interview from 1984 (translated):

https://thecollidescope.com/2023/07/15/through-caverns-measu...

> You know, people play chess for nothing, usually. I mean, they don’t play for money. Like in truco, for example. But in poker, yes, you play for hard cash, don’t you? — Yes. — Hard cash, yes. But not truco, no. The proof of this is that no one says, “I won so much at truco.” People say, “I beat So-and-So.”
by ChrisArchitect | 2025-09-08 02:14:04+00:00
Article from June.

[dupe]

Recent and related discussions:

Electricity prices are climbing more than twice as fast as inflation

https://news.ycombinator.com/item?id=44931763

Big Tech's A.I. Data Centers Are Driving Up Electricity Bills for Everyone

https://news.ycombinator.com/item?id=44905595

The U.S. grid is so weak, the AI race may be over

https://news.ycombinator.com/item?id=44910562

AI is booming so are household utility bills

https://news.ycombinator.com/item?id=44931763
by stephen_cagle | 2025-09-08 02:15:12+00:00
I mean if you have a better idea for how to assign your attention, then I am all ears. :]

I'd say trust is a pretty reasonable way to assign attention.

I guess the fairest way might theoretically be to require everything to be submitted anonymously, with maybe authorship (maybe submissionship) only being revealed after some assigned period?

This is better for the incubants, but would require a huge amount of energy compared to "Oh, simon finds this interesting, I'll take a looksy".
by mananaysiempre | 2025-09-08 02:16:07+00:00
On one hand, seeing multiple megs described as slim makes me want to pinch myself, because that’s very far from my understanding of reality. On the other, today these apps always seem to include a bespoke toolkit of some description (as both File Pilot and Reaper demonstrate), whereas slim golden-age Windows apps leaned very hard on the GDI/USER/COMCTL one, and those libraries are quite hefty.

(Unlike, say, the Visual Basic IDE, which had two custom toolkits—the one the apps used and the one the IDE did—or Office, which AFAIU included three or four divergent versions—for Access, for Word and Excel, for VBA apps, and for the VBA IDE, with the last two being effectively identical to the respective VB ones, though I don’t know if the IDE and the Word/Excel ones were actually different. And that’s not counting IE’s toolkit, which basically displaced USER controls in HTML forms by the time of IE6. None of these count as slim, is my point.)

But what really makes me wonder here is how File Pilot manages to display what looks in the screenshot like a shell item’s (file’s) full context menu using its custom styling.

My impression was that the atrocious and discordant two-level Explorer context menu Microsoft is pushing in Windows 11 was because the traditional (Windows 95-era) way to provide context menu items with was to write a shell extension (an Explorer plugin, which would get loaded not only into the bloody system shell but also into every app that used common file dialogs) that would get called when the menu was being built. And that callback interface was built around the assumption of menu items being traditional HMENUs (and allowed the shell extension to set up arbitrary drawing routines for the items it added). So changing the toolkit that Explorer used for context menus away from USER was essentially impossible, and even styling it differently from Windows 95 was fraught (I do remember seeing the occasional flat-gray menu item on Windows XP with Luna enabled). There was an attempt to transition to more declarative context menus around (IIRC) Windows 7, but evidently adoption wasn’t good. And thus the Windows 11 Explorer was forced to use the embarrassing hack of initially showing the declarative context menu, drawn using its new toolkit, then grafting the real one, drawn using USER, onto it as a submenu.

And yet.

File Pilot draws the full context menu with a look very similar to Explorer’s preferred one.

How?..
by mikepurvis | 2025-09-08 02:16:54+00:00
I feel this some days, but honestly I’m not sure it’s the whole answer. Every piece of code has some purpose or expresses a decision point in a design, and when you “abstract” away those decisions, they don’t usually go away — often they’re just hidden in a library or base class, or become a matter of convention.

Python’s subprocess for example has a lot of args and that reflects the reality that creating processes is finicky and there a lot of subtly different ways to do it. Getting an llm to understand your use case and create a subprocess call for you is much more realistic than imagining some future version of subprocess where the options are just magically gone and it knows what to do or we’ve standardized on only one way to do it and one thing that happens with the pipes and one thing for the return code and all the rest of it.
Show HN: Frontier – draw with the world live on an infinite grid of pixels
by rmjmdr | 2025-09-08 02:17:04+00:00
I was inspired to make this by r/place and more recently wplace.live.

It's an ever-expanding canvas where every pixel placed unlocks new areas to draw for everyone. So you're limited to drawing on the boundary of what's already there - the "frontier".

The idea for this is to be a living collaborative artwork.

Some cool stuff

- You can hover over a cell to see who placed it. So set a name for yourself and claim squares that will forever be "yours"!

- You can see other people placing cells live.

- No signup needed, f that

- Click the arrows to jump to the current edge in each direction.

Give it a try and let me know what you think.

Ideas for the future

- A timelapse video of pixels being added

- Ability to place more than one pixel at a time (like dragging to draw a line instead of placing them one at a time)

- More fluid scrolling + zooming in/out
by layer8 | 2025-09-08 02:17:58+00:00
I’m sorry, but the expression problem is a fairly well-known problem, and you don’t seem to be familiar with it, so are drawing the wrong conclusions.

The problem statement is: You have code (e.g. a library) that supports polymorphic operations on a range of types. It is called the “expression problem” because the prototypical example is to have a type representing an expression (like an arithmetic expression) that can have various forms (subtypes, not necessarily in the OOP sense), and there are operations like evaluating the expression or printing the expression, which of course need to be implemented for all those subtypes (you need to know how to print a constant, how to print a binary expression, and so on).

There is code that can take an arbitrary expression whose exact subtype will only be known at runtime, and which invokes one of the available operations on the expression object.

Now, you want to be able to write secondary libraries (or programs) that extend the first library by extending the set of subtypes and/or the set of operations, but without modifying the first library (and without duplicating code from the first library). With OOP inheritance, adding new subtypes is easy. With the visitor pattern (or equivalent runtime case-distinction mechanisms like pattern matching in functional languages), adding new operations is easy. But the combination of both is difficult, if not unsolvable.

Overloading doesn’t apply, because overloading would dispatch on the static type of the expression variable, but the use case is that this is an expression parsed from a textual representation at runtime (e.g. in the context of an interpreter or compiler, or maybe some data format parser), so the variable holding the expression object has a generic type and could be holding any expression.
by topspin | 2025-09-08 02:22:14+00:00
The history behind TAT-1, the first transatlantic telephone cable, and the repeaters used, is fascinating. Bell Labs designed the repeaters. The repeaters used vacuum tubes for amplification and were designed for extreme reliability. The flexible repeaters were integrated into the cable like modern cables.

The tubes were tested to an extremely high standard. Only a small fraction of the manufactured tubes were selected after testing: Bell Labs designed a test regime over 18 years to detect minute flaws in manufactured tubes

The cable and its 306 tubes operated for 22 years with no failures.
by typpilol | 2025-09-08 02:22:55+00:00
That's definitely one of my favorites.

I also like this one just for the insanity lol

https://esolangs.org/wiki/5D_5D_Brainfuck_With_Multiverse_Ti...

Quick description:

Like 5D Brainfuck With Multiverse Time Travel, 5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel operates on an array of 5D Brainfuck With Multiverse Time Travel program cells initialized to the 5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel program's source code (treated as a 5D Brainfuck With Multiverse Time Travel program). Multiple pointers to memory, and to the program, may coexist in each timeline. The state of the tape is stored as a timeline, allowing programs to rewind time. In addition, programs may create and traverse parallel universes, which are timelines that all execute simultaneously, "below" their parent timeline. Each timeline has its own pointer.
by travisgriggs | 2025-09-08 02:25:38+00:00
My take: money. Years ago, when I was cutting my teeth in software, efficiency was a real concern. Not just efficiency for limited CPU, memory, and storage. But also how you could maximize the output of smaller head count of developers. There was a lot of debate over which methodologies, languages, etc, gave the biggest bang for buck.

And then… that just kind of dropped out of the discussion. Throw things at the wall as fast as possible and see what stuck, deal with the consequences later. And to be fair, there were studies showing that choice of language didn’t actually make as big of difference as found in the emotions behind the debates. And then the web… committee designed over years and years, with the neve the ability to start over. And lots of money meant that we needed lots of manager roles too. And managers elevate their status by having more people. And more people means more opportunity for specializations. It all becomes an unabated positive feedback loop.

I love that it’s meant my salary has steadily climbed over the years, but I’ve actually secretly thought it would be nice if there was bit of a collapse in the field, just so we could get back to solid basics again. But… not if I have to take a big pay cut. :)
by AdieuToLogic | 2025-09-08 02:26:58+00:00
Something not yet mentioned by other commenters is the "giant caveat":

As a giant caveat, I should note that I have a small bit of prior experience working with kernel modules, and a good amount of experience with C in general, so I don’t want to overstate Claude’s success in this scenario. As in, it wasn’t literally three prompts to get Claude to poop out a working kernel module, but rather several back-and-forth conversations and, yes, several manual fixups of the code. It would absolutely not be possible to perform this modernization without a baseline knowledge of the internals of a kernel module.

Of note is the last sentence:

It would absolutely not be possible to perform this modernization without a baseline knowledge of the internals of a kernel module.

This is critical context when using a code generation tool, no matter which one chosen.

Then the author states in the next section:

Interacting with Claude Code felt like an actual collaboration with a fellow engineer. People like to compare it to working with a “junior” engineer, and I think that’s broadly accurate: it will do whatever you tell it to do, it’s eager to please, it’s overconfident, it’s quick to apologize and praise you for being “absolutely right” when you point out a mistake it made, and so on.

I don't know what "fellow engineers" the author is accustomed to collaborating with, junior or otherwise, but the attributes enumerated above are those of a sycophant and not any engineer I have worked with.

Finally, the author asserts:

I’m sure that if I really wanted to, I could have done this modernization effort on my own. But that would have required me to learn kernel development as it was done 25 years ago.

This could also be described as "understanding the legacy solution and what needs to be done" when the expressed goal identified in the article title is:

... modernize a 25-year-old kernel driver

Another key activity identified as a benefit to avoid in the above quote is:

... required me to learn ...
by lmm | 2025-09-08 02:27:15+00:00
> The original pattern is such a good idea and not even remotely abstract. It's a well defined architectural pattern for a well defined problem yet people still managed to bastardize it to the point that the term REST barely means anything today

The original pattern is extremely abstract and a bad idea. There has been precisely one successful implementation of the original REST "pattern", the web, and only because the pattern was retrofitted onto it; most of the things in REST-as-originally-defined are bad ideas, as any apples-to-apples comparison will show.

I get oppositely frustrated because "REST" was adopted as a rallying cry for one or two good ideas (fitting your protocol to the GET/POST and 2xx/4xx/5xx distinctions from HTTP instead of treating it as a completely opaque transport layer; not wrapping everything in oodles of XML) and the term brought along a lot of bad ideas as baggage. But the meaning of the term shifted towards doing the things that are good because the original meaning was bad.
by jmward01 | 2025-09-08 02:27:36+00:00
I have gotten into discussions with people about linters and code formatting standards in general and I always liken it to a work desk. If my company decided that every work desk had to be 100% generic and that every day if I put any adjustment, even to the seat height, on that desk they would reset it, I would probably think that place was hostile. Even if I could 'auto format' it back to something close every time I stepped up to the desk I would be pretty unhappy. It just wouldn't feel like mine and eventually I would be beaten into whatever style, which wasn't my own, the code came out of the repo as. Basically, linters are evil. They only work for the person that set them up.

Leave code format up to the primary owner of the file. It is pretty rare that code has more than one person that does 95% of the edits on a file so let them own the formatting. In the rare case where there are shared files with shared edits then it is ok to mandate some sort of enforced format but those are so rare that it generally isn't worth discussing. The proposed approach here ignores all the messy non-standard stuff that happens because of the margins or the rules that are very hard to build in when codifying personal coding style.

Let me have my messy desk and I'll let you have yours.
by bb88 | 2025-09-08 02:29:42+00:00
Tether is still banned in NY, AFAICT (Maybe I'm wrong here).

> But once they realized they had accidentally created a money-printing machine

So that's a joke right? They on-purposely created a money-printing machine. But my god, the fraud was so profitable they needed a way to make it legit because no one wants to live in Panama.
by Fricken | 2025-09-08 02:31:19+00:00
I worked as a sculptor of styrofoam for a few months in my student days. The sculptures would be sprayed with a hard enamel coating, then painted and delivered to mini-golf courses, amusement parks etc all over North America. We made kitschy stuff.

We had a CNC machine that was able to cut out the broad strokes. We didn't use it much, however because it didn't really save time. 90% of the work went into the fine details and polish. I have no experience with stone, but I imagine the breakdown to be similar.

Seeing as how they're doing all the finishing work by hand I'm wondering how much labour they can really save with their robots. For a trained sculptor the broad strokes are the easy part, and the fun part. Then it's a bunch of tedium getting everything clean and smooth.

Like with other forms of bespoke automation, such as vibe coding, I'm afraid that once you factor in everything that goes into a project from concept to deliverables, you're not actually saving yourself much trouble.
by marcus_holmes | 2025-09-08 02:32:08+00:00
>> Use these tools for rapid onboarding onto new frameworks.

Also new languages - our team uses Ruby, and Ruby is easy to read, so I can skip learning the syntax and get the LLM to write the code. I have to make all the decisions, and guide it, but I don't need to learn Ruby to write acceptable-level code [0]. I get to be immediately productive in an unfamiliar environment, which is great.

[0] acceptable-level as defined by the rest of the team - they're checking my PRs.
by rmoriz | 2025-09-08 02:32:28+00:00
I was banned from an OpenSource project [1] recently because I suggested a bug fix. Their „code of conduct“ not only prevents PRs but also comments on issues with information that was retrieved by any AI tool or resource.

Thinking about asking Claude to reimplement it from scratch in Rust…

[1] https://codeberg.org/superseriousbusiness/gotosocial/src/bra...
by ipdashc | 2025-09-08 02:33:13+00:00
> But it goes beyond firewall rules

Honestly though... does it, all that much? Even in a world where NAT didn't exist and we all switched to IPv6, we'd still all be behind firewalls, as everyone on an IPv6 home network is today. Port forwarding would just be replaced by firewall exemptions.

Like on a philosophical level, I do wish we had a world where the end-to-end principle still held and all that, but I'm not actually sure what difference it would make, practically speaking. "Every device is reachable" didn't die because of IPv4 exhaustion or NAT, it died because of security, in reality most people don't actually want their devices to be reachable (by anyone).
by naikrovek | 2025-09-08 02:34:12+00:00
Yes.

“Sure, you can borrow my laptop. It’s fine. Take it home. I promise not to spy on you while the lid is closed. I promise not to record aaaaaany audio or anything! And I definitely won’t hear any conversation that contains information that I’ll use to stalk you later!”

There are a million ways that some nefarious person could spy on another, but at least this isn’t one of them.

And I am a very suspicious person, thanks to some eye opening experiences that I’ve had. When someone says that they want to do something that not a lot of people want to do, I immediately wonder how they will use that against myself or someone else. Because that has happened multiple times to me.

I also hate that I am suspicious of people who want to at least have the opportunity to fully own their devices; something that is perfectly reasonable to want, but I am. What would that additional ability do for them? What will they be capable of doing that they can’t do now? How and when will they use it to get what they want out of someone? Or out of me?

If you don’t think like this, I really envy you. For the longest time, every teacher, every supervisor, every commander, every non-familial authority figure I had until I was probably 35, used and manipulated me for the purpose of advancing themselves. Every single one. The ones in the military didn’t even attempt to hide it.

I’m so scarred because of people convincing me to help them screw me over that I no longer trust anyone who is concerned about things like laptop lid angle sensors. Because who are you trying to screw over and why does that angle sensor stand in your way?
by mannykannot | 2025-09-08 02:35:10+00:00
Prior to the Hiroshima bombing, all that the US had told the USSR about the atom bomb was that they had developed a "new weapon of unusual destructive force" (Truman to Stalin at the Potsdam conference.) As it happens, Stalin knew all about it through espionage, but as the US government was unaware of this, we cannot deduce, from what Stalin had been told by the US government, that the US government's position was that using atom bombs against Japan would have no influence on Stalin's thinking.

Furthermore, we have evidence, from the diaries and correspondence of Truman, Stimson and others, that they were concerned about Stalin's territorial intentions, and expressed the hope that the US's demonstration of the atom bomb would curb them. Whether that led to at least a tacit secondary goal, of checking the USSR by leaving no doubt about the US's willingness to use atomic weapons in circumstances it deemed necessary, is an open question debated by historians to this day.
by astrange | 2025-09-08 02:35:29+00:00
The government regulators also have an interest in knowing the laptops they buy for eg the NSA have authenticated parts to avoid supply chain attacks.

If you're selling cell phones you already spend plenty of time satisfying regulators and vendors from all over the world. The cell phone companies aren't the ones with power here. (In general tech people have no political power because none of them have any social skills.)