MurphyA/hacker-news huggingface dataset:
by tenebrisalietum | 2025-06-19 18:37:14+00:00
- It's in a dictionary: https://www.merriam-webster.com/dictionary/Juneteenth.

- At least one local bank website I've gone to today has a banner saying it is closed and uses the word "Juneteenth."

This seems to be reasonable enough to consider it a real word.

Additionally, the term "Emancipation Day" is inaccurate (and therefore obfuscatory) because slavery is still legal and constitutional if you are convicted of a crime. Emancipation doesn't accurately describe the current state unless this is no longer true. I'm going by this dictionary definition of "emancipation": https://www.merriam-webster.com/dictionary/emancipation
by iscoelho | 2025-06-19 18:37:30+00:00
"I do like that the threat model you propose is coherent only for sites behind Cloudflare, though."

The threat model I proposed is coherent for Cloudflare because they have done a lot of engineering to make it almost impossible to globally BGP hijack their IPs. This makes the multi-perspective validation actually help. Yes, other ISPs are much more vulnerable than Cloudflare, is there a point?

You are not saying DNSSEC doesn't serve a real purpose. You are saying it is annoying to implement and not widely deployed as such. That alone makes me believe your argument is a bit dishonest and I will abstain from additional discussion.
by ericvolp12 | 2025-06-19 18:37:35+00:00
> Make it easy to do the right thing and hard to do the wrong thing.

This is basically the mantra of every platform team I've worked on. Your goal is to make the easy and obvious solution to engineers' problems the "right" one for the sustainability of software and reliability of services.

Make it easy to ship things that are reliable and manage distributed state well and can scale well and engineers will build better muscle memory for building software in that shape and your whole org will benefit.

This will never stop being true.
by tptacek | 2025-06-19 18:37:39+00:00
Counterpoint: no it isn't, which is why virtually nobody uses it. Even the attack this thread centers on --- BGP hijacking of targeted DNSSEC servers to spoof CA signatures --- is a rounding error sidenote compared to the way DNS zones actually get hijacked in practice (ATO attacks against DNS providers).

If people were serious about this, they'd start by demanding that every DNS provider accept U2F and/or Passkeys, rather than the halfhearted TOTP many of them do right now. But it's not serious; it's just motivated reasoning in defense of DNSSEC, which some people have a weird stake in keeping alive.
by mtalantikite | 2025-06-19 18:37:54+00:00
Personally, I'd pay a lot more in electricity costs to have light that has full spectrum output. The Waveform lights I bought are about $40/bulb, and they're nicer than the Philips I tried, but they're still not as nice as a regular full spectrum incandescent.

But I also live in a small NYC apartment, so I don't have your typical suburban house with 20+ light fixtures to deal with, I only have 6.
by dang | 2025-06-19 18:38:04+00:00
> Wait ... but this is true.

(It's been a while since this has come up, so maybe I'll write a longer reply, in case it's useful to you and/or others.)

There are two responses, both important.

The first is that your comment included things that the site guidelines ask commenters to avoid: internet tropes, snark, shallow dismissals (all of which are in "but hey, the guy wrote a couple of fun tweets") as well as outright flamebait ("most likely criminal behavior"). None of that is about being true or not, and if your comment hadn't included those things, I wouldn't have responded.

The second, deeper issue is that correctness—though good in principle—is neither sufficient nor necessary to make a good HN comment. For example, true statements can be used as weapons; or they can be off-topic; or they be ammunition for putdowns, and so on. In such cases, a statement being true can make the comment worse, not better.

For example, consider telling a teenager about the acne on his or her face—pretty brutal, no? yet true. Or, to take an old example of pg's (https://news.ycombinator.com/item?id=6539403), consider telling an old person that they're going to die soon. Also true, also not ok in many circumstances.

Context and intention matter, and a good HN comment needs to be in the intended spirit of the site. That's why correctness isn't a sufficient condition for a good comment, and cannot justify a bad one. If you think about it, it isn't a necessary condition either—people are often simply mistaken, and that's part of good conversation (https://news.ycombinator.com/item?id=32697044).

What the "just the facts" or "but it's true" defense misses is that there are infinitely many facts and truths, and they don't select themselves. Humans do that, according to their motives, and a motive is not a fact.

Here are some other links making similar points in case anyone wants further explanation:

https://news.ycombinator.com/item?id=35145770 (March 2023)

https://news.ycombinator.com/item?id=32909407 (Sept 2022)

https://news.ycombinator.com/item?id=32697044 (Sept 2022)

https://news.ycombinator.com/item?id=32628939 (Aug 2022)

https://news.ycombinator.com/item?id=31996470 (July 2022)

https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
by camgunz | 2025-06-19 18:38:42+00:00
I mean, I'm fine addressing Tabarrok's argument head on: I think there's far more to gain helping the millions of kids/adults who are functionally illiterate than helping the small number of gifted kids the educational system is underserving. His argument is essentially "these kids will raise the tide and lift all boats", but it's clear that although the tide has been rising for generations (advances in the last 60-70 years are truly breathtaking) more kids are being left behind, not fewer. There's no reason to expect this dynamic to change unless we tackle it directly.
by burningChrome | 2025-06-19 18:38:43+00:00
>> I know of only a handful of orgs that actually manage to build strong teams of really strong engineers

The best teams I've been on work like a team in sports.

You have the guys who are really good, really sharp developers. They know all the ins and outs of the framework, but are insanely specialized with one thing, but do the majority of the heavy lifting. Then you have the mid-range guys who are more of the JOT guys. They know UI/UX, accessibility, front-end dev and some back-end stuff. Then you have all the entry level rubes. The guys you can give them something to do and they'll figure it out. They're usually learning as they go, but can handle tasks with some direction and hand holding. As the project runs on, they get more comfortable with the processes and tasks so they need less direction and hand holding.

Building teams is all about finding a good mix of people who compliment each other. Too many of the really sharp devs and they'll be arguing over everything. Get too many mid-range or entry level guys and it will slow down the whole project. You also have to have devs who are comfortable with their skill level and know what they're expected to be doing. Too many times I've been on teams where the mid-range guys start bumping heads with the senior devs. Lunch becomes a rage fest over what we should be doing better. They think they should a lead dev, not the guy they don't like.

The last thing is your senior/lead devs have to have the right attitude too. I've been around some insanely sharp lead devs, but they're complete assholes. They know everything, you know nothing. You use shit frameworks, they're always on the cutting edge and your an idiot because you like Angular not something bougie like Svelt.

The key in all of this is finding the chemistry that works. When you get that chemistry, you can capture lightening in a bottle and really build some amazing stuff. When it works, its the coolest thing. People are dialed in, they're enthusiastic about what they're doing. They're willing to work longer hours to make sure the product we're building is incredible. The team is happy, delivering and working on faster sprints and things just feel effortless.
by ghastmaster | 2025-06-19 18:38:46+00:00
This is not true. The last slaves in the United States were set free by the thirteenth amendment in Delaware, IIRC. Emancipation Day could make sense as the last slaves freed by the emancipation proclamation took place on that date.

General Order No. 3 - June 19, 1865

Thirteenth Amendment - December 6, 1865

https://en.wikipedia.org/wiki/General_Order_No._3#Misconcept...

Text:

A common misconception holds that the Emancipation Proclamation freed all slaves in the United States, or that the General Order No. 3 on June 19, 1865, marked the end of slavery in the United States. In fact, the Thirteenth Amendment, ratified and proclaimed in December 1865, was the article that made slavery illegal in the United States nationwide, not the Emancipation Proclamation.[6][7][8][9]

Another common misconception is that it took over two years for news of the Emancipation Proclamation to reach Texas, and that slaves did not know they had already been freed by it. In fact, news of the Proclamation had reached Texas long before 1865, and many slaves knew about Lincoln's order emancipating them, but they had not been freed since the Union army had yet to reach Texas to enforce the Proclamation. Only after the arrival of the Union army and General Order No. 3 was the Proclamation widely enforced in Texas.
by znpy | 2025-06-19 18:39:13+00:00
> Hard disagree with replacing yaml with HCL.

I see some value instead. Lately I've been working on Terraform code to bring up a whole platform in half a day (aws sub-account, eks cluster, a managed nodegroup for karpenter, karpenter deployment, ingress controllers, LGTM stack, public/private dns zones, cert-manager and a lot more) and I did everything in Terraform, including Kubernetes resources.

What I appreciated about creating Kubernetes resources (and helm deployments) in HCL is that it's typed and has a schema, so any ide capable of talking to an LSP (language server protocol - I'm using GNU Emacs with terraform-ls) can provide meaningful auto-completion as well proper syntax checking (I don't need to apply something to see it fail, emacs (via the language server) can already tell me what I'm writing is wrong).

I really don't miss having to switch between my ide and the Kubernetes API reference to make sure I'm filling each field correctly.
by lukas099 | 2025-06-19 18:40:23+00:00
This is vibe-based, but I think the Rationalists get more vitriol than they deserve. Upon reflecting, my hypothesis for this is threefold:

1. They are a community—they have an in-group, and if you are not one of them you are by-definition in the out-group. People tend not to like being in other peoples' out-groups.

2. They have unusual opinions and are open about them. People tend not to like people who express opinions different than their own.

3. They're nerds. Whatever has historically caused nerds to be bullied/ostracized, they probably have.
by Balooga | 2025-06-19 18:40:36+00:00
The problem I find happening too often is that everything works on the initial install. Then an update comes along and nukes sound. Then a few weeks later a round of updates fixes sound but breaks Bluetooth. Then a few weeks later an update nukes WiFi. Ok, connect via Ethernet. Three updates later Bluetooth starts working again.

Then everything works... until you try to adjust the display brightness.

This on pre-2020 Lenovo laptops.
by jakewins | 2025-06-19 18:41:18+00:00
The core idea isn’t pods. The core idea is reconciliation loops: you have some desired state - a picture of how you’d like a resource to look or be - and little controller loops that indefinitely compare that to the world, and update the world.

Much of the complexity then comes from the enormous amount of resource types - including all the custom ones. But the basic idea is really pretty small.

I find terraform much more confusing - there’s a spec, and the real world.. and then an opaque blob of something I don’t understand that terraform sticks in S3 or your file system and then.. presumably something similar to a one-shot reconciler that wires that all together each time you plan and apply?
by Groxx | 2025-06-19 18:41:22+00:00
Internally... in what? Not HCL itself, I assume? Also I'm not seeing much that implies HCL has a "plan time"...

I'm not familiar with HCL so I'm struggling to find much here that would be conclusive, but a lot of this thread sounds like "HCL's features that YAML does not have are sub-par and not sufficient to let me only use HCL" and... yeah, you usually can't use YAML that way either, so I'm not sure why that's all that much of a downside?

I've been idly exploring config langs for a while now, and personally I tend to just lean towards JSON5 because comments are absolutely required... but support isn't anywhere near as good or automatic as YAML :/ HCL has been on my interest-list for a while, but I haven't gone deep enough into it to figure out any real opinion.
by ivape | 2025-06-19 18:41:32+00:00
You think people not liking each other is an insane statement? I'll paraphrase Thomas L Friedman on a recent thing he said about the middle east. He said, paraphrasing "never listen to what an Israeli or Palestinian tells you in English, always see what they say to each other in their own language". Obvious insight, but not well practiced.

Do you think the amicable discourse on HN is indicative of feelings? Do you think the Hi and Hellos you get at work displays the true fabric of things?

I'll just start with small examples in case you want to keep the convo going:

1) Leetcode is a thing

How? Dude, there's dislike of a certain type of developer and obsession toward the idea of another type of developer.

2) Agile is a thing

How? Dude, there is dislike for the autonomy and value a developer brings.

3) How do you turn a "normal" engineer into 10x engineer

How is this question constructed? What is "normal" and who defined the ideal "10x"? How do you turn your "normal" wife into a dime? What? What kind of question is this? The business dislikes the price of a developer, how do we get more value for what we paid. These are the things you have to read into.

...

N) Plenty more examples, the tech industry operates on shade because our PR game is so fake (seriously, remember the ping pong tables?)

---

Which brings me back to "people don't really like each other" and good operations need to manage that.
by simonw | 2025-06-19 18:42:07+00:00
Coincidentally, Charity Majors wrote one of my favorite essays about that too: https://charity.wtf/2018/12/02/software-sprawl-the-golden-pa...

> Assemble a small council of trusted senior engineers.

> Task them with creating a recommended list of default components for developers to use when building out new services. This will be your Golden Path, the path of convergence (and the path of least resistance).

> Tell all your engineers that going forward, the Golden Path will be fully supported by the org. Upgrades, patches, security fixes; backups, monitoring, build pipeline; deploy tooling, artifact versioning, development environment, even tier 1 on call support. Pave the path with gold. Nobody HAS to use these components … but if they don’t, they’re on their own. They will have to support it themselves.
by cubefox | 2025-06-19 18:42:14+00:00
> But it's from the Rationalists that she picks up on the notion that some people are net negatives to society

That belief has nothing to do specifically with rationalism. (In fact, I think most people believe that some people are net negative for society [otherwise, why prisons?], but there is no indication that this belief would be more prevalent for rationalists.)
by norir | 2025-06-19 18:42:25+00:00
I tend to think that much of the difference between great and mediocre engineers comes down to mindset. The great engineers I've encountered have a commitment to making everything they touch better. They are adaptable and persevere. They believe they will either succeed at the task at hand or conclusively determine that it isn't possible given the current constraints. They recognize that failure will happen and do not get discouraged by it and instead see it as an opportunity to growth. When they encounter an issue caused by systemic problems, they will try to fix it systemically. They will not ship the first draft and will take a little it of extra time to get things right, which slows the initial release slightly but more than pays for itself with a dramatically lower maintenance burden.

This type of engineer is often misunderstood and underappreciated by management. Management is often motivated by immediate short term goals. Instead of cherishing the work of the engineers who build the foundational systems that will enable the long term success of the org, they complain about them missing arbitrary short term goals and accuse them of doing engineering for engineering sake instead of real work.

Management will celebrate the coder who whips up a buggy, but cool, feature in a week and will look the other way at the fact that the feature will always be a little bit broken because of its shoddy construction and instead will allocate some lesser engineers to maintain it. If instead the feature had been built correctly from the start, it may have been launched a bit later, but the overall cost will be much lower. Moreover, the poor engineers who are forced to maintain it (and let's be honest, the people who quickly churn out shoddy but shiny work almost never have to maintain it themselves) will not only be wasting their time, they will be actively internalizing the anti-patterns present in the code. This both inhibits their growth and understanding of good design principles and teaches them the bad lesson that crap is good and unless they have a uniquely strong character or good mentors, they will tend to either become demoralized (hurting their productivity and value to the company) or they will internalize the incentive to get out of maintenance work and build shoddy features of their own to pass down to the next poor soul.

The truly great engineer is the one who breaks this cycle by building extendable systems that are correct by design and takes accountability for everything they ship. They raise up the entire org both by their work and example. In the long run, they will be far more productive and positively impactful than the sloppy cowboy coder.

Unfortunately, the industry writ large celebrates and incentivizes cowboy coding so doing the right thing is very much against the grain. Indeed, the people who rise up the org chart tend to be the cowboys so they cannot even see the value of the other way and will often actively antagonize or undermine those who do the right thing (and threaten their dominant position in the org).
by Tuna-Fish | 2025-06-19 18:42:51+00:00
> Humans traveling over ice sheets from eurasia to the americas never made a huge amount of sense when they could skirt it's resource-rich edges - and traveling by water is much faster, and much less calorically intensive than traveling by land. You also have your food readily available.

... No-one is suggesting people traveling over ice sheets? In fact, the primary reason for the conventional chronology is that it avoids any ice sheets.

During the last glacial maximum, the sea level was low enough that the entirety of Beringia was above sealevel. It was also not covered by ice, and it was one of the richest places for hunter-gatherers to live north of the tropics. Think less of a land bridge and more of a continent. This allowed access to western and central Alaska, but the way forwards was blocked by the Laurentide ice sheet, both on the continent and extending significantly over the ocean. For someone to cross from Alaska to the southern part of the continent, they would have to sail over 2000km without access to anything but deep ocean and floating ice.
by jauntywundrkind | 2025-06-19 18:43:08+00:00
I strongly agree about the fatigue. I have extreme levels of concern, especially when the supposed top people are shooting their mouths off saying this stuff is doing material science, biochem, a million other things.

But all that annoying madness is distracting from how amazingly awesomely useful this stuff is. It's wild how many little quick projects I can kick out in a couple hours! Ideas just come out of my head with so much less fuss; when I don't like it I ask for something different.

My point is less to convince though about AI. I appreciate your starting sentiment here, but I really don't get the follow up?

> genuinely happy it works for you. I just don't want AI in my text editor, even if you're happy with it.

I don't see why it would bother you at all? There's a tiny little button in the status bar and a few scattered menu items that feel, to me, very easy to ignore.

It feels like someone being mad that their spreadsheet has I dunno, logarithms in it, but the person hates logarithms? It feels weird to opt in to caring against. I have a generalll abnner of thought which is "your anti-feature is not a feature", and this feels like one of those situations: i don't see why someone would cling to an editor not having a feature they don't use?
by tptacek | 2025-06-19 18:43:22+00:00
No, I'm saying it doesn't serve a real purpose. I've spent 30 years doing security work professionally and one of the basic things I've come to understand is that security is at bottom an economic problem. The job of the defender is to asymmetrically raise costs for attackers. Look at how DNS zones and certificates are hijacked today. You are proposing to drastically raise defender costs in a way that doesn't significantly alter attacker costs, because they aren't in the main using the exotic attack you're fixated on.

If we really wanted to address this particular attack vector in a decisive way, we'd move away, at the CA level, from relying on the DNS protocol browsers use to look up hostnames altogether, and replace it with direct attestation from registrars, which could be made _arbitrarily_ secure without the weird gesticulations DNSSEC makes to simultaneously serve mass lookups from browsers and this CA use case.

But this isn't about real threat models. It's about a tiny minority of technologists having a parasocial relationship with an obsolete protocol.
by kragen | 2025-06-19 18:43:25+00:00
You said:

> in "ascii" mode it overstruck a plus symbol with a letter 'o', one of many such typewriting tricks, which no-one but those printing manual pages to old printers capable of the same typewriting trick would have ever seen

I was pointing out that you don't need an old printer to see them; `enscript` and `a2ps` are perfectly capable of showing them to you. So it is not the case that, as you said,

> Reading stuff that was destined for old typewriter-like printers (...) is straying (...) far from what strogonoff and I were (...) talking about.

The rest of your comment seems to be you getting mad that you found my comments hard to interpret sensibly.
by loughnane | 2025-06-19 18:43:46+00:00
Both of those are portmanteau's, giving hints as to their meaning. No such thing with Juneteenth.

I agree lack of familiarity isn't because it's "unreal"---we invent words all the time, but I agree with OP that we could have come up with a better name. I bet if you I were to walk down the street here and ask 10 people what Juneteenth is only 1 would be able to do better than: "something to do with freeing the slaves".
by furyofantares | 2025-06-19 18:44:01+00:00
This is excellent. I am an EXTENSIVE Claude Code user but I've been a bit scared to write my own tooling around worktrees + multiple sessions because I don't understand git well enough.

To be honest, I'm a little scared to use this also. I feel like ideally each worktree would also run in a container, but that seems quite a bit harder to make work as smoothly as this does.