MurphyA/hacker-news huggingface dataset:
by dfxm12 | 2025-08-16 14:37:51+00:00
I was into sports cars more in the 90s, so my knowledge of this stuff today isn't great, but I mean it was at least true of most sports cars. Most famously the Nissan Skyline R34. The RB26DETT engine is known to have been under-tuned from the factory. You can get so much more horsepower out of it.
by tmm | 2025-08-16 14:38:16+00:00
And a long one at that. I’m sure I could do well as an electrician eventually, but there’s no way I could make it through 4+ years as an apprentice making $21/hr, and then another three as a journeyman (even if it pays double). Maybe when my house is paid off (but who’s going to hire a 50yr old apprentice?).

The biggest problem with an apprenticeship model is that it creates a bottleneck to getting people into the trades. You need competent journeymen (and knowing the trade isn’t enough, they need to be able to teach) who ideally can take on more than one apprentice at a time. But no matter how much everyone “wants young people in the trades” and no matter how much of a “shortage of tradespeople” there is, the bigger shortage is apprentice positions. Every kid in the world could suddenly decide they want to be electricians and plumbers, and it would still take two generations to fill the ranks.

Note that I’m mostly focusing on trades that require state licensing. Laborers, carpenters, painters, plasterers, welders, etc. don’t suffer this problem as much, because there is no set amount of time for someone to be an apprentice. If you’re good and reliable you’re getting promoted fast. I’m not against licensing per se, but I am strongly against legislated work requirements for a job.

I know I could study for a week and pass the master electrician exam on Monday.
by tomstockmail | 2025-08-16 14:39:10+00:00
As I understand it from reading the original post, they are leaving the third party apps default icon. They're not overiding with monochrome icons. Bad title by a probable AI rewrite, please read the original KDE blog post linked elsewhere in the thread.

This is KDE's decision on their Breeze theme. Distributions can ship the icon set with third party icons if they want.
by 1970-01-01 | 2025-08-16 14:39:24+00:00
My quality of life improves significantly whenever I allow myself to leave behind the idiots. By idiots, I don't mean people I dislike or disagree with, I mean people that can't afford to make any more mistakes in their life without directly compromising mine. (Exceptions will be made for little children that don't know any better.)

Keep the electric fence up for those idiots.
by 30minAdayHN | 2025-08-16 14:39:45+00:00
Similar thing happens in sales. A gen-AI driven sales tool might write perfect copy and reach 1000 people. But when you go by each person and write a hand-written email to them, the ancillary thing is that you learn about that person. You develop intuition about what sort of people would be right people and develop a perspective about why you can solve their problem or not. This completely gets lost when you automate and play numbers game. This is especially important in zero to one phase.
by dfxm12 | 2025-08-16 14:40:09+00:00
Price of a car is not a fixed thing. All prices are made up, including markups, so you can't say what you're specifically paying for or not. Also, companies commonly price things at a loss, often to entice you to buy some subscription along side it.

This is about trapping people into paying a subscription forever. That's what is abusive. There's no need to make up other things on top of that. Thankfully, there are a lot of choices in this space.
by vidarh | 2025-08-16 14:40:26+00:00
I'm sort-of not very surprised, given how often people misread this, including intentionally by people purporting to be Marxists, e.g. Leninists/Stalinists, but at the same time it's disappointing if this reporting is accurate.

The only way I could see this ruling make sense, though is if the court was saying "this is a possible interpretation, but even if we interpret it this way it doesn't matter, because ..."

It would be reasonable for the court to accept it is a reading but punt on deciding it if it's not going to change their final decision.

But I haven't looked at the original ruling, and my German is weak enough I wouldn't hazard trying to tease out that distinction in a legal ruling.
by the__alchemist | 2025-08-16 14:41:50+00:00
To launch an executable in windows, you double click the icon in the GUI. To launch the same programmed compiled for Linux, you can't always do that depending on the distro's GUI layer. What you do in Gnome, for example, is create a .Desktop file, and place it in a certain location. Then it will show in your quick launch.

> None of this sounds like anything I've experienced, or heard described, in 3 years of using the Ubuntu-derived Mint.

To be more specific on those anecdotes I mentioned due to having hit them recently:

- Create an embedded device that talks to a PC over USB-serial. (Here you are not constrained to the whims of a GPOS! RTOSs are a dream in comparison, or forego entirely and use bare metal) - Write PC software that talks to it (gets data from sensors etc) - Try to run the program without Sudo on Linux. The USB won't work unless. I've heard the justification for this is that the USB might be a storage device, and storage devices should be restricted by the OS etc.

The PATH (and other environment-vars) in Linux are shell-specific. You regularly read instructions (I saw this in Go's official instructions yesterday) indicating to use the EXPORT command. This only works until you reboot; you have to hand-edit a sudo-protected file (bashrc, .profile etc), and there's a learning curve to it. I don't remember the details, but I've screwed it up multiple times.
Show HN: Scoped, expiring API keys for AI agents
by lexokoh | 2025-08-16 14:42:38+00:00
I’ve been experimenting with AI agents lately, and one problem kept coming up: they either get a raw API key with full access or nothing at all. That’s risky, especially if you’re testing agents that can make arbitrary calls.

So I hacked together a tiny package called Kage Keys - https://github.com/kagehq/keys

It lets you wrap agent actions with scoped, short-lived tokens instead of handing over your real API keys.

Example:

```js import { withAgentKey, getLogs } from "@kagehq/keys";

async function main() { await withAgentKey("github:repos.read", async () => { console.log("Agent is calling GitHub API..."); });

console.log(await getLogs());

}

main();

Right now it:

- Generates scoped, expiring tokens (default 10s)

- Logs every action to kage-keys.log

- Works as a drop-in wrapper for async functions

It’s just an MVP (tokens are fake UUIDs), but I want to see if developers find this helpful before building the production version with real crypto + proxy enforcement.

Repo: https://github.com/kagehq/keys

npm: https://www.npmjs.com/package/@kagehq/keys

Would love feedback, especially from anyone running agents in production or dealing with API key sprawl.
by bgribble | 2025-08-16 14:42:44+00:00
I feel some genuine grief about what GTK has become.

It started out as a toolkit for application development and leaned heavily into the needs of the C developer who was writing an application with a GUI. It was really a breath of fresh air to us crusties who started out with Xaw and Motif. That's the GTK I want to remember.

What it is now is (IMO) mostly a product of the economics of free software development. There's not a lot of bread out there to build a great, free, developer experience for Linux apps. Paid GTK development is just in service of improving the desktop platform that the big vendors ship. This leads to more abstraction breaks between the toolkit, the desktop, and the theme, because nobody cares as long as all the core desktop apps work. "Third party" app developers, who used to be the only audience for GTK, are a distant second place. The third party DX is only good if you follow a cookie-cutter app template.

I switched my long-term personal projects from GTK2 to Dear ImGui, which IMO is the only UI toolkit going that actually prioritizes developer experience. Porting from GTK2 to GTK3 would have been almost as much work since I depended on Clutter (which was at one point a key element of the platform, but got dropped/deprecated -- maybe its corporate sponsor folded? not sure).
by griffzhowl | 2025-08-16 14:42:45+00:00
You might still need humans in the loop for many things, but it can still have a profound effect if the work that used to be done by ten people can now be done by two or three. In the sectors that you mention, legal, graphic design, translation, that might be a conservative estimate.

There are bound to be all kinds of complicated sociopolitical effects, and as you say there is a backlash against obvious AI slop, but what about when teams of humans working with AI become more skillful at hiding that?
by mk89 | 2025-08-16 14:43:06+00:00
I got downsizing mixed up, you're right. We're talking about something I didn't look up for a while now, so in mind the downsizing was connected to the ability to resize the engine with software. While the downsizing was done for different reasons, the engine configuration can and is often provided through software.

> One of the best-selling examples of ‘downsizing’ is Ford’s 1.0-litre EcoBoost petrol engine, which is available with outputs of 99bhp, 123bhp and 138bhp, meaning it effectively replaces 1.4, 1.6 and even some 1.8-litre engines from the past.

> Other advances include the way the fuel is introduced into the engine, with powerful computers and software controlling fuel injection to the millisecond and allowing the engine to shut down in traffic where stop and start is fitted.

They understood that with SW you can provide multiple configurations for the same engine. This I know for sure it's the case of Ford Ecoboost 1.0.
by SoftTalker | 2025-08-16 14:43:11+00:00
I would guess higher but it's based on personal experience. Compared to freelance software devs, I know a lot more "sole proprietor" handymen type guys, i.e. they specialize in bathroom and kitchen renovations, or other "home improvement" jobs that one guy can do by himself or maybe with a helper.

The real tradesmen (plumbers, electricians, etc.) will often start their own businesses, especially once they get to know and be known by the local contractors, and end up doing bigger new construction jobs with dozens of employees. The comparable white-collar version of this would be the experienced developer or marketer who starts their own consultancy or agency.

I think it would be more rare to see a true "start up" in the blue collar world. Most of their work is regulated by code and there isn't as much room to compete on innovation, you have to compete on reputation and experience and that can't be substituted by VC money.
by the_af | 2025-08-16 14:43:23+00:00
I didn't mean us two. I meant the collective consensus.

You didn't win. You lost. Read Free Culture by Lessig.

> My point is. Nobody cares about your conversation especially when ALL of those conversations you're referencing are utterly wrong.

Who the hell is "nobody"? Everything you've said so far is "not even wrong", it's utterly nonsensical. Go read what's been said about the topic for the last two decades, then come back and debate from an informed point of view.

Go back to pirating your games while decrying the harm it does. Your position is so inconsistent it makes no sense to debate you.
by jqpabc123 | 2025-08-16 14:43:38+00:00
It’s far from unique to VW.

I have found that there are very few absolutes in life --- so use your best judgment.

In my judgment, European manufacturers have jumped on this bandwagon more than most. Probably out of desperation and necessity --- they can't compete solely on price.

As another example, Mercedes vehicles seem to be good for about 3 years before the planned maintenance (aka gouging) really starts kicking in. I've known people with $10K bills for the scheduled maintenance from a dealership --- for a 3-4 year old car that seems to be running just fine.

"Mercedes-Benz is one of the fastest depreciating car brands in the world!"

https://yourgreatcar.com/do-mercedes-hold-their-value/
by MagicalTux | 2025-08-16 14:43:40+00:00
The comment was added before the implementation of the IPC buffer & shuffling and was left there, sorry about that.

In an older version packets were sent back in sequence to their original connection to the host, as it was faster.

We since then implemented a system where nproc (16+) buffers receiving packets running at differed intervals, meaning that while packets are processed "in order" the fact this runs in multiple threads, reading packets even from the same client will cause these to be put in queues that will be flushed at different timings.

We have performed many tests and implementing a more straightforward randomized queue (by allocating memory, handling array of pointers of buffers, shuffling these, and sending these shuffled) did not make much of a difference in terms of randomization but resulted a huge loss in performance due to the limitations of the SGX environment.

As we implement other trusted environments (TEE) we will be implementing other strategies and obfuscation methods.
by agentultra | 2025-08-16 14:44:01+00:00
Great article. A lot of very standard practices. Or at least… should be.

One thing that I often add is the people interacting with the system. They’re a part of it too. Most people don’t operate in an atomically consistent world; a lot of business processes are eventually consistent. But you do need to know where you have to have atomic operations! It depends on where the user expects it.

Systems thinking is very useful. From how your software is deployed to how the people using it in their work. Always be thinking about these things.
by swores | 2025-08-16 14:44:21+00:00
I agree that the source won't be a reason for not calling it toothpaste, but I wouldn't be surprised if it's not called toothpaste anyway - that's a term they're using now as it makes it easy for people to imagine what they're talking about, but dentists don't call every type of gel/stuff that they apply to teeth "toothpaste", and as this will be about targeting repair rather than daily cleaning I suspect it will get a new name.
by pythonaut_16 | 2025-08-16 14:44:50+00:00
It seems you're thinking of the "full cost of the engine" as like material + labor to produce 1 engine. So profit vs loss is equivalent to whether you pay more or less than the unit cost of 1 engine.

Car manufacturer thinks of the cost of the engine as something like research + development + testing + sourcing + manufacturing lines + materials for all engines produced + labor for all engines produced. So for the manufacturer profits are total revenue of units sold minus total costs. To maximize profits they need to identify market segments and figure out the best way to sell into them, in some cases by selling one physical model at different price points.

If a manufacturer only targeted your market segment with a model you wouldn't get a cheaper car, you'd most likely get roughly the same car for the same price. (Ignoring design/feature compromises made to try to address one model to multiple market segments)

Not that I agree with VW or holding features behind a subscription. Just that we can understand the unit economics of why. And anyway subscriptions for hardware features are a different matter entirely.
by delta_p_delta_x | 2025-08-16 14:44:57+00:00
It's true of all 'sub-models' of a given make and model.

Consider the BMW G20 3-series petrol cars. Essentially all trims except the M340i have twin-turbo 2-litre inline-4 B48 engines. The engine output is tuned by the engine control unit (ECU, which is a bit of software running on an embedded computer) depending on the trim: 318i gets 115 kW, 320i is 125 kW, 330i is 190 kW. There are occasional hardware differences—typically the intake manifolds, radiators, and maybe belts, but the engine block is exactly the same across these trims—they're all B48. This is public knowledge; there is a detailed table on Wikipedia[1].

Engine 'tuning' is exactly tweaking numbers in the ECU. A stage 1 tune could involve mapping a 318i to a 320i or better without even popping the bonnet; just a laptop plugged into the OBD2 port above the driver's foot rest.

Naturally, as mentioned by others, some of these tunes are less than legal, because the price, road tax, and other legalese surrounding motor vehicles are determined by the performance and fuel economy of the vehicle from the factory. A car is so computerised that nowadays there are plug-in 'chip tuners' that remap the ECU signals on-the-fly and just-in-time, and can be removed before inspections. It's not dissimilar to overclocking computer chips.

This applies across all car makes, not just BMW and not even just European ones.

[1]: https://en.wikipedia.org/wiki/BMW_3_Series_(G20)#Petrol_engi...
by matheusmoreira | 2025-08-16 14:45:02+00:00
I didn't refuse to participate in society. I refused to participate in activities I personally believe are wrong. I don't really plan to take advantage of monopolies if I can avoid it. Whatever privileges I have that allow me to make this choice, I hope I can maintain them indefinitely.

I'm suffering nothing. There is no "blowback". I'm merely explaining to you why I don't believe in intellectual property. Because you asked.
by Aurornis | 2025-08-16 14:45:03+00:00
> > Interviewer: "Well what about backpressure?"

> > "That's not really worth considering for this amount of QPS"

There is a good way and a bad way to communicate this in interviews.

If an interviewer is asking about back pressure, they’re prompting you to demonstrate your knowledge of back pressure and how and when it would be applied. Treating it as an opening to debate the validity of the question feels like dodging the question or attempting to be contrarian. Explaining when and where you would choose to add back pressure would be good, but then you should go on to answer the question.

This question hits close to home for me because I was once working at a small startup that was dealing with a unique problem where back pressure really was the correct way to manage one of our problems, but we had a number of candidates do exactly what you did: Scoff at the idea that such a topic would be relevant at a startup.

If we’ve been dealing with a problem for months and a candidate comes in and confidently tells us that problem isn’t something we would experience and dismisses our question, that’s not a positive signal.

> > Interviewer: "How would you choose between sql and nosql db?"

> > "Doesn't matter much. Whatever the team has most expertise in"

This is basically a softball question. Again, if you provide a non-answer or try to dismiss the question it feels like you’re either dodging the topic or trying to be contrarian. It’s also a warning sign to the interviewer that you might gravitate toward what’s easy for you instead of right for the project.

This one also resonates with me because I spent years of my life making MongoDB do things that would have been trivial if earlier developers had used something like SQLite instead. The reason they chose MongoDB? Because the team was familiar with it. It was hell to be locked into years of legacy code built around the wrong tool for the job because some early employees thought it didn’t matter “because startup”

As an interviewer, let me give some advice: If an interviewer asks a question, you should answer the question. Anything that feels like changing the subject, dodging the question, or arguing the merits of the question feels like the candidate either doesn’t understand the topic or wants to waste time by debating the question.

It can be very valuable to explain when and why a topic would become necessary, right before you explain it. Instead of “this application has low QPS and therefore I will not answer your question” (not literally what you said, but how it comes across) you could instead explain how the need for back pressure could be avoided first by scaling servers appropriately and then go on to answer the question that was asked.
by zahlman | 2025-08-16 14:45:08+00:00
> I've running Linux Mint as my main driver for a few months.... I used ChatGPT to successfully navigate some of the more esoteric errors, installation headaches, and software setup stumbles I've encountered getting Linux set up.

Out of interest, any specific issues that stand out in your memory?

Also, you're aware of https://forums.linuxmint.com/, yes?
by tionis | 2025-08-16 14:45:24+00:00
I've been using git + git-lfs to manage, sync and backup all my files (including media files and more) and it's quite convenient, but native support for large files would be great. I'd for example really like to be able to push large objects directly from one device to the next.

At the moment I'm using my own git server + git lfs deduplication using btrfs to efficiently handle the large files.

If large objects are just embedded in various packfiles this approach would no longer work, so I hope that such a behaviour can be controlled.
by FFFXXX | 2025-08-16 14:45:49+00:00
I think you are quoting from https://learn.microsoft.com/en-us/dotnet/api/system.threadin...

"In C#, using the volatile modifier on a field guarantees that every access to that field is a volatile memory operation"

This makes it sound like you are right and the volatile keyword has the same behaviour as the Volatile class which explicitly says it has acquire-release ordering.

But that seems to contradict "The volatile keyword doesn't provide atomicity for operations other than assignment, doesn't prevent race conditions, and doesn't provide ordering guarantees for other memory operations." from the volatile keyword documentation?
by 0manrho | 2025-08-16 14:45:50+00:00
Yes, I figured that much would be obvious to this crowd. Thus the "pseudo" part.

The point isn't that there isn't a benefit, it's that you start to pay exponentially more energy per 0.1GHz at a certain point. Furthermore, AMD and Intel were exceptionally aggressive about it in the generations I outlined (AMD would be 7000 series ryzens specifically), leading to instability issues on both platforms due to their spec itself being too aggressive, or AIB partners improperly implementing that spec as the headroom that typically exists from factory stock to push clocks/voltages further was no longer there in some silicon (some of it comes down to silicon lottery and manufacturing defects/mistakes (Intel's oxidation issues for example) but we're really getting into the weeds on this already)

And to clarify: I'm talking specifically of Intel turboboost and AMD's PBO boosting technologies where they boost where they boost well over base clocks, separate from the general dynamic clocking behavior where clocks will drop well below base when not in (heavy) use.
by mk89 | 2025-08-16 14:45:59+00:00
You know that you can tune your engine right? And this is done with software that does ECU tuning. So in theory all cars are illegal?

The issue is not that you can do it, the issue (as stated in the VW article) is how to update your car papers to reflect the changes. You do it illegally with your friends? You can't. VW does it through the subscription? (I guess) allowed.

Don't ask me how, but when you buy such cars (with an engine that can support multiple configuration), you won't register your engine for something it is not. It's what's enabled to do. Simple example: you buy the ford ecoboost 1.0 100HPs. It won't be registered as the 150HPs model, although it's 100% the same hardware.
by mastry | 2025-08-16 14:46:11+00:00
See the links I listed above. None of those features solved a language problem as large as the lack of sum types. It baffles me that they even spent time on them before providing a feature that is in such high demand (and has been for more than a decade).

I understand that you shouldn’t always give users what they ask for - but this is something that has picked up steam in other languages because it’s actually useful and makes code bases easier to maintain.