MurphyA/hacker-news huggingface dataset:
by dasil003 | 2026-01-24 15:26:38+00:00
This is a great insight and something every engineer should reflect on in the context of their own orgs:

> estimates are not by or for engineering teams.

It's surprising the nuance and variety of how management decisions are made in different orgs, a lot depends on personalities, power dynamics and business conditions that the average engineer has almost no exposure to.

When you're asked for an estimate, you've got to understand who's asking and why. It got to the point in an org I worked for once that the VP had to explicitly put a moratorium on engineers giving estimates because those estimates were being taken by non-technical stakeholders of various stripes and put into decks where they were remixed and rehashed and used as fodder for resourcing tradeoff discussions at the VP and executive level in such a way as to be completely nonsensical and useless. Of course these tradeoff discussions were important, but the way to have them was not to go to some hapless engineer, pull an overly precise estimate based on a bunch of tacit assumptions that would never bear out in reality, and then hoist that information up 4 levels of management to be shown to leadership with a completely different set of assumptions and context. Garbage in, garbage out.

These days I think of engineering level of effort as something that is encapsulated as primarily an internal discussion for engineering. Outwardly the discussion should primarily be about scope and deadlines. Of course deadlines have their own pitfalls and nuance, but there is no better reality check for every stakeholder—a deadline is an unambiguous constraint that is hard to misinterpret. Sometimes engineers complain about arbitrary deadlines, and there are legitimate complaints if they are passed down without any due diligence or at least a credible gut check from competent folks, but on balance I think a deadline helps engineering more than it hurts as it allows us to demand product decisions, designs, and other dependencies land in a timely fashion. It also prevents over-engineering and second system syndrome, which is just as dangerous a form of scope creep as anything product managers cook up when the time horizon is long and there is no sense of urgency to ship.
by iamflimflam1 | 2026-01-24 15:27:34+00:00
If you hired someone to do some work on your house, and they refused to give an estimate, would you be happy?

If you had a deadline - say thanksgiving or something - and you asked “will the work be done by then” and the answer was “I’m not going to tell you” would you hire the person?

The no estimates movement has been incredibly damaging for Software Engineering.
by xyzzy123 | 2026-01-24 15:27:46+00:00
The top down push for timelines is because:

In Australia, an SDE + overhead costs say $1500 / work day, so 4 engineers for a month is about $100k. The money has to be allocated from budgets and planned for etc. Dev effort affects the financial viability and competitiveness of projects.

I feel like many employees have a kind of blind spot around this? Like for most other situations, money is a thing to be thought about and carefully accounted for, BUT in the specific case where it's their own days of effort, those don't feel like money.

Also, the software itself presumably has some impact or outcome and quite often dates can matter for that. Especially if there are external commitments.
by rnhmjoj | 2026-01-24 15:27:49+00:00
Hi, author here: whether it's a valid use case depends on your level of OCD, but the difference compared to symlinks or bind mounts is that you will have a clean home: e.g. `ls -la` won't show any "hidden" files.

Also, completely unrelated to my motivation, someone pointed out that modetc could be used to quickly hotfix packages built with Nix.
Say that you need to fix a CVE in openssl, normally that would require to rebuild all dependent packages, which takes a long time. Instead with something like modetc you could build just openssl and rewrite /nix/store/<hash>-openssl-3.6.0/ -> /nix/store/<hash>-openssl-3.6.0-hotfix/.

Another application might be replacing some configuration file with placeholders for secrets, with one file with the secrets substituted in, without having to modify it in place, possibly only for a specific UID. This is something you might find useful on NixOS.
by 9rx | 2026-01-24 15:28:06+00:00
> I don't see how anyone would design a system that executes 200 queries per page.

They call it the n+1 problem. 200 queries is the theoretically correct approach, but due to high network latency of networked DMBSes you have to hack around it. But if the overhead is low, like when using SQLite, then you would not introduce hacks in the first place.

The parent is saying that if you correctly design your application, but then move to system that requires hacks to deal with its real-world shortcomings, that you won't be prepared. Although I think that's a major overstatement. If you have correctly designed the rest of your application too, introducing the necessary hacks into a couple of isolated places is really not a big deal at all.
by Falimonda | 2026-01-24 15:28:17+00:00
Work hours is the only way I've learned to think about it productively.

It's also important to gather consensus among the team and understand if/why work hour estimates differ between individuals on the same body of work or tasks. I'd go so far as to say that a majority of project planning, scoping, and derisking can be figured out during an honest discussion about work hour estimates.

Story points are too open to interpretation and have no meaningful grounding besides the latent work hours that need to go into them.
by the_af | 2026-01-24 15:28:18+00:00
I think this is unfair to sales.

I've made your argument before, but realistically, much of the word revolves around timelines and it's unreasonable to expect otherwise.

When will you recover from your injury so you can play the world cup?

When will this product arrive that I need for my child's birthday?

When will my car be repaired, that I need for a trip?

How soon before our competitors can we deliver this feature?

"It'll be done when it's done" is very unsatisfying in a lot or situations, if not downright unacceptable.
by cornholio | 2026-01-24 15:28:28+00:00
That's a crypto architecture design choice, MS opted for the user-friendly key escrow option instead of the more secure strong local key - that requires a competent user setting a strong password and saving recovery codes, understanding the disastrous implication of a key loss etc.

Given the abilities of the median MS client, the better choice is not obvious at all, while "protecting from a nation-state adversary" was definitely not one of the goals.
by b65e8bee43c2ed0 | 2026-01-24 15:28:57+00:00
I don't think that many people here are naive enough to believe that any business would fight the government for the sake of its customers. I think most of us are simply appalled by this blatantly malicious behavior. I'm not buying all these "but what if the user is an illiterate, senile 90-year-old with ADHD, huh?" attempts to rationalize it away. it's the equivalent of the guy who installed your door keeping a copy of your keys by unspoken default - "what if your toddler locks himself out, huh?"

I know the police can just break down my door, but that doesn't mean I should be ok with some random asshole having my keys.
by dspwizard | 2026-01-24 15:29:02+00:00
Cadence DSPs have C++17 compatible compiler and will be c++20 soon, new CEVA cores also (both are are clang based).
TI C7x is still C++14 (C6000 is ancient core, yet still got c++14 support as you mentioned).
AFIR Cadence ASIP generator will give you C++17 toolchain and c++20 is on roadmap, but not 100% sure.

But for those devices you use limited subset of language features and you would be better of not linking c++ stdlib and even c stdlib at all (so junior developers don't have space for doing stupid things ;))
by microtonal | 2026-01-24 15:29:15+00:00
Last time I onboarded a Mac (a few months ago), it would very explicitly ask if you want to enable support for remote FileVault unlocking.

That said, they could also roll out a small patch to a specific device to extract the keys. When you really want to be safe (and since you can be a called a 'left extremist' for moving your car out of the way, that now includes a lot of people), probably use Linux with LUKS.
by otterley | 2026-01-24 15:29:34+00:00
> Have you got any links for that?

It was noted at the bottom of the article as a follow up.

> I expect basic things people should expect from a company promoting themselves as respecting privacy. And I don't expect them to be much worse than GNU/Linux in that respect (but they definitely are).

The problem with the word “basic” is that it’s entirely subjective. What you consider “basic,” others consider advanced. Plus the floor has shifted over the years as threat actors have become more knowledgeable, threats more sophisticated, and technologies advanced.

Finally, the comparison to Linux doesn’t make a lot of sense. Apple provides a solution of integrated hardware, OS, and services. Linux has a much smaller scope; it’s just a kernel. If you don’t operate services, then by definition, you don’t have any transmitted data to protect. Nevertheless, if you consider the software packages that distros package alongside that kernel, I would encourage you to peruse the CVE databases to see just how many security notices have been filed against them and which remain open.
by jraph | 2026-01-24 15:29:39+00:00
Let's just say that I don't think the truths you are pushing are as absolute as you seem to think, and I think they are a reflect of how you view the world more than anything.

And that by correcting people that mention HTML5, you will probably just annoy people without achieving anything worth it. That would be true even if you are absolutely correct.

It's peak "well, actually", with the twist it might not even actually be.

That's not the truth, just my opinion, and I appreciate that you might not agree.
by apaprocki | 2026-01-24 15:31:28+00:00
Sure, the parent was commenting more about the capability existing in Ada in contrast to C. Ada variable length local variables are basically C alloca(). The interesting part in Ada is returning variable length types from functions and having them automatically managed via the “secondary stack”, which is a fixed size buffer in embedded/constrained environments. The compiler takes care of most of the dirty work for you.

We mainly use C++, not C, and we do this with polymorphic allocators. This is our main allocator for local stack:

https://bloomberg.github.io/bde-resources/doxygen/bde_api_pr...

… or this for supplying a large external static buffer:

https://bloomberg.github.io/bde-resources/doxygen/bde_api_pr...
by jMyles | 2026-01-24 15:31:54+00:00
> The majority of cases don’t go to trial because the majority of cases are hopeless for the defendants.

...but are the lion's share of these hopeless on the basis of the evidence, combined with a fair process and a just, civically-informed legal framework?

A person who is searched pursuant to a prompted canine indication, and found to be in possession of 5 grams of crack cocaine has a "hopeless" case, but they have committed no offense to society that I can recognize, and their inclination to plea to a lesser charge means that the particulars of the search will never be heard by a jurist.

> Law-abiding citizens wouldn’t have a 50% recidivism rate.

This seems like a testable hypothesis, albeit only after a successful completion of the abolitionist movement. I'll bet that, in a society focused on restorative justice and no dependence on a slave economy dressed up as incarceration, that nobody will have a 50% recidivism rate.

> While it’s admirable to push back against the state, not all defendants earn our sympathy in their plight.

Agreed, of course. But there's no justice in taking even the worst in society forcing them to be laborers to make Starbucks packaging. Let's remove the incentive structure first, and decide how to distribute our sympathies second.
by sph | 2026-01-24 15:32:12+00:00
> According to my simulated monkey Palm

Oh, please. We've lost Yegge to the madness, not you as well! I used to enjoy your insightful comments on the history of computing all over this forum.

In a tech world that's gone utterly psychotic in a couple years, I have to wonder if I am the crazy one that is not injecting... whatever the hell you guys are taking, creating repos that read like an unholy mix between Time Cube and Terry A. Davis during one of its episodes, just as incoherent, only with 10x more emojis.

It is utterly frightening. I want off this wild ride.
by jasonkester | 2026-01-24 15:32:18+00:00
most of the people technical enough to set this up are also going to be technical enough to pull new cables.

"Technical" isn't the issue. 200 year old stone houses are the issue. If you can't punch through it with wifi (and thus have this issue), I expect you're not going to be able to poke a cable through either.

For an example, to get from my house router to my office, you'd need to punch through a 3 foot cobble & mortar wall, trench across 30 feet of poured concrete (and tidy it up somehow), punch through another 3 foot thick stone wall, then "pull cable" up to the office. There's an old phone line from A to B that went in 30 years ago when the place was first renovated, but you can tug on it all you like and it's not going anywhere.

If I'd seen this article a few years ago, my life would have been a lot easier.
by Bender | 2026-01-24 15:32:22+00:00
Iran is only permitting whitelisted sites at the moment and foreseeable future. They are not playing whack-a-mole and not allowing any VPN sites. To reach this site that would suggest they intentionally whitelisted ycombinator.com? HN is on a dedicated non-CDN non-shared IP in California, only used by HN/YC. Are you outside of Iran and your boy is in Iran? How are you communicating with them? The title refers to your friend and the content refers to your boy.

To answer your question the only method that would not attract that much attention would be multiple chained SSH forwards through an Iranian VPS provider to a non Iranian VPS provider. One could look up articles on how to chain SSH connections and use the final connection as your web proxy (or VPN). It is not very fast and not optimal for playing a game unless it is a text or curses based game. This method will however work fine for reaching external email servers, chat servers and forums that do not block VPS providers. If you have a friend outside of Iran they could be the final SSH forward so you egress from a residential IP.
by notjustanymike | 2026-01-24 15:32:54+00:00
After owning a product, I've developed a lot of sympathy for the people outside of engineering who have to put up with us. Engineers love to push back on estimates, believing that "when it's done" is somehow acceptable for the rest of the business to function. In a functioning org, there are lot of professionals depending on correct estimation to do their job.

For us, an accurate delivery date on a 6 month project was mandatory. CX needed it so they could start onboarding high priority customers. Marketing needed it so they could plan advertising collateral and make promises at conventions. Product needed it to understand what the Q3 roadmap should contain. Sales needed it to close deals. I was fortunate to work in a business where I respected the heads of these departments, which believe it or not, should be the norm.

The challenge wasn't estimation - it's quite doable to break a large project down into a series of sprints (basically a sprint / waterfall hybrid). Delays usually came from unexpected sources, like reacting to a must have interruption or critical bugs. Those you cannot estimate for, but you can collaborate on a solution. Trim features, push date, bring in extra help, or crunch. Whatever the decision, making sure to work with the other departments as colaborators was always beneficial.
by PaulHoule | 2026-01-24 15:33:10+00:00
Because the semantics of numbers and dates matters.

It's absurd that JSON defines numbers as strings and has no specification for dates and times.

I believe we lose a lot of small-p programming talent (people who have other skills who could put them on wheels by "learning to code") the moment people have the 0.1 + 0.2 != 0.3 experience. Decimal numbers should just be on people's fingertips, they should be the default thing that non-professional programmers get, IEEE doubles and floats should be as exotic as FP16.

As for dates, everyday applications written by everyday people that use JSON frequently have 5 or more different date formats used in different parts of the application and it is an everyday occurrence that people are scratching their heads over why the system says that some event that happened on Jan 24, 2026 happened on Jan 23, 2026 or Jan 25, 2026.

Give people choices like that and they will make the wrong choices and face the consequences. Build answers for a few simple things that people screw up over and over and... they won't screw up!
by wobfan | 2026-01-24 15:33:41+00:00
While you're right, they also went out of their way to prevent competent users from using local accounts and/or not upload their BitLocker keys.

I could understand if the default is an online account + automatic key upload, but only if you add an opt-out option to it. It might not even be visible by default, like, idk, hide it somewhere so that you can be sure that the median MS user won't see it and won't think about it. But just fully refusing to allow your users to decide against uploading the encryption key to your servers is evil, straight up.
by pkasting | 2026-01-24 15:34:15+00:00
Sure; you can roll your own, or you can use one of the many other libraries that provide alternatives. There are obvious downsides to the former, and the latter is basically equivalent to using the Abseil ones in terms of practical tradeoffs.

Chromium uses hundreds of other open source libraries. Is there something about Abseil specifically that sticks in your craw?
by dismalaf | 2026-01-24 15:34:18+00:00
This attitude is cancer to OSS. The social aspect of OSS isn't required from anyone. Maintainers don't owe anyone a thing. The ability to fork and have your own source with the right to use as you wish is literally the defining feature of OSS, otherwise it's just shareware.

But hey, it's telling that the author places stewardship and branding before functionality when talking about reasons to fork.

> Don’t like how it’s run? Do something different. Don’t like the branding? Change it. Got a better idea? Implement it.
by caseysoftware | 2026-01-24 15:34:23+00:00
Due to Third Party Doctrine, Microsoft doesn't even NEED a "legal order." It's merely a courtesy which they could change at any time.

Based on the sheer number of third parties we're required to use for our day to day lives, that is ridiculous and Third Party Doctrine should be eliminated.

Ref: https://en.wikipedia.org/wiki/Third-party_doctrine
by elzbardico | 2026-01-24 15:34:42+00:00
Do you? It is all a matter of incentives. When the sky is the limit for executive compensation and we tie it to lagging short term indicators such as stock prices aren’t we incentivizing executives to focus on short term gain at the expense of long term value creation?

Doesn’t this general climate disproportionately advantage the well connected, the insider traders?

And as a citizen of a given jurisdiction, even if you are doing great in the capital markets, is it worth the living in an increasingly enshittified society?
by neom | 2026-01-24 15:34:43+00:00
Claude Code in the desktop app seems to do this? It's crazy to watch. It sets of these huge swarms of worker readers under master task headings, that go off and explore the code base and compile huge reports and todo lists, then another system behind the scenes seems to be compiling everything. I create helper files and then have a devops chat, a front end chat, an architecture chat and a security chat, and once each it done it's work it automatically writes to a log and the others pick up the log (it seems to have a system reminder process build in that can push updates from other chats into other chats. It's really wild to watch it work, and it's very intuitive and fun to use. I've not tried CLI claude code only claude code in the desktop app, but desktop app sftp to a droplet with ssh for it to use the terminal is a very very interesting experience, it can seem to just go for hours building, fixing, checking it's own work, loading it's work in the browser, doing more work etc all on it's own - it's how I built this: https://news.ycombinator.com/item?id=46724896
by GeekyBear | 2026-01-24 15:35:41+00:00
Any American company will hand over data stored on their server (that they have access to) in response to a warrant.

Apple provides an optional encryption level (ADP) where they don't have a copy of your encryption key.

When Apple doesn't have the encryption key, they can't decrypt your data, so they can't provide a copy of the decrypted data in response to a warrant.

They explain the trade off during device setup: If Apple doesn't have a copy of the key, they can't help you if you should lose your copy of the key.
by storystarling | 2026-01-24 15:35:48+00:00
I suspect the glued pipeline is going to remain dominant for a while, mostly because the intermediate text layer is structural, not just a byproduct. If you drop the text for a pure E2E model, you suddenly lose the ability to easily inject RAG context or handle complex tool use. I've been building some agent workflows recently and having that text state to pass into something like LangGraph is the only way to reliably control the logic. Without it, you are basically flying blind on the backend.
by vladvasiliu | 2026-01-24 15:36:56+00:00
We have Elitebooks at work and can confirm that the 8x0 series, at least until G8, has superb Linux support out of the box (and I run Arch, by the way). IME it's actually better than Windows, since both my AMD and Intel models have had things not working on Windows (the AMD still often hangs during sleep).

> Getting one with a QHD to UHD screen is mandatory

But I have to ask: are those screens actually any good? Ours have FHD panels, and I have not seen a single one with a decent screen.

There are roughly two categories: either the el-cheapo screens, with washed-out colors (6 bpp panels on a 1500 EUR laptop!) and dimmer than the moonlight through closed shades, but they have usable angles; or the "sure view" version with very bright backlight, usable outside (not in direct sunlight, of course) with, on paper, ok colors (specs say 100% sRGB) but laughably bad viewing angles (with the sureview off, of course) and, in practice, questionable color fidelity.

These are also fairly expensive, around 1500 EUR, and the components are of questionable quality. The SSDs in particular are dog-slow (but they're very easy to replace).

I have two 5-year-old 840 G8s (one Intel, one AMD), and they have both held up fine, but I usually don't abuse my laptops (my 2013 MBP still looks brand new aside from some scratches). However, looking around at my colleagues' laptops, they tend to fall apart, and I can count on one hand the ones still in good shape. The usual suspects seem to be the barrel power connector and the keyboard. Newer models only have USB-C AFAIK (mine have both, but came with a USB-C power adapter in the box). But they tend to look pretty bad in general, with very misaligned panels and fragile USB ports.
by ravloony | 2026-01-24 15:39:19+00:00
Just to consider the opposite viewpoint, I sometimes wonder if it's not better that they do churn in that case.
Assuming the sales team is doing their job properly, there are other prospects who may not need that feature, and not ramming the feature in under time constraints will lead to a much better product.
Eventually, their feature will be built, and it will have taken the time that it needed, so they'll probably churn back anyway, because the product from the vendor they did get to ram their feature in is probably not very good.