MurphyA/hacker-news huggingface dataset:
by Snoozle | 2026-03-11 18:14:49+00:00
Why does this entire article read like chatgpt? Kind of ironic considering the content.

Big llm smells:
'Not "AI helps you autocomplete a function." Not "AI explains a stack trace." I mean the full-on narrative:'

'Sure, it's a weird language. It looks archaic. Sometimes it's hostile. Sometimes it's beautiful.

But still—if you know what you're doing—you can sit down with a keyboard and turn words into:

a product
a workflow
an automated business process
a system that makes money while you sleep
a tool that saves a team thousands of hours
That's real power. It's leverage.'

'Not because we're lazy. Not because we're gatekeeping. Because building real systems is hard, and the number of people who can reliably do it is limited.'

Sometimes I think we get too caught up on what chatgpt will do to the economy, software, and businesses, and forget the most insidious aspect of this type of technology - we will no longer know how to write and all human text communication will confirm to a specific pattern.
by ho_schi | 2026-03-11 18:14:56+00:00
The last competitor remaining is Lenovo with the ThinkPads and pre-installed Linux [1].

But even Lenovo cripples them:

* You need to be very careful. Select alwaysCTO build with the best available display. But even then, Lenovo *removed* the HiDPI display from the X13. The only actual competitor to the MacBook Air is the ThinkPad X13.
* Lenovo added useless camera humps protruding out of the panel. There is a thick bezel and enough space for a much better camera. And for opening the laptop used to be a dent in the (round!) palmrest, nothing protruding.
* AMD, Intel and Lenovo fail to ship a fanless X13 and T14. I would happily keep same performance for two years, just getting rid of it.
* Lenovo is drowning us in Yogas, Z13 or whatever Legion.

They still have huge advantages (keyboard, maintenance manual, replacement parts, Linux compatibility, much more ports in case of the X14 and T14). Apples keyboards are nowadays “acceptable” but not even comparable to a good ThinkPad keyboard.

[1] By the love of god. Don’t order them with Windows! You are putting 80 to 130 euro right into Microsoft’s stock owners. And they will use it to harm Linux. And of course, making Windows even worse. They use it to harm you. Select Linux. Donate the rest (Fasst, GNOME, KDE…) or use it for the better display.
by saghm | 2026-03-11 18:14:57+00:00
> The browser's programming model is fundamentally about a graph of objects with identity, managed by a GC, mutated through a rich API surface.

Even more to the point, for the past couple of decades the browser's programming model has just been "write JavaScript". Of course it's going to fit JavaScript better than something else right now! That's an emergent property though, not something inherent about the web in the abstract.

There's an argument to be made that we shouldn't bother trying to change this, but it's not the same as arguing that the web can't possibly evolve to support other things as well. In other words, the current model for web programming we have is a local optimum, but statements like the the one at the root of this comment chain talk like it's a global one, and I don't think that's self-evident. Without addressing whether they're opposed to the concept or the amount of work it would take, it's hard to have a meaningful discussion.
by thayne | 2026-03-11 18:14:57+00:00
> any object passed into this function is now typed _never_. You’ve destroyed it and can’t use it after this.

That is basically what affine types are. Once the value is "consumed" it can't be used again.

In rust, this is expressed as passing an "owned" value to a function. Once you pass ownership, you can't use that value anymore.

And having used it in rust, I wish more languages had something like that.
by rdevilla | 2026-03-11 18:14:58+00:00
Bingo. I have oft opined that the switch to an audiovisual culture was (bandwidth and compute gains notwithstanding) simply due to the piss poor ergonomics of the touch screen.

IRC was a literate culture, owing to its roots in the physical medium of the typewriter. It imposed technical barriers to entry selecting for a minimum of intelligence.

After kneecapping the literate media by destroying this input mechanism with touch screens, the audiovisual media flooded in to fill the vacuum - and brought with it the illiterate masses who now all see themselves as amateur videographers, unencumbered from the previous burdens of needing to "read the fucking manual."
by adrian_b | 2026-03-11 18:15:23+00:00
Thanks for the link to his paper.

Like I have said, PL/I did not have pointers in the beginning, i.e. since 1964 until July 1966.

So I think that this claim about Lawson having invented pointers comes from a misunderstanding. It is likely that Lawson has been the lead developer for adding pointers to PL/I.

Someone has heard this and because the first version of PL/I was developed during 1964, a false conclusion was inferred, i.e. that Lawson had invented pointers in 1964, before Euler.

That conclusion was wrong, because pointers have been added to PL/I much later, not during the initial development.

The paper written by Lawson about using pointers was sent for publication in August 1966, i.e. one month after the official introduction of a new PL/I version with pointers.

Due to the timing of the implementation of a PL/I extension with pointers, a short time after a public debate about how programming languages such as ALGOL must be improved, with most proposals integrated and analyzed in the papers published by Hoare, Wirth and a few others, I believe that it is rather certain that the impulse to add pointers to PL/I was not internal to IBM, but it was caused directly or indirectly by watching this debate.

The paper written by Radin, linked by you, confirms that IBM has added pointers to PL/I after an important customer, General Motors, has requested this, presumably in Q4 1965.

Because Lawson was the one who reported the end result of this work of extending PL/I with pointers, I assume that he was the lead developer of this project, which must have happened mostly during the first half of 1966.

As I have said, the only original element of the PL/I pointers was the "->" indirect addressing operator. Unlike in C, no other operator was needed, because PL/I followed the recommendation of Hoare, which was to use pointers only as structure members, where they are useful for implementing linked data structures, and not also as independent variables.

Therefore it seems likely that Harald Lawson was the one who invented the "->" operator.

However, he clearly had not invented pointers, as those (under the alternative name of "references") had been used earlier in the languages CPL and Euler and the implementation of pointers in PL/I done by Lawson followed closely the recommendations made by Hoare in his "Record Handling" paper.
by freejazz | 2026-03-11 18:15:42+00:00
>The problem is that the external platforms that the children progress to generally have much laxer protection systems than Roblox does, and thus end up more vulnerable.

So? Discord is a problem too. But they aren't finding the kids on discord because Discord is not a social network that links pedophiles with children. Roblox is that.

>Meeting IRL is a problem as well, it just makes up fewer of the cases.

Again... and? By your logic IRL is the problem too because for some reason you think we should not expect Roblox to do anything about the fact that it connects children with pedophiles. But IRL isn't a platform. And if Roblox was IRL, it would've already been sued into oblivion because it facilitates pedophiles predating on children.
by vkoskiv | 2026-03-11 18:15:44+00:00
Nice! My keyboard code is still very bare bones, so I interact with my system using debug commands assigned to individual keys.

Since we're both working on a similar project, I think it could be fun to talk about OS development and share our findings (and weird bugs!)
I have this same username just about everywhere, so do reach out if you're interested! Best of luck with your project either way :]
by wlesieutre | 2026-03-11 18:16:01+00:00
To save anyone else trying to figure out what computer lostmsu is talking about, at least going by the current prices on HP's website (not MSRP):

HP OmniBook 5 Laptop Next Gen AI 16-fb0037nr

If I were shopping for a cheap laptop I would have given up and bought a Macbook Neo before I found that one.
Show HN: AgentOS- a memory system for AI agents that learns what it doesn't know
by ajstars | 2026-03-11 18:16:03+00:00
Most AI agents have a memory problem.

Not the kind where they forget things. The kind where they remember everything, all at once, every time.

Every message. Full history. Appended to every prompt. The context window fills. Costs compound. And you're paying to re-sendthe same conversation on every single turn.

I wanted to fix that.

---

The insight came from thinking about how people actually remember things.

You don't replay your entire life to answer a question. You retrieve what's relevant - usually just a few facts. The detail only comes back when you need it.

So I built HAM. Hierarchical Adaptive Memory.

Memory lives in four tiers:

L0 → 8 tokens - topic slug, always in context
L1 → 35 tokens - key facts, retrieved on topic match
L2 → 150 tokens - full summary, retrieved when needed
L3 → 500+ tokens - raw detail, only on deep queries

The retriever scores each incoming message against stored topics. It pulls only the tier it needs. Nothing more.

A follow-up question on a topic you discussed yesterday costs 35 tokens of memory context. The naive approach costs 1,890.

---

I benchmarked this across 5 topics, 8 questions each.

Naive: 6,825 tokens average
HAM: 1,205 tokens average
Reduction: 82.3%

Anyone can reproduce it: npm run benchmark - in-memory SQLite, same questions, same seed every run.

---

L4 wasn't in the original design.

When the agent hits a question it has no memory for, it answers using the LLM. Then it asks itself: is this response worth keeping?

Criteria: longer than 180 characters, not conversational filler. If yes - it compresses the response into the tier structure and saves it.

The agent learns from what it didn't know.

Ask it something obscure. It answers. It saves. Ask again tomorrow - it already knows.

---

What I haven't fully solved:

Compression quality at L1 and L2 depends on the summarization model. Gemini Flash is fast and cheap. But on highly technical content, it sometimes loses edge-case detail in the summary. You trade token cost for precision.

Lossy compression in memory systems feels like an unsolved problem. I'd be curious if anyone has dealt with this at scale.

GitHub: https://github.com/ajstars1/agent-os
MIT. SQLite + WAL. TypeScript strict. Runs local.
by godelski | 2026-03-11 18:16:26+00:00
> you're not trying to prove correctness in a mathematically sound way.

> "locking" the behavior to whatever it currently is.

These two sentences are incompatible

> The #1 reason TDD failed is

Because spec is an ever evolving thing that cannot be determined a priori. And because it highly incentivized engineers to metric hack.

> It's a bunch of repetition with slight variations

If that's how you're writing tests then you're writing them wrong. You have the wrong level of abstraction. Abstraction is not a dirty word. It solves these problems. Maybe juniors don't understand that abstraction and fuck it up while learning but making abstraction a dirty word is throwing the baby out with the bath water.

> Eventually everyone starts copy-pasting crap

Which is a horrendous way to write code.
by def-pri-pub | 2026-03-11 18:17:09+00:00
You'd be surprised how it actually is worth the effort, even just a 1% improvement. If you have the time, this is a great talk to listen to: https://www.youtube.com/watch?v=kPR8h4-qZdk

For a little toy ray tracer, it is pretty measly. But for a larger corporation (with a professional project) a 4% speed improvement can mean MASSIVE cost savings.

Some of these tiny improvements can also have a cascading effect. Imagining finding a +4%, a +2% somewhere else, +3% in neighboring code, and a bunch of +1%s here and there. Eventually you'll have built up something that is 15-20% faster. Down the road you'll come across those optimizations which can yield the big results too (e.g. the +25%).
by saghm | 2026-03-11 18:17:09+00:00
> Because for example if a browser changes the type of something that happens to be unused, or removes something that happens to be unused, it only breaks actual users at time of use, not potential users at time of load.

I don't understand this objection. If you compile code that doesn't call a function, and then put that artifact on a server and send it to a browser, how is it broken when that function is removed?
by yjftsjthsd-h | 2026-03-11 18:17:47+00:00
Forgive my ignorance, this isn't my strong suit. Am I correct in understanding that this is mostly a simulation layer for the actual physical network, but that you're mostly(?) running off-the-shelf software on top? So this is running the same software that you'd use for a real ISP network, just without having to actually provision all the hardare? Or is part of the actual network management custom as well?
by scottlamb | 2026-03-11 18:17:50+00:00
Probably for ints unconditionally. For floats in Sesse__'s example without `-ffast-math`, I count 10 muls, 2 muladds, 1 add. With `-ffast-math`, 1 mul, 3 muladds. <https://godbolt.org/z/dPrbfjzEx>
by pier25 | 2026-03-11 18:18:24+00:00
For a couple of days I had a Surface Book 1 before returning it. The keyboard was really good but otherwise just a terrible device and experience.

The touch screen was completely useless. Super laggy and sometimes the pen would still believe it was touching the screen even at like 1cm away. Windows 10 had almost no features for touch based interaction. It was just regular Windows with the same microscopic buttons for mouse.

Plus a ton of display ghosting, GPU glitches, etc.
by WorldMaker | 2026-03-11 18:18:48+00:00
Slower to implement new features, but still implementing them, just makes it the new Firefox. IE's larger problem was how popular it had been before it stopped implementing new features. It was like if Google got bored with Chrome and decided to stop all funding on it. People would be stuck on Chrome for years after that investment stopped because of all the Chrome-specific things built around it (Electron, Puppeteer, Selenium, etc and so forth).

Right now the world needs a lot more Safari and Firefox users complaining about Chrome-only sites and tools than it does people complaining about Safari "holding the web back". Safari's problems are temporary. Chrome is the new Emperor and IE wasn't bad because it stopped, it was bad because it stopped after being the Emperor for some time. People remember how bad the time was after the Empire crumbled, but it's how IE took so many other things down with it that it is easier to remember the interregnum after IE crumbled than to remember the heyday when "IE-only websites are good enough for business" sounded like a good idea and not a cautionary tale.
by bilbo0s | 2026-03-11 18:18:59+00:00
He's trying to prevent poor people from voting.

Requiring poor people to pay a hefty fee, which they probably don't have, to get a passport seems a fairly competent way to go about making sure poor people don't vote to me.

If I don't want poor people voting, then attaching a fee to voting doesn't mean I'm incompetent. It means I'm smart enough to know poor people don't have money.

By the way, I think all of this is horrible. Everyone should be equal before the law and should have their vote count without having to pay for that right. I'm just pointing out that this is a really good way to eliminate the vote of the poor.
by xienze | 2026-03-11 18:19:52+00:00
> safe on-ramp to OpenClaw

IMO I don't think the "OpenClaw has root access to your machine" angle is the thing you should worry that much about. You can put your OpenClaw on a VM, behind a firewall and three VPNs but if it's got your Google, AWS, GitHub, etc. credentials you've still got a lot to worry about. And honestly, I think malicious actors are much more interested in those credentials than wiping out your machine.

I'm honestly kind of surprised everyone neglects to think about that aspect and is instead more concerned with "what if it can delete my files."
by irishcoffee | 2026-03-11 18:19:59+00:00
> When I read something in a textbook I blindly believe it, depending on the broader context and the textbook in question. Is that a bad thing?

It is if what you read is factually incorrect, yes.

For example, I have read in a textbook that the tongue has very specific regions for taste. This is patently false.

> Keep in mind that research scientists need to keep abreast of far more developments than any human could possibly study in detail. Also that 50% of people are below average at their job.

So, we should probably just discount half of what we read from research scientists as "bad at their job" and not pay much attention to it? Which half? Why are you defending corruption?
by skeledrew | 2026-03-11 18:20:05+00:00
The only way an account accessed by a magic link can be compromised is by an already compromised associated email. No password in clipboard, which is how some of us still do it, etc. The magic link makes everyone secure regardless of how they store their secrets.

And there's also no password stash if the server were to be hacked, which means no sending out "please update your password" emails and the like.
by ajstars | 2026-03-11 18:20:08+00:00
Happy to answer questions on any of the technical decisions.

The one I'm most uncertain about: whether SQLite WAL is the right store for memory at this scale, or if a proper vector DB starts making sense once you have thousands of chunks. Right now retrieval is keyword-scored, not semantic — fast, but misses synonyms and paraphrased queries.

If anyone has run into this tradeoff, I'd love to hear how you approached it.

GitHub: https://github.com/ajstars1/agent-os
by alexbuiko | 2026-03-11 18:20:20+00:00
Focusing on 'Cost per Outcome' rather than 'Cost per Token' is a vital shift for AI reliability. At SDAG [https://github.com/alexbuiko-sketch/SDAG-Standard], we’ve been looking at the same problem from the opposite end of the stack: the hardware-inference interface.

In a distributed system using OpenTelemetry, a 'successful outcome' often hides a lot of silent technical debt. If an event requires 4 retries, it’s not just a billing issue—it’s a signal of high routing entropy. We’ve found that failed attempts or long CoT (Chain of Thought) loops often correlate with specific hardware stress patterns and memory controller 'redlining.'

Integrating SDAG signals into something like your event_id tracking could be powerful. It would allow teams to see not just how much a success cost, but whether the 'path to success' was physically efficient or if it was stressing the cluster due to poor routing logic. Have you considered adding hardware-level telemetry (like jitter or entropy metrics) to your outcome tracking to predict which 'runs' are likely to fail before they even finish?"
by palmotea | 2026-03-11 18:20:25+00:00
> Software engineers are laborers. If you're a capital owner, a laborer is something that weights down your returns.

> It's not rocket science.

It's far above the heads of many supposedly "smart" software engineers, who looked at their high salaries and 401ks, forgot they were disposable laborers, and confused themselves for capitalist tycoons.

Drop the libertarianism and form a labor union before it's too late. You're not smart if you're parroting your boss's talking points like an idiot.
by def-pri-pub | 2026-03-11 18:20:25+00:00
When I was working on this project, I was trying to restrict myself to the architecture of the original Ray Tracing in One Weekend book series. I am aware that things are not as SIMD friendly and that becomes a major bottle neck. While I am confident that an architectural change could yield a massive performance boost, it's something I don't want to spend my time on.

I think it's also more fun sometimes to take existing systems and to try to optimize them given whatever constraints exist. I've had to do that a lot in my day job already.
by kanbara | 2026-03-11 18:20:28+00:00
i don’t think that requiring in-person “ID”-proofed voting and removing mail-in ballots (which is the best part of voting in CA) does anything to bring people back to reality…

Even if it were a holiday, people may not be able to travel or take time off from obligations. There’s no obligation to drive 2 hours to vote, to fly back if you work in another country, or to go get a new birth certificate because Real ID doesn’t prove citizenship even though you provide citizenship documents to it when you get one…

I’ve heard of a lot of takes here about what we should do for voting to make it “more secure” but all of this is actually a solution for a problem we just don’t have.
by edgolub | 2026-03-11 18:20:59+00:00
The next generation on humans growing up with TikTok autogenerated AI videos written by ChatGPT, generated by Sora and uploaded to the web using OpenClaw or whatever automation tool you wrote using Claude Code.

There are literally people running bots creating such shortform videos as we speak.

And there are millions of kids (and adults) scrolling those same videos as you reading this.

Let that sink in.
by whilenot-dev | 2026-03-11 18:21:00+00:00
I bought my last Acer around 2010 (Aspire 4820TG I think, good machine). Their notebooks were always on the cheaper side, where its price just sat right with the offered value. Cooling issues were always present and weren't a big problem as long as the machine was maintainable. Unfortunately maintainability in notebooks (and electronics in general) all changed around 2015-ish and from there on it was used ThinkPads only for me.
by kentonv | 2026-03-11 18:21:56+00:00
Cloudflare crawl respects robots.txt. It does not attempt to bypass any anti-crawling measures. If the site doesn't want to be crawled -- whether it uses Cloudflare or not -- this product will not help you crawl it.

Some sites actually want crawlers -- e.g. sites that are selling a product, documentation, etc. That's what this product is meant for.

https://x.com/CloudflareDev/status/2031745285517455615

(Disclosure: I work for Cloudflare but not on this product.)
by shubhamintech | 2026-03-11 18:22:25+00:00
Hard limits are a good first layer but they don't tell you why the agent is looping. Retrying because it's confused, retrying because a dependency is flaky, and genuine planning loops are three different problems with different fixes. What helped us was logging the agent's intent at each step, and if it's asking the same underlying question three times in different syntax, that's the signal to bail early rather than burning through your iteration budget.
by sailfast | 2026-03-11 18:22:46+00:00
What I don't see in this article that should be explicit:

If your data is in this database, it's gone. Other people have it. Your sensitive data that you handed over to their teams has vanished in a puff of smoke. You should probably ask if your data was part of the leak.

Fail to see how a state actor would not have come across this already.
by tinodb | 2026-03-11 18:22:49+00:00
It certainly isn’t. It is more a way of discovery on how to implement something, with the benefit of being able to safely (and thus easily) change it later.

The 99 Bottles book by Sandi Metz [0] is a good short display of how it works and where it helps actually building maintainable software

[0] https://sandimetz.com/99bottles