News for hackers. Stuff that matters.

gorgoiler

[delayed]
It’s nice they tried with a more fleshed out exemplar. Polymorphism (“generics”) and interfaces (“OOP”) would have been even better to see, especially across any kind of visibility boundary enforced by the language (packages, and the like.)

Programming to an abstract interface — and in large codebases, enforced visibility controls — represent the middle ground everyone wants, in my experience, between “OOP” and “sir, this is C”.

Re:Keep the Changelog, Avoid the Conflicts on Friday October 30, 2026 @01:42AM (#50300252)
I don’t really like the keep-a-changelog idea. Most changelogs get rewritten on release anyway so the main branch’s changelog becomes its own meta-branch of half-baked language that only reaches production state when the release is finalized. Something about that doesn’t sit well with a codebase where everything else has to be production ready all of the time. Where else do you accumulate temporary code/code-like features that need editing and annealing before the code is production ready?

If you have a part of your codebase that’s constantly suffering from merge conflicts then for me that’s a sign that something more fundamental isn’t working. Throwing more code at the problem feels like a hack.

Would you block a change that looked good but had the wrong language for the release notes that was rejected by the person responsible for the release? If one person writes the code and another person releases it, shouldn’t these be two commits anyway?

Perhaps your changelog is for internal use to explain why the codebase changed and when? Why is that not documented in your commit history and instead kept in a mutable part of the codebase?

If you kept each log entry in a file (do people do changelog.d and treat release notes as a compilation step?) then new log entries never conflict and a commit that edits an existing log entry will correctly flag as a conflict with anyone else who made an edit. No tool needed.

I think though, in all honesty, these kinds of ideas are hard to land well. I’m wary of dogmatic advice that — by definition as being a do-this-thing.com — is broadcast-only with a lack of any local context.

(To the author, given that this appears to be a Show HN: although I don’t think this stands up as a general purpose tool, it’s a nice solution and a good example for what a automated merge tool can look like.)

Gaming used to be done in arcades for 25c a play*.

Over time NeoGeo realized they could sell you the hardware to play at home (“on-prem”) at arcade quality albeit at a price out of reach to most people. Alongside them, Nintendo and Atari gave you 80% of the fun at 20% of the cost. History will view games arcades as a flash in the pan compared to gaming at home.

Namco, Capcom, and Konami went into selling software instead of hardware but it feels hard to imagine buying a home copy of Fable** for $X,000 any time soon.

⸻

* That’s for video games. In fairground arcades you’d literally pay for tokens then use tokens for play. The analogy almost writes itself.

** The model, not the video game.

Re:Lula wins election after final votes tallied on Monday October 26, 2026 @01:02AM (#50239353)
It’s a nice argument but there’s another axis: fatigue. Leading takes its toll. To be charitable it’s not plausible that you can run a country, with all the stress that entails, and out compete everyone not at the apex of the front line.

I check my brake pads every year. Eventually the incumbent pads lose out to some whipper-snapper from the new pads box. I might vote red again or I might switch to blue. It depends how muddy it is. Either way, it’s both a new/old choice as well as a red/blue choice.

Time-in-office is also a major contributor to corruption. Lukashenko has been winning the same election for 30+ years!

Re:Lula wins election after final votes tallied on Monday October 26, 2026 @12:43AM (#50239229)
It’s a tough position to fight for: “Lula only won because too many people voted for him!”.

I think you are equivocating. Denying people their vote indeed counts as election tampering but that doesn’t mean giving more people the vote is also bad.

It’s lways worth considering the impact of AI through two lenses.

Is it a magic external power amplifier controlled by a handful of powerful companies? Like giant social networks for example, where the most successful network wins due to literal network effects coupled with the ability (capital, income) to pay for the technology and staff to run it. Or Big Oil who needs capital to exploit an oil field and ongoing money to pay their expert staff to work for them. Or Big Pharma, or Big Ag.

The alternate lens is that AI is like a dictionary or medicine reference or some other keystone textbook. Very expensive and time consuming to compile, but after that it requires little to no cost to duplicate and every copy helps a new person be better.

Unfortunately for the trillion dollar “labs”, I can’t see how AI is going to be the next Standard Oil, Meta, Pfizer, or John Deere. Unless the labs can somehow capture the market, destroy or outlaw the competition, or in some way cripple the general public’s ability to run their own models, then they are doomed to failure.

In the long run, Standard Oil will lose out to me hanging a solar panel off my balcony. Facebook is losing out to self organised networks using commodity chat apps (ahem, owned by whom? -all). The Labs will lose out to ollama.cpp running on my own hardware.

Now, one thing The Labs could do of course to defend against me running my own stuff, is to buy up all the VRAM so there’s none left for me! It’s as if my local inference was powered by milkshake, and they drank my milkshake, they drank it up!

Brilliant project. The face looks good. The code looks good. It’s nice to see it in Python too. I don’t especially love the language but I have a great fondness for seeing life things codified with a standard API in a typed (or at least, type-able) language. Needing to draw an “A” in something without having to pull in font libraries (that is to say passing a compatible draw context to this project’s LowercaseAGlyph.draw) sounds nice.
Re:We Still Use Paper on Saturday October 17, 2026 @08:10AM (#50130404)
Extinction will come not with a bang but with a whimper. The boundary of the burgeoning poor — already at two nines — will expand to include pretty much everyone, and that underclass will dominate society to the detriment of everything in the commons: culture, civility, affordable food, education, thinking.

Western culture devolves into poor, corrupt, violent, petty criminality. Welcome to Mega Cairo.

Re:Claude reveals ECDSA curve origins on Saturday October 17, 2026 @02:22AM (#50128479)
There are a few Unix command patterns I type out quite a lot more than any others. Every time I do so I wonder “isn’t there a better way of doing this?”. I know I could do better or use better tools but also, meh, who cares? It’s more important to be productive than to be right, right?

The classics, of course:

  ls -larth
  … | awk ‘{print $…}’
  for f in … ; echo foo $f ; end | sh -x
(Weird to mix fish and sh, I know. Sue me!)

Another one though is if I need some kind of random-ish seed for something like a cache key, or a hidden URL path directory, or the password for the bitcoin wallet I keep publicly online to taunt others:

  date | md5sum
Glad to hear I’m not alone!
NOC / BOFH is a good analogy. These people are highly technical guardians of their commons, who see each others as peers, and pull the plug / Halon drench anyone caught mucking up those commons. Hackers might build a spark gap to send Morse across campus just they might fire up nmap for a laugh to scan their buddy’s dorm connection, or run a fork bomb on the central Unix service. The Network Operstions / Operators / HAMs are the ones that find these hackers and drop one ton(ne) of bricks upon them.

The golden, underlying rule of Amateur Radio is to respect and protect the bands with which we have been trusted.

Re:Tesla Roadster on Friday October 16, 2026 @06:38PM (#50125729)
Did anyone else feel like Elon and the execs just didn’t really even bother trying with the presentation? The car is a unique and incredible achievement so on the one hand, they’ve earned the right to embarrassing-divorced-dad gas-station-flowers it during the reveal presentation. Maybe they could have been even sloppier, and literally just a-whooped and a-hollered and shouted “this is cool as fuck!” and it would’ve been just as fine.

Part of me though wonders what this would have been like if it had been a slick sciencey presentation that paid real tribute to the talent below the smug denim C-suite. A bit more Engelbart or Feynman or Sagan and a bit less Balmer, Bezos, and Bozo the clown.

Showing the world your flying car is a moment to shine as a serious person. These men seem to be actively trying to not do that!

The Witness was repetitive? Every puzzle set had a lesson, and every set of sets had a gag / out of the box puzzle at the end where something was fundamentally different (a crack or flicker, or an interaction with the environment, or a reference back to something else on the island.)

What I suppose was repetitive though — and where you might be coming from — is the formula itself. The entire island was the same episode format, even if the plot was different each time. Like Knight Rider — formulaic, but I loved the formula!

Re:An Apology on Thursday October 15, 2026 @02:21AM (#50099933)
The article linked to from The Verge is a good one, with quotes from EFF and Elevation Labs themselves.

https://sixcolors.com/post/2026/10/silencing-airtags-enables...

The outrage feels misplaced. The way to stop evil people abusing your global track-anything network is to not have a global track-anything network. Apple PR must be on yellow alert right now feeling glad they’ve dodged a bullet.

Imagine if Meta did this instead. They could network their smart glasses and leverage their ubiquity to help people find lost pets — but strictly only lost pets, not people — but then Something Labs might ship a tool to make a person's face look pet-like enough to turn Find My Pet into Find My Ex.

Re:Anthropic's Scion is heavily inspired by Mononoke on Wednesday October 14, 2026 @06:14PM (#50096190)
I saw RMS give a talk once on Free Software. He wore three quarter length cargo pants and sandals with no socks, and spent a good amount of the talk picking a scab off his shin to the point where he started bleeding. It got on his fingers. No one said anything.

There are things in this world that people can and should be stopped from doing, and there which anyone can do unhindered if they so wish. In between those two boundaries there’s a standard of decent behavior that one should strive for in order to be considered a good person.

Giving credit isn’t required, but many consider it basic decency.

A huge helping of praise gets lumped onto Iosevka, from me, for the way it is defined in a custom S-expression DSL.

https://github.com/be5invis/PatEL

It’s a real hackers typeface.

A common example is if a journalist gets a tip off and is about to run a story. Being a good old fashioned balanced-reporting type, they call you and ask you for a comment, but rather than giving them your side of story you slam the phone down and blast out a press release before the journalist can even publish.

(Or maybe you stall them on the phone while scribbling a note to your PA saying “BUG STORY LEAKED TO VALLEYWAG PUT OUT COUNTER PR GET AGEAD OF STORY” hoping to get a tweet out before the ValleyWag gumshoe gets off the phone.)

(Or maybe you keep a notion.so page pre-filled with all your secrets and each one has a BURN button next to it, ready for you to tap when ValleyWag call up for a comment on their upcoming exposé in re: PR/Disasters/20206090500039.md)

Re:Redesigning Source Control at Anthropic on Tuesday October 13, 2026 @04:45PM (#50078461)
You’d expect that while the frontier of changes fans out and grows, some of them burn out and disappear and some of them survive and solidify into a relatively static code base.

The big baddies of build have worked this way for a long time already. Git surfaces a single Merkle tree id for the whole repo on each commit, but build tools like bazel/blaze, buck, pants, et al look at hashes of subtrees and use cached artifacts for the parts of the tree that didn’t change.

Your CI no longer becomes a binary signal on the code and more of a continuous signal on how much your “this works” pointer has caught up with your “this is the latest code” pointer.

Re:Citroen revives the 2CV for an electric age on Monday October 12, 2026 @07:13PM (#50064363)
It was less about form and more about function.

I would explain in more detail but why listen to me when you can have Tintin and Captain Haddock walk you through features such as the dual purpose tyre-iron / starter-crank?:

https://www.ebay.com/itm/266233955544

One of their best innovations was the four wheel drive version that did away with front/rear transmission by having separate front/rear engines!

https://citroenvie.com/1964-citroen-2cv-sahara-a-love-story/

(Not my site, but I have an almost identical set of photos from the same auction in Berlin. What a treat!)

Re:Citroen revives the 2CV for an electric age on Monday October 12, 2026 @07:00PM (#50064259)
Related: I’ve had my eye on a Type Ami for a a while now, the Ami with the mini bread von body kit:

https://www.typeami.com/

Re:Citroen revives the 2CV for an electric age on Monday October 12, 2026 @06:56PM (#50064227)
Ahhhh the 205 XS sweet spot. Twin carb 1.4 litre was indeed plenty enough to experience the horror of understeer on a wet road. Similar body kit to the GTI without, as the kids say today, being quite as much of a ditch magnet.
Re:Citroen revives the 2CV for an electric age on Monday October 12, 2026 @06:36PM (#50064046)
I disagree, speaking as a former 2CV owner. Rolled cloth roof, door closing straps, whiplash inducing bench seating — removable for picnics! — round plunger pedals, and dish wheel hubs (though upgraded with four nuts per wheel!) A lot of this felt giddily familiar.

Disappointed to not see flap windows. How am I supposed to get a blood blister from pinching my finger in a regular window?! No apparent hole in the front to hand crank the transmission either. Would’ve been a nice nod to the original if you had been able to hand crank some regen charge back into the battery. (The original crank was so you could start the engine if^Wwhen the battery was flat.)

https://m.youtube.com/watch?v=DjFuvlwGvq0

I’m slightly ashamed to admit this too but it was always a bit fun to get a bump of the petrol tank vent, a tiny pin aperture in the chrome tank cap.

https://www.franzose.de/en/Citroen-2CV/2CV6/fuel-system/ANR1...

Maybe the EV version could come with a chrome truffle holder in the same position, for a similar olfactory kick start before the school run. Please don’t send help. We all turned out fine despite it being 4-star leaded.

Also another commenter here says this is clearly for city driving. What?! This is clearly for taking a shortcut across the lower field to buy a bottle of wine and a pack of Gitanes before the village shop shuts for lunch!

This machine was a tool car and the kind of design icon that earned its place because it interfaced man with machine, not because it looked pretty.

Re:Fingerprints Are the New Cookies on Monday October 12, 2026 @04:24AM (#50053148)
Naively, credit is if you can pay, and if you will pay.

For the latter it’s whether you’ve had a judgment against you, which is a matter of public record.

For the former it’s based on how much money you have and what you spend, including on servicing existing debt. Lying about this would be fraud. In that sense, my proposal does indeed open up a new avenue for fraud but I don’t think that’s the same as it being unworkable!

Re:Fingerprints Are the New Cookies on Monday October 12, 2026 @02:21AM (#50052063)
…is the title of my sex tape!
Re:HashiCorp archives the Boundary open source repo on Monday October 12, 2026 @01:57AM (#50051878)
I feel like I’m seeing a sleeper cell come to life. Your account is 5 years old with a handful of comments. You’ve been lying in wait for years only for today to be the day you get activated to eviscerate big corporate tech culture… and I love it. Billions of tokens writing reports, then another billion summarizing them, then another billion creating a followup, then another billion…
Re:Fingerprints Are the New Cookies on Monday October 12, 2026 @01:42AM (#50051804)
And also without logging it. Even if I don’t want popups to give consent for every document.getEyeColor() call, it would be nice go back and see who’s doing which queries and/or have Firefox collect aggregate statistics. Naming and shaming the crooks won’t stop them but it might have an impact on curbing any bad behavior from big commercial retailers.
Re:Fingerprints Are the New Cookies on Monday October 12, 2026 @01:34AM (#50051757)
You bring your own data to each credit check.

It feels onerous as an idea because bank statements, monthly bills, payslips, will bequests, stock vests and trades, bank robberies*, and investment income each have different ways of being tracked. At least most of these records of individual financial activity come with a PDF these days. It wasn’t that long ago that applying for a loan meant scanning in papers for your lender to review.

Computers are smarter now. Not only can they read documents (or at least match the shapes against shapes they’ve been told are real) but they can also understand the contents too (or at least match the words against ideas they’ve been told are real.)

There may well yet be a future Data Valhalla where individuals hold their life.zip themselves, and upload whatever bits of it are needed to get that Nordstrom store card / car financing / cheeseburger loan without having an intermediate credit agency.

*I feel there’s a kernel of a joke there about a bank robber asking for a receipt with the loot in anticipation of declaring it on their tax return.

Re:OpenSCAD the Programmers Solid 3D CAD Modeller on Sunday October 11, 2026 @05:25AM (#50041281)
There is lots of discussion here about OpenSCAD vs the OpenCascade family. I recently modeled a simple plaque with cadquery and was surprised how long the rendering took. A full 30+ seconds for a lathed part with text extrusion and a radial pattern of cutouts.

For me, modeling is just as much about figuring out the shape and features of an object as it is producing a STEP. I would love to model an object in a GUI then re-edit the file with code and re-render with a library, not the least reason being that GUI tools render multiple orders of magnitude faster.

Re:Cybernetics of AI Companies on Friday October 09, 2026 @01:35AM (#50016394)
”That’s traffic control”

https://m.youtube.com/watch?v=aWnFWclW0Qs

Re:A Terminal Protocol for Program Status (OSC 7501) on Friday October 09, 2026 @01:29AM (#50016352)
What’s the difference? SIGINFO asks the program what it’s doing and displays it. Anyone is welcome to put a layer on top of that which polls (with SIGINFO) in the background and displays any changes.

As long as the signal is built, like any good interrupt code, to only do message passing instead of blocking work then there won’t be any performance issues. We’re polling between a handful of local processes that are in the order of human-computer interaction, not polling remotely in a large scale way.

Older »