MurphyA/hacker-news huggingface dataset:
by zoeysmithe | 2025-12-30 19:35:15+00:00
That book led me to Gutta Percha, the plastic-like coating on the wires used in these cables which was quite the innovation and made this all possible. Vulcanized rubber was the other option but performed poorly in cables and was harder to work with.

https://atlantic-cable.com/Article/GuttaPercha/

The above is a fascinating and depressing history of the Gutta Percha factory that made all these cables, after joining with the cable company that supplied the actual wires. There's an 1853 travelogue piece embedded here of an author visiting the factory, where he notes in the worst parts of the factory where boiling and heat are applied, it was staffed with boys who barely made more than a dollar a week. By boys I thought it was slang for young men then I realized 1850s England was heavily using child labor.

Those cables are the product of child labor, like much of the Victorian age's industrial and textile output. Children often made up significant portions of factory workforces, sometimes 25-50% in certain textile sectors, with many under 14. I wish the stories of child labor were better told and more prominent. This abuse and exploitation of children gets quite whitewashed during this age and its nice to see it acknowledged, albeit briefly.
by jollyllama | 2025-12-30 19:35:35+00:00
The bit about drag-and-drop and Visual Studio hides a key insight: insofar as those tools allowed non-software engineers to build applications that were key to certain business processes, they were tech-debt accelerators. It is true to a very large degree; there are still businesses out there depending on shoddy VB applications that were built by someone that didn't know what they were doing, and they are hobbled by it. LLM-generated applications are the turbocharged equivalent of this, and I anticipate that giant spagehetti codebases will be made out of them, the likes of which have never been seen before, and the workflows that are wedded to them will be doomed.
by mbreese | 2025-12-30 19:35:47+00:00
I think a good chunk of it has to do with the TVs themselves. I don't have any extra sound system attached to my TV, so I'm working with whatever sound comes out of the TV itself. As TVs get thinner, speakers also get smaller, and focused downwards. So we're using tiny speakers that are pointed indirectly towards me.

I could probably fix over half of the problems I have with TV audio with a decent sound bar, and a good one is a decent percentage of the cost of a brand new TV.
by jaggederest | 2025-12-30 19:36:03+00:00
The issue with randomly selected representation is that the support staff start to become the ones who effectively make the decisions.

This is the same issue with term limits (which to be clear, I'm in favor of, but we have to go in with our eyes open), which is that e.g. the congressional staffers gain power, especially if they persist across the end of the term limit.

In these kinds of cases, you almost need term limits for staff, which feels pretty cruel and arbitrary - "Thank you for making a career in public service but you are now legally barred from your chosen career"
by callc | 2025-12-30 19:36:19+00:00
Well said. I’m in the same boat of being on the fence about python. I’ve been burned too many times in the past.

And even if uv was perfectly solves all of our woes, it still seems worse than languages that solve packaging and deployment with a first-party built tools.

There’s only so much lipstick and makeup you can put on a pig…
by m132 | 2025-12-30 19:36:22+00:00
I can understand the public cloud argument; if the cloud provider insists on you delivering an entire operating system to run your workloads, a unikernel indeed slashes the amount of layers you have to care about.

Suppose you control the entire stack though, from the bare metal up. (Correct me if I'm wrong, but) Toro doesn't seem to run on real hardware, you have to run it atop QEMU or Firecracker. In that case, what difference does it make if your application makes I/O requests through paravirtualized interfaces of the hypervisor or talks directly to the host via system calls? Both ultimately lead to the host OS servicing the request. There isn't any notable difference between the kernel/hypervisor and the user/kernel boundary in modern processors either; most of the time, privilege escalations come from errors in the software running in the privileged modes of the processor.

Technically, in the former case, besides exploiting the application, a hypothetical attacker will also have to exploit a flaw in QEMU to start processes or gain further privileges on the host, but that's just due to a layer of indirection. You can accomplish this without resorting to hardware virtualization. Once in QEMU, the entire assortment of your host's system calls and services is exposed, just as if you ran your code as a regular user space process.

This is the level you want to block exec() and other functionality your application doesn't need at, so that neither QEMU nor your code ran directly can perform anything out of their scope. Adding a layer of indirection while still leaving user/kernel, or unikernel/hypervisor junction points unsupervised will only stop unmotivated attackers looking for low-hanging fruit.
by vidarh | 2025-12-30 19:36:29+00:00
After WW2, the US had a lot of political capital and the governments with economic clout were largely either highly positive to the US or already quite hostile, and the US at the same time had a tremendous financial advantage.

A lot of the US' bad things post WW2 were seen favorably by the governments that were already US-friendly, and who either way saw the US as a critical ally.

That has drastically changed in general. The situation is not remotely comparable.

Europe in particular is more confident, isn't bordered by a power that Europe believes it can't handle alone if it has to (a threat, yes, but not an existential one like the USSR). There isn't remotely the same sense of needing the US at all costs.

The ICC decisions simply wouldn't have been allowed to happen in a way that caused a rift with the US shortly after WW2. It'd have been inconceivable. That the ICC decisions have not just been allowed to happen but haven't caused uproar from most European governments is itself evidence of how much weaker the US position is seen by European eyes in particular.

But in terms of finance in particular, it's also just not the case that there is no one able to take its place.

Of the top 20 largest banks in the world by assets, only 5 are American, the top 4 largest are Chinese, and China has 7 total, UK 2, France 2, Japan 3, Spain 1.

Extend that list to the top 50, and it only adds one more US bank.
by mothballed | 2025-12-30 19:36:36+00:00
No for the income tax, when the income tax was introduced in 1913 it was explicitly designed to apply mostly to the rich (off the cuff, I think only a few percent of people paid it for quite some time).

The working poor though earn most their money through wages, which get taxed at the bare minimum 12.4% (payroll + post-payroll SS taxes), and then usually 7-10% sales tax because they are spending all they earn. So the poor are paying 20% tax right off the bat, meanwhile the rich are paying ~20% on capital gains but spending very little of that on sales tax and none on social security. So about the same overall tax rate paid on the earnings of the working poor as the rich.

Social security has always been the main monkey on the back of the working class, to the point the government will literally tax a childless person back into poverty to make sure the quasi-pyramid* scheme is funded. I don't think SS payments are normally recorded in the income tax statistics.

* but technically not
by pizzafeelsright | 2025-12-30 19:36:38+00:00
At this point in reality do you read assembly or libraries anymore?

Years ago it was Programmer -> Code -> Compile -> Runtime
Now today the Programmer is divided into two entities.

Intention/Prompt Engineer -> AI -> Code -> Compile -> Runtime.

We have entered the 'sudo make me a sandwich' world where computers are now doing our bidding via voice and intent. Despite knowing how low level device drivers work I do not care how a file is stored, in what format, or on what medium. I do want it to function with .open and .write which will work as expected with a working instruction set.

Those who can dive deep into software and hardware problems will retain their jobs or find work doing that which AI cannot. The days of requiring an army of six figure polyglots has passed. As for the ability to production or kernel level work is a matter of time.
by Terr_ | 2025-12-30 19:36:45+00:00
Hot-take: "Oh, here's a link that says if I click it, someone will show off their artistic front-end design theme."

"I see flat colors and a list of recent project news. Nothing at the bottom. Is it the wrong URL? Or does it not work on my phone? Let's go back and check the HN comments."

"The submission has a bunch of text which doesn't seem to answer my immediate confusion. There's a game somewhere? Was that the wrong link? Did it not pop up correctly? Did I need to give the site special permissions?"

TLDR: This random user unfamiliar with the site is not sure what they were supposed to focus-on and notice/appreciate, and wasn't able to figure it out within a reasonable period before needing to put the phone down again. (Not including the time to write this follow-up comment.)
by sgnelson | 2025-12-30 19:37:07+00:00
I agree with the critique on the "socially constructed" part of this article.

I'd also add that since it was literally The Times newspaper which created the font, and it was considered one of the papers of record for the time (no pun intended), the font was probably designed to have a sense of accuracy, truth and authority. In other words, the institution that created the font is very much part of the socially constructed aspect of this font, giving it that air of authority.
DnsMesh for Kubernetes Workloads
by woodprogrammer | 2025-12-30 19:37:09+00:00
Hello, everyone I would like to share my new project with the name dash dns. It basically lets you define your DnsPolicies on Kubernetes and easily simulate, filter and monitor your DNS activity of the pods via sidecar pods. The comments and ideas are more than welcome.

Here is the link of the project -> https://github.com/dashdns

Thank you
by rendx | 2025-12-30 19:37:32+00:00
In case anyone was wondering:

> $2,000,000 in 1991 is equivalent in purchasing power to about $4,759,500.73 today

https://www.in2013dollars.com/us/inflation/1991?amount=20000...

Second source: https://data.bls.gov/cgi-bin/cpicalc.pl?cost1=2%2C000%2C000....

> $4,816,077.27

Still not a lot.
by pocketarc | 2025-12-30 19:37:48+00:00
HN goes through hype cycles, I suppose. Remember when it was all about crypto and every conversation ended with "we could use blockchain" and we were all fed up? Remember when everyone was an Elon Musk fanboy and Tesla was going to save the world? I'm sure there are more, but that's just off the top of my head.

There's always going to be a prevailing zeitgeist, and that's always going to dominate people's focus.

But by and large, HN is the most intelligent, thoughtful community I've encountered, with people going out of their way to be kind and thorough in their replies, discussing things maturely, disincentivizing unhelpful and low-effort behavior. Not to mention the dizzying wealth of knowledge and experience the people here have.

Obviously it's not 100%. There are plenty of harsh people and attitudes. But there's a lot of good discussion happening here, and that's what I try to focus on. I can only hope one day to be as interesting/inspiring a member of the community as some of the people I've seen on here.
by Y_Y | 2025-12-30 19:37:49+00:00
In principle you can patch your binary to accept the old local version, though I don't remember ever getting it to work right. Anyway here it is for the brave or foolhardy, here's the gist:

patchelf --set-interpreter /lib/ld-linux-x86-64.so.2 "$APP"
patchelf --set-rpath /lib "$APP"
by micik | 2025-12-30 19:37:52+00:00
i found uv frustrating. i dont know what problem is it trying to solve. it's not a tool for managing virtualenvs, but it does them as well. i guess it's a tool for dependency management. the "uv tool" stuff. kinda weird. i gave it an honest try but i was working around it with shell functions all the time.

in the end i went back to good old virtualenvwrapper.sh and setting PYTHONPATH. full control over what goes into the venv and how. i guess people like writing new tools. i can understand that.
by yunnpp | 2025-12-30 19:38:20+00:00
What "most countries" have a two-party system? From the summary below, most democracies actually seem to not have one. Spain, for example, used to be rather binary in early 2k, but its parliament has diversified since.

https://en.wikipedia.org/wiki/Two-party_system

Maybe Americans should question why new parties cannot be formed that actually represent their people instead of looking to replace democracy entirely with...a lottery? I can't comment further because I am not American.
by observationist | 2025-12-30 19:38:23+00:00
There have been brief periods where civility was normal, but politics and extreme heated emotion and polarization are the norm. Murder, mayhem, riots, extreme, ridiculous mud-slinging, and simmering turmoil have been the default state for a majority of human history.

Social media has exacerbated things in some ways, but in others, it's imposed an artificial civility as people get settled into their bubbles and vent online instead of taking action.

Just look at all the political violence in each decade of the 20th century in the US. Look at all the bombings, arson, murder, riots since 1950.

The dynamics have changed, but it'll be decades or more before humanity is anywhere near culturally settled down with the internet and instant global communication. It's already a net good, but massive online platforms and entrenched power players manipulating narratives and so on still need to be calibrated in policy.

The civility you remember might simply have been that all the violence wasn't being reported and headlining in major outlets 24/7. The threshold for newsworthy events and the willing participation of news outlets in managing perception created a very sterile and civil seeming facade over what's been more or less constant chaos.
by Ellipsis753 | 2025-12-30 19:38:41+00:00
Old links to your site (or on your site) might still be http - HSTS prevents that request being in the clear. Also, if you have a man-in-the-middle attack, it doesn't matter if you return a redirect or not as the attacker has already replaced your site with a phishing attack instead of a redirect. This is why it's important paypal has HSTS and it's preliaded.
by alex_young | 2025-12-30 19:39:41+00:00
Edgar Dijkstra called it nearly 50 years ago: we will never be programming in English, or French, or Spanish. Natural languages have not evolved to be precise enough and unambiguous enough. Semantic ambiguity and language entropy will always defeat this ambition.

I don’t think that’s actually what Dijkstra was saying, nor do I think it stands to reason.

Assuming that product designers articulate their designs in English to software engineers, who subsequently turn those ideas into products, doesn’t it stand to reason that this process is to some degree approachable?

I’m not saying that we are at that point or that we will be soon, but it just seems like flawed reasoning.
by embedding-shape | 2025-12-30 19:39:41+00:00
Sounds like the problem was that the session was too long, they tend to get extremely dumb, extremely fast. Once you noticed that it was trying to debug if the database was corrupted or not, you should probably have began in a new session, setting a stronger initial prompt about that the database isn't corrupted, so the agent wouldn't consider it at all during the session. I find I get much better results, if I do this iteratively all the time. If anything is wrong, don't add another message with a correct, undo and restart the session with a better prompt so the issue is altogether avoided.
by walthamstow | 2025-12-30 19:39:52+00:00
There's a thing in soccer at the moment where a tackle looks fine in realtime but when the video referee shows it to the onpitch referee, they show the impact in slo-mo over and over again and it always looks worse.

I wonder if there's something like this going on here. I never thought it was LLM on first read, and I still don't, but when you take snippets and point at them it makes me think maybe they are
by derektank | 2025-12-30 19:40:06+00:00
The post-war partisan environment was pretty unique in American history for its civility and substantial overlap between the two parties. The late 19th century had a level of partisanship comparable to today, though much of it was filtered through ethnic and religious identities in a way that would be unfamiliar to people today. In many ways, our modern political environment is a reversion to the mean. I wouldn’t bet money on social media specifically being the primary driver of this change (though I do think the collapse in barriers to sharing information has allowed for partisanship identity to be formed along ideological lines, rather than geographical or cultural lines, in a way that is unique.)
by autoexec | 2025-12-30 19:40:29+00:00
> Imagine if you couldn't see the players, and just saw the puck. Would that be interesting at all?

Honestly, I don't know. Is it really the players people care most about? More than the score? The players come in and out of teams so often that caring about any specific player seems strange. Teams seem more important. I suspect that just seeing colored sticks (with colors signifying the team) and the puck would probably work just as well but then I don't get the appeal of watching sports in the first place.
by eyberg | 2025-12-30 19:40:47+00:00
To be clear there are still numerous attacks one might lob at you. For instance you if you are running a node app and the attacker uploads a new js file that they can have the interpreter execute that's still an issue. However, you won't be able to start running random programs like curling down some cryptominer or something - it'd all need to be contained within that code.

What becomes harder is if you have a binary that forces you to rewrite the program in memory as you suggest. That's where classic page protections come into play such as not exec'ing rodata, not writing to txt, not exec'ing heap/stack, etc. Just to note that not all unikernel projects have this and even if they do it might be trivial to turn them off. The kernel I'm involved with (Nanos) has other features such as 'exec protection' which prevents that app from exec-mapping anything not already explicitly mapped exec.

Running arbitrary programs, which is what a lot of exploit payloads try to achieve, is pretty different than having to stuff whatever they want to run inside the payload itself. For example if you look at most malware it's not just one program that gets ran - it's like 30. Droppers exist solely to load third party programs on compromised systems.
by wouldbecouldbe | 2025-12-30 19:40:52+00:00
Everybody looks on Google for services; or ChatGPT googles/bings it for them. Still the same.

We had a 10x jump just last month for my own company.

For bigger company I consult with we had stable revenue last 2 years even though search traffic declined by 50%, our Google ads still perform the same. In general buying intent still seem to come through Google, only 10% via GPT.

It will become more and more, but a full drop in 3 months means something else is wrong.
by tetha | 2025-12-30 19:40:58+00:00
I have a few internal services on which I like to crank transport security to 11. No port 80, only TLS 1.3, only modern ciphers. You'd be surprised how much confusion not opening port 80 caused across technical people. And I've learned a bunch of things about supported TLS versions and supported ciphers of windows server versions from this crusade.

And that's with experienced admins and developers. Doing this with our average B2B customer? Hah, oh dear.
by Mutatis | 2025-12-30 19:40:59+00:00
Mutatis: Autonomous Schema Evolution & Managed Deprecation

I’ve seen a lot of discussion about "Memory Bloat" in RAG systems. In Mutatis, we solve this by treating the database schema as a fluid organism that evolves (and de-evolves) based on a combination of Semantic Pattern Detection and Confidence Decay.

As the data scales, the system shadow-builds specialized tables for high-confidence entities, shifting query complexity from O(N) to O(log N).

How we handle the lifecycle of a memory from "Generic" to "Optimized" and back again:

1. SEMANTIC LOGIC VS. REGEX
We don't trigger schema changes on keyword frequency alone. We use an LLM-driven classifier to distinguish Modal Logic (intent) from Foundational Facts.
- Intent: "I wish I lived in Florida" -> Stored as preference in a generic table.
- Fact: "I live in Florida" -> Triggers the evolution pipeline.
This prevents schema "pollution" from noise or aspirational intent.

2. MENTIONS, DECAY, AND "DE-EVOLUTION"
Schema evolution is a reward for frequently referenced data; deprecation is the penalty for irrelevance.
- Confidence Decay: When contradictory statements are detected (e.g., "I moved to Texas"), the confidence score for the "Florida" schema decays.
- Frequency Thresholds: If an optimized table isn't hit within a specific window, it is flagged for De-Evolution.

3. MECHANISM: SHADOW TABLES & ATOMIC SWAPS
To ensure zero-downtime, we use a shadow-table migration pattern:
- Selection: A schema is flagged for merging via periodic hygiene checks.
- Shadow Merge: A background transaction copies data from the specialized table back into a generic_memories table.
- Atomic Swap: We drop the specialized table and update the query router in a single atomic transaction.

MANAGED MEMORY LIFECYCLE SUMMARY:
Mechanism | Purpose | Implementation
Mention Decay | Identifies stale data | Rolling counters on hits
Confidence Scoring | Handles contradictions | Drift via sqrt(2) weighting
Hygiene Checks | Prevents schema bloat | Periodic TTL-driven merges
Atomic Swaps | Safe transitions | Transactions + Shadow Tables
Modal Tagging | Filters intent vs fact | Zero-shot categorization

THE BOTTOM LINE:
By allowing the schema to "de-evolve" back into generic tables, we maintain O(log N) performance for relevant data without the overhead of maintaining thousands of stale indices.
by cgannett | 2025-12-30 19:41:06+00:00
ugh what a pain

Another issue is that often effort is the only lever one has in providing value as what tasks you are assigned constrains potential value output.Hypothetically, If my boss assigns me a stupid project destined to failure and tells me to shut up when I push back I'm really not going to get much value regardless of how much effort I put in... unless I was wrong in my assesment which is admittedly possible. Good management I suppose would then use effort as a proxy to try to find projects with potential to match one's effort.
by Arainach | 2025-12-30 19:41:11+00:00
Great. Now we have inexperienced legislators, inexperienced aides, and experienced lobbyists. That's definitely going to be an improvement rather than an absolute catastrophe.

Term limits are like so many populist ideas: they sound great until you think at all about the consequences.

Effective government requires people with a long tenure. That's how you learn how the system operates, that's how you build the relationships that allow you to get things done, and that's how you build the reputation that allows you to get people to believe in what you say and accomplish things.