MurphyA/hacker-news huggingface dataset:
by galkk | 2026-01-06 03:23:36+00:00
Look at the long chains of methods in https://github.com/amantinband/error-or?tab=readme-ov-file#n.... The code looks quite unnatural.

In google/c++ you can do much simpler, but with preprocessor magic.

Example:

absl::StatusOr<User> loadUserById(int userId) { ... }

absl::Status populateItems(User user, std::vector<Item>& items) {...}

absl::StatusOr<Item> findItems(int userId) {
ASSIGN_OR_RETURN(auto user, loadUserById(userId));
std::vector<Item> items;
RETURN_IF_ERROR(populateItems(user, items));
for (auto& item: items) {
...
}
}

ASSIGN_OR_RETURN and RETURN_IF_ERROR essentially preprocessor macroses, that expand, more or less into.

absl::StatusOr<Item> findItems(int userId) {
auto userOrStatus = loadUserById(userId);
if (!userOrStatus.ok()) return userOrStatus.status();
auto user = *userOrStatus;
std::vector<Item> items;
absl::Status st2 = populateItems(user, items));
if (!st2.ok()) return st2;
}

No long and ugly method invocation chains, no weirdly looking code - everything just works. You can see real life example here: https://github.com/protocolbuffers/protobuf/blob/bd7fe97e8c1...

Again, even inside Google there were docs that considered those macroses bad and suggested to write straightforward code, but I'm in the camp who considers them useful and, maybe, sole good use of preprocessor macros that I ever seen, as there are no other way to clearly and concisely express that in majority of languages.

F# has something like that with Computational Expressions, but they are still limited.
by ninkendo | 2026-01-06 03:23:59+00:00
I can only speak for the people I know well (I know people from lots of different backgrounds here), but I can confidently say that every one of them would love EVs if charging stations were everywhere and charged in 10 minutes.

There may be a real chicken-and-egg problem with building the charging stations, but if it were magically fixed and ultra fast charging stations were ubiquitous overnight, I think minds would change overnight as well. It’s just nobody has the motivation to take the financial hit to build them and jump-start things.

My point being that they’re not irrational, and it’s not EV hatred that is driving it.
by tzs | 2026-01-06 03:24:28+00:00
One is what the battery is capable of given a favorable environment, the other is what you can get in the environment of that motorcycle?

If might be for example that in the motorcycle the battery or the other components that have to handle the charge current cannot dissipate heat fast enough to allow charging with the maximum current the batter allows. In an EV the pack shape probably has a higher surface area to volume ratio making it cool better, and an EV might also be able to actively cool it.
by lo_zamoyski | 2026-01-06 03:25:16+00:00
I don’t like how we speak of science and knowledge in terms of production. This is not a factory. We are not in the business of churning out units.

But what I might expect is not a worse case of publish or perish, but the collapse of this pathology. If churning out crap is cheap, it will render publishing worthless. What I might expect is greater decentralization. Researchers might share reports and articles with colleagues directly. Networks of trust vs. broadcasting.
by shcallaway | 2026-01-06 03:25:24+00:00
This is a super insightful comment & there is a bunch that I want to respond to but I can't do it all neatly in one comment. Hahaha

I'll choose this point:

> reliability is still ultimately an incentive problem

This is a fascinating argument and it feels true.

Think about it. Why do companies give a shit about reliability at all? They only care b/c it impacts bottom line. If the app is "reliable enough" such that customers aren't complaining and churning, it makes sense that the company would not make further investments in reliability.

This same logic is true at all levels of the organization, but the signal gets weaker as you go down the chain. A department cares about reliability b/c it impacts the bottom line of the org, but that signal (revenue) is not directly and attributable to the department. This is even more true for a team, or an individual.

I think SLOs are, to some extent, a mechanism that is designed to mitigate this problem; they serve as stronger incentive signals for departments and teams.
by gruez | 2026-01-06 03:26:11+00:00
>This is a copyright law invented in 1998 from the UN https://en.wikipedia.org/wiki/WIPO_Copyright_Treaty

Copyright law existed long before 1998, so it's hardly something "invented in 1998 from the UN". There might be some aspects it standardized, but so far as I can tell I can't see how it's relevant to this particular case.
by verdverm | 2026-01-06 03:26:25+00:00
We're going to see a lot of this outside of the gaming world as people increasingly form relationships and attachment to the silicon sycophant in their pocket

This type of AI use is really interesting, in using it to help improve people's lives and well being by teaching them through game based play. I've long hoped we can use this technology to improve our interpersonal and social interactions, from something as simple as "you might consider <x> before replying in that way" to help nudge us towards more empathy
by ssl-3 | 2026-01-06 03:27:31+00:00
> Kraft mac and cheese, first sold in 1937 for 19 cents a box, was the creation of Chicago cheese monger James L. Kraft, who got his start selling cheese from a horse-drawn wagon. Marketed as a meal for four [...]

That's $4.37 per box in November of 2025 dollars, according to the US BLS Inflation Calculator, for a box that was said to serve 4 -- or ~$1.09 modern dollars per serving.

A modern box of Kraft Mac and Cheese contains 7.25oz, and serves 3.5 [WTF?] people, and costs ~$1.24, or ~$0.35 modern dollars per serving.

Maybe if they weren't seeking the bottom dollar at every possible expense, they'd have held onto their sales.
by kvemkon | 2026-01-06 03:27:42+00:00
> CPU is limited by its memory bandwidth for streaming tasks

That must be the reason, why EPYC 9175F exists. It is only 16-core CPU, but all 16 8-core CCDs are populated and only one core on each is active.

The next gen EPYC is rumored to have 16 instead of 12 memory channels (which were 8 only 4-5 years ago).
by heavyset_go | 2026-01-06 03:27:45+00:00
I don't like it, but the solution here is to hire an IP lawyer to handle the rights process.

Google won't talk to us normies because 1) it's a cost and they don't have to 2) they've convinced themselves that if they tell anyone anything, then the unwashed masses will take advantage of their process/get the service we're owed under law
by galkk | 2026-01-06 03:28:24+00:00
I wrote example above: https://news.ycombinator.com/item?id=46508392

My point is not the types/monadic constructs, etc (I love to do functional jerk off as a guy next to me, though), but that there are ways to keep code readable and straightforward without neither invocation chains

DoOne().OnError().ThenDoTwo().ThenDoThree().OnError()

nor coloring/await mess, nor golang-style useless error handling noise
by Liftyee | 2026-01-06 03:29:09+00:00
I'd reasonably expect software to run forever insofar as the environment it's run in doesn't change. Essentially, no OS or dependency updates - network is inevitably going to get broken.

Anecdata: My Wii (2006) console has had a few hardware issues I've fixed, but the software is just as responsive as a decade ago (though many external networks/servers have shut down). Homebrew community is very much alive and has expanded its utility.
by antonok | 2026-01-06 03:29:13+00:00
FlatBuffers was definitely the majority of the improvements here!

On 64-bit systems, pointers themselves can really start to take up a lot of memory (especially if you multiply them across 100k+ adblock filters). Switching to array indices instead of pointers saves a lot of memory that's otherwise wasted when you don't need to address the entire possible memory space.
by abdullahkhalids | 2026-01-06 03:29:24+00:00
The reason nuclear bombs are "uncivilized" isn't directly related to the number of deaths due to use of a single one. The reason is that the by using nuclear bombs, the US created the precedent for the usage of the only weapon humans have created that, if used by all sides, can result in effectively billions dead at extremely low cost.

To kill a billion people by conventional bombs would require years of sustained effort costing trillions of dollars, and I imagine the army doing that killing would collapse under the moral horror of its own actions far before that number is reached. On that other hand, thousands of nuclear weapons can be deployed by a very small group of amoral people with instantaneous destructive effects.
by icekg | 2026-01-06 03:29:28+00:00
CLUTCH | Embedded Systems Engineer (Computer Vision), Product Designer, Head of Growth | Remote | Full-time

Clutch builds an AI camera for racket sports courts and an app that generates automated highlight reels and match analysis using computer vision.

Our initial focus is padel (the fastest-growing sport globally). Since launching in 2025, we’ve deployed the Clutch Cam to clubs in 25+ countries.

We’re a small, early-stage team building both hardware and software.

We’re currently hiring for:

• Embedded Systems Engineer (Computer Vision)
https://clutchapp.notion.site/Embedded-Systems-Engineer-Comp...

• Head of Product Design (UI/UX)
https://clutchapp.notion.site/Head-of-Product-Design-UI-UX-2...

• Head of Growth
https://clutchapp.notion.site/Head-of-Growth-2a1f733f6e69800...

https://www.clutchapp.io
by theamk | 2026-01-06 03:30:22+00:00
Note CVE-2025-31133 requires one of: (1) persistent container (2) attacker-controlled image. That means that as long as you always use "docker run" on known images (as opposed to "docker start"), you cannot be exploited via that bug even if the service itself is compromised.

I am not saying that you should never update the OS, but a lot of of those container escapes have severe restrictions and may not apply to your specific config.
by Brajeshwar | 2026-01-06 03:31:15+00:00
This is one of the best pieces of career advice one can give, and I’ve had my fair share of experience that this works very well.

Most people wait to be promoted to the title/designation to do the work of that role. However, if you want to avoid friction when asked, “Why should I promote you to this role?”, you should already be doing the job and proving you can do it.

I once saw a QA tester tinkering with the front-end code, fixing the bugs himself, then went to the engineer and pointed out where to fix. When asked if he wanted to become a front-end engineer, I realized he was waiting for an opportunity to be promoted. So, I repeated my usual advice: if you want to be promoted, be already doing that role. He started learning, and work on front-end work besides his QA work. When he asked to be promoted, it was just a title change and a pay raise. He went on to lead the Product Design Team at a major oil company (at a branch in Bangalore, India). A Good photographer, and always has an eye for design.

Similar story of an engineer waiting to be promoted to a Lead Architect. Advised him to start doing it way before talking about his promotion. I don't remember his promotion in the team I was working but heard back that he was easily gotten to that position and a big salary jump at a new company (a new city). I once saw him working in the plane we were flying together, while I was sleeping. I think he deployed when we landed.

In touch with both, and lot others. None that I had advised on doing the role above them have regretted.
by mcdrake | 2026-01-06 03:31:51+00:00
Location: Portland, OR

Remote: Yes

Willing to relocate: Yes

Technologies: Python, TypeScript, JavaScript, Go, React, Node.js, Flask, FastAPI, REST APIs, PostgreSQL, Redis, Docker

Resume: https://docs.google.com/document/d/1uvLGGLUag-SN86oopiFWy2Z0...

Email: drake.mattc@gmail.com

---

I'm a full-stack dev (3 yrs exp) seeking a full-stack or backend role at a small–medium company/startup. I’ve shipped software quickly and independently in Fortune 100 and financial orgs, despite heavy red tape. Now I’m looking for a team that moves fast, cares about users, and enjoys building great products. If that sounds like your company, I’d love to talk to you!
by monocasa | 2026-01-06 03:33:44+00:00
> What are you basing this on? Even back when warheads were strictly ballistic we couldn't do that. Russia's arsenal, today, contains maneuverable warheads.

> Flip it around: if we committed to a first strike on Russia and China, is there a world in which we wouldn't say it's to glass North Korea?

Because while you can't tell how far a missile is going to go, you can tell how far it has gone. We're more than capable of tracking that a missile has gone past what would make sense for a Russian strike on Ukraine.

And you'd be able to tell if a launch made sense to attack NK from the US or not. Orbital mechanics and the burn patterns of ICBMs don't really let you redirect at the last minute, and the trajectory wouldn't really make sense.

> This is not how strategic nuclear exchanges are ever modeled. Because it's now how strategic war plans are ever written.

> Use it or lose it. Silo-based missiles are sitting ducks. By the time nukes are landing in Ukraine they could be landing across a good chunk of Europe and Turkey.

Europe and Turkey have no silo based weapons left. It's all either airborne or submarine delivery these days.

In this scenario the weapons are all already in the air, or on submarines where they've been as safe as they always are.

> I'm not saying India will nuke Russia. I'm saying India and China would both exact a price from Russia for normalizing nuclear war in the modern context. This has been repeatedly messaged by both in respect of the Ukraine invasion.

Once again, the context here is a Ukrainian nuclear (even if tactical) first strike, and the subsequent Russian retaliation. "Punitive" retaliation is all of their strategy. This has already been normalized. Which is why a "tactical" nuclear strike would never make sense.
by dang | 2026-01-06 03:33:49+00:00
Re Beads - doesn't seem to have been covered a lot on HN but I found these. Others?

Show HN: I replaced Beads with a faster, simpler Markdown-based task tracker - https://news.ycombinator.com/item?id=46487580 - Jan 2026 (2 comments) (<-- I've put this one in the SCP - see https://news.ycombinator.com/item?id=26998308 for explanation)

Solving Agent Context Loss: A Beads and Claude Code Workflow for Large Features - https://news.ycombinator.com/item?id=46471286 - Jan 2026 (1 comment)

Beads – A memory upgrade for your coding agent - https://news.ycombinator.com/item?id=46075616 - Nov 2025 (68 comments)

Beads: A coding agent memory system - https://news.ycombinator.com/item?id=45566864 - Oct 2025 (1 comment)
by hakfoo | 2026-01-06 03:34:12+00:00
I guess I don't quite understand what the selling point of a "desktop environment" is. I use a grab-bag of random software but generally don't bother with the KDE and GNOME-specific stuff.

It reminds me of things like the pack-in software you get with Windows. It's convenient because it all comes in one place and more or less works together, but not much of it is particularly best-of-breed.

I guess they've sucked a lot of air out of some niches though-- I suspect a lot of utilities for things like system configuration and file management have turned into parts of the desktop environment rather than standalone tools.
by calmbonsai | 2026-01-06 03:34:18+00:00
Yep. Anymore when dealing with any corp of <pick your threshold> size on a "legal" dispute, do not engage directly.

Hire an attorney, draft a limited POA, and let them handle it.

If it's not worth <pick your threshold> kilo-USD, then at least have the attorney document everything and write it off until the (remote) possibility of a class-action.

Life is short. It's just not worth your time.
by oefrha | 2026-01-06 03:34:28+00:00
I was a long time Emacs user, spent way too much of my life in ~/.emacs.d/init.el. I don't use it for anything other than magit any more. I just tried it again, first by upgrading my packages in package.el. Of course, everything is still locked up when I `package-menu-execute` to upgrade packages. I guess in a thousand years it will still be mostly single-threaded, with almost every action locking up the UI thread.
by uoaei | 2026-01-06 03:35:09+00:00
Occam's razor is more nuanced than blind naivete. It is the nature of suppression that there is no evidence of it. I do not understand how you stand by your words.

Healthy skepticism plus the maturing industry of online propaganda and persuasion campaigns is where I would put Occam's razor a la "minimal assumptions". Every social media site has been manipulated at all levels, moderation notwithstanding, I see no reason to believe HN is immune to this.

It is not just a question of economics for YC to allow and even administrate this kind of manipulation, but of second- and third-order goals like consent/consensus manufacturing, reputation-building, shoring up investments by building "viral" interest, etc. These are immediate logical deductions from the patterns of behavior by humans and the bots that imitate them that are present everywhere on the internet these days.
by begueradj | 2026-01-06 03:35:55+00:00
> if you are demonstrating performance at your boss's level, that's evidence/proof that a promotion is warranted.

It can not be farther from the truth.

The best way to stay in the bottom is to work hard, to focus on work so that others have time to focus on advertising themselves, take credit of your good work and backstab you for everything else, befriend and lick the shoes strategically -even develop bed skills, for some- while you isolate yourself by sweating and believing everyone will understand or care about how you optimized that for loop.
by nikvdp | 2026-01-06 03:35:59+00:00
Good call, added a link.

Linear is great, it's what JIRA should've been. Basically task management for people who don't want to deal with task management. It's also full featured, fast (they were famously one of the earlier apps to use a local-first sync-engine style architecture), and keyboard-centric.

Definitely suitable for hobby projects, but can also scale to large teams and massive codebases.
by cco | 2026-01-06 03:36:03+00:00
I'm kinda surprised to hear people having this problem on Android. I've found Android's notification management to be superb and, as others have said, with a one strike rule, this has been a non-issue for me.

> I live in a gated society that uses an app called MyGate to allow visitors, and the app intentionally pushes ads through the same channels since you cannot block them.

This strikes me as against the Play Store policy, potentially Notifications VX-S1, "Notifications are not used for cross-promotion or advertising another product, as this is strictly prohibited by the Play Store."

Worth a try to report them.
by eliasdejong | 2026-01-06 03:36:49+00:00
If the new value is equal size or smaller, it will overwrite the old value in-place. If it is larger, then the new value is appended to the buffer and the index structure is updated to point to the new location.

In the case of append, the old value still lives inside the buffer but is zeroed out. This means that if you keep replacing variable-sized elements, over time the buffer will fragment. You can vacuum a message by recursively writing it from the root to a new buffer. This will clear out the unused space. This operation can be delayed for as long as you like.

If you are only setting fixed-size values like integers or floats, then the buffer never grows as they are always updated in-place.
by vintagedave | 2026-01-06 03:37:02+00:00
I feel this is a slightly cruel comment. It’s a website of creativity, very well executed. Also, if you read the text, it is right.

Some of the presentation (such as the inverted / mirrored square) is pure art. In an admirable sense: art.

While I get the commentary — that bit reminded me of House of Leaves which has been criticized for the same thing — there’s a real human behind this, who obviously cares deeply about the issues they’re communicating about (and has the skill to do so quite incredibly.) Sometimes I wonder, in the ease of critique, what it’s like for the anonymous person on the other end, and I don’t feel good here. I feel like your comment doesn’t quite account for the humanity of someone else, nor of someone doing something with passion.
by shcallaway | 2026-01-06 03:37:35+00:00
I completely agree w/ your points about why observability sucks:
- Too much setup
- Too much maintenance
- Too steep of a learning curve

This isn't the whole picture, but it's a huge part of the picture. IMO, observability shouldn't be so complex that it warrants specialized experience; it should be something that any junior product engineer can do on their own.

> I can definitely imagine having Claude debug an issue faster than I can type and click around dashboards and query UIs. That sounds fun.

Working on it :)
by nonethewiser | 2026-01-06 03:37:53+00:00
People massively simplify the dynamics of launching a nuke. If Russia launched a nuke on a Ukrainian military target away from civilians there is virtually 0 chance of nuclear retaliation. Ukraine doesn't have them. Does anyone think the US, France, etc. would nuke Russia? Of course not.

It's scary, but in some scenarios one nation can absolutely nuke another nation without threat of getting nuked themselves. In reality, the cat coming out of the bag looks more like that than nuclear armageddon.
by adw | 2026-01-06 03:38:12+00:00
Inside scoop: the pub group who owned that pub (still going, owns four in Cambridge and environs) was cofounded by Steve Early, a Cambridge computer scientist who wrote his own POS software, so it was very much a case of "yeah, that sounds like fun, I'll add it". (Until tax and primary rate risk made it not fun, so it was removed.)

The POS software's on GitHub: https://github.com/sde1000/quicktill
by ashvardanian | 2026-01-06 03:38:39+00:00
PTX is on the GPU side and is already supported on available models. On the CPU side, it must be some form of an Arm ISA extension, I believe, like NEON-FHM or SVE-AES… I'm just not sure what the scope of those extensions would be and how they will coexist with ARM’s other extensions.
by theamk | 2026-01-06 03:38:58+00:00
Note this lists 3 vulnerabilities as an example: CVE-2016-5195 (Dirty COW), CVE-2019-5736 (host runc override) and CVE-2022-0185 (io_uring escape)

Out of those, only first one is actually exploitable in common setups.

CVE-2019-5736 requires either attacker-controlled image or "docker exec". This is not likely to be the case in the "untrusted python" use case, nor in many docker setups.

CVE-2022-0185 is blocked by seccomp filter in default installs, so as long as you don't give your containers --privileged flags, you are OK. (And if you do give this flag, the escape is trivial without any vulnerabilities)
by class3shock | 2026-01-06 03:40:09+00:00
"Here's the thing most people miss: promotions don't fall off the tree and land in your lap. You've got to show that you're capable of handling the responsibility for a sustained period of time."

Some classic management gaslighting. You have to work for a few years at the level of the higher position to get it. I will trust your work at this level, profit off of it, hold you responsible for it but not pay you appropriately for it. It's always the compensation piece that takes time.
by riebschlager | 2026-01-06 03:40:26+00:00
In 2016, a recruiter sent me a cringey email that was meant to look like code, and I turned it into my only post to ever make the HN front page. A decade later, I asked Claude to use its vast skills to tell the same joke. And honestly, it turned out pretty well. So now it's a joke we...told together?