MurphyA/hacker-news huggingface dataset:
by ijk | 2025-06-04 16:07:38+00:00
Just on a practical level, adding a way for the LLM to bail if can detect that things are going wrong saves a lot of trouble. Especially if you are constraining the inference. You still get some false negatives and false positives, of course, but giving the option to say "something else" and explain can save you a lot of headaches when you accidentally send it down the wrong path entirely.
by jgrahamc | 2025-06-04 16:08:09+00:00
I wish it was possible to find the parody ads that Microsoft made of these. I saw them at Redmond at the time and I believe Microsoft got Tom Selleck (or someone who sounded like him) to narrate the parodies. The one I most remember is a woman walking along a lovely beach in the surf. She was wearing a big straw hat and the voice over said "Have you ever received a fax in your hat?" followed by a close up of a fax appearing from her hat.
by datavirtue | 2025-06-04 16:08:09+00:00
I'm hot off fighting one of these bot nets. They automatically adapted and spread the calls over a ridiculous number of IPs and all had good JA4 fingerprints at Cloudflare (compromised or nurtured "users"). Gave us nothing to block. We started targeting high count JA4s and blocking those temporarily. This would usually cause them to stop automatically.

Very sophisticated LLM-enabled rented mafia bot net. They crafted attacks of various approaches as we turned up the heat.

In the end we refactored our entire authentication flow. We had a lot of Anon endpoints and ones that would validate card numbers etc from past misguided product and management decisions.

In the end we had to block a lot of legitimate traffic at times.

Reducing friction for users reduces friction for scaled bot attacks.
by orangecat | 2025-06-04 16:08:20+00:00
Ok, let's assume we are and always will be in a capitalist hellscape where the only thing that matters is what rich people want. Even in that case, if effective longevity treatments are discovered, they'll still be made widely available because it would be hugely profitable. Obviously the sellers of the treatments would make a fortune, also insurance companies would benefit from reduced medical expenses and corporations would benefit from employees getting chronic diseases less often.
by theSherwood | 2025-06-04 16:08:27+00:00
LLMs have only really been around a handful of years and what they are capable of is shocking. Maybe LLMs hit a wall and plateau. Maybe it's a few years before there's another breakthrough that results in another step-change in capabilities. Maybe not. We can focus on the hype and the fraud and the marketing and all the nonsense, but it's missing the forest for the trees.

We genuinely have seen a shocking increase in reasoning abilities over the course of only a decade from things that aren't human. There may be bumps in the road, but we have very little idea how long this trajectory of capability increases will continue. I don't see any reason to think humans are near the ceiling of what is possible. We are in uncharted territory.
by sobadically | 2025-06-04 16:09:17+00:00
It’s only bad if enough people agree it’s bad. I personally don’t care if old people die since the existing old people refuse to pass better healthcare.

Like Kirk said; let them die. They don’t want to care about themselves, neither do I.

Physics doesn’t care about any of us. Only we do. If we want better healthcare do the political work to make so we can put agency into better healthcare and less agency into Wall Street’s war against line go down we’ve been waging for generations.
by topaz0 | 2025-06-04 16:09:17+00:00
I think you'd be surprised by how many of those deaths would have been preventable by earlier healthcare access. Just medicaid expansion reduced all-cause mortality rates by about 3% on average, compared to non-expansion states. That's all-cause mortality of the whole population, not just among the people on medicaid.

Of course you're right that it would be much more effective to eliminate poverty than to just provide healthcare. For example that would do a lot for the "healthy eating and living" that you mention. But providing healthcare would certainly help.
by ednite | 2025-06-04 16:10:05+00:00
Fair enough, but what happens when those same companies start realizing it’s not just about reduced quality, but also security risks and costly errors? At some point, the savings get wiped out by the consequences.

Do they go back to hiring human expertise then?

I totally agree though, the business mindset of saving a buck often outweighs everything else. I’m actually going through something similar right now with a client being swayed by a so-called “AI expert” just to cut costs. But that’s a whole other story.
by ghuntley | 2025-06-04 16:10:25+00:00
Understanding how to build an agent and how Model Context Protocol works is going to be, by my best guess, the new "what is a linked list and how do you reverse a linked list" interview question in the future. Sure, new abstractions are going to come along, which means that you could perhaps be blissfully unaware about how to do that because there's a higher order function to achieve such things. But for now, we are at the level of C and, like C, it's essential to know what those are and how to work with them.
by Aurornis | 2025-06-04 16:10:28+00:00
> But whenever I hear comments like these, I wonder if isolated peoples or medieval/industrial revolution population have/had a better life then we do.

Medieval life was hard. Hard to an extreme that we can’t really relate to, which has opened the door to a lot of fantasizing about the past being better than the present. We like to imagine the past as a version of the present minus the complexities of modern life that we dislike, but past life was full of difficulties that are entirely foreign to us.

It’s hard to even imagine a life where you were one bad farming season away from a year of starvation, one accidental fall away from a lifetime of total disability, or one little scratch away from an infection that ends your life after a period of untreatable agony.

I also think the average modern person doesn’t really understand the level of work and toil that went into basic survival in those times. Today we see people cite trades jobs as back-breaking labor, but a modern trades job is like a vacation relative to something like subsistence farming
by msgodel | 2025-06-04 16:10:31+00:00
Yup that's trivially easy if you have permissions to use mknod and mount. (and if the file system namespace looks like it normally does all you need is mount.)

Docker is for organizing things for yourself, just like directories are. If you want actual isolation you have to take extra steps.

EDIT: and I feel like I should add those extra steps are exactly what most server software does automatically when it chroots itself. Again docker is really just for organizing things.
by Reubachi | 2025-06-04 16:10:38+00:00
hilariously, this states right to repair law does not include road going or ag vehicles. Ya know, the impotus for this now hijacked initiative.

"tell me the state of washington protects failing US auto manufacturers and shade tree mechanics without saying it".

But hey, at least now I can rest assured knowing that korean smartphones are now going to be a little cheaper to repair in wshington.
by rerdavies | 2025-06-04 16:11:12+00:00
It's an interesting idea. I get it. Although I wonder.... do you really need formal languages anymore now that we have LLMs that can take natural language specifications as input.

I tried running the idea on a programming task I did yesterday. "Create a dialog to edit the contents of THIS data structure." It did actually produce a dialog that worked the first time. Admitedly a very ugly dialog. But all the fields and labels and controls were there in the right order with the right labels, and were all properly bound to props of a react control, that was grudgingly fit for purpose. I suspect I could have corrected some of the layout issues with supplementary prompts. But it worked. I will do it again, with supplementary prompts next time.

Anyway. I next thought about how I would specify the behavior I wanted. The informal specification would be "Open the Looping dialog. Set Start to 1:00, then open the Timebase dialog. Select "Beats", set the tempo to 120, and press the back button. Verify that the Start text edit now contains "30:1" (the same time expressed in bars and beats). Set it to 10:1,press the back button, and verify that the corresponding "Loop" <description of storage for that data omited for clarity> for the currently selected plugin contains 20.0. I can actually see that working (and I plan to see if I can convince an AI to turn that into test code for me).

Any imaginable formal specification for that would be just grim. In fact, I can't imagine a "formal" specification for that. But a natural language specification seems eminently doable. And even if there were such a formal specification, I am 100% positive that I would be using natural language AI prompts to generate the specifications. Which makes me wonder why anyone needs a formal language for that.

And I can't help thinking that "Write test code for the specifications given in the previous prompt" is something I need to try. How to give my AI tooling to get access to UI controls though....
by SkyBelow | 2025-06-04 16:11:21+00:00
I think they were speaking to hallucinations. That is the case of a novel idea, often one that even sounds pretty plausible to a casual observer, but which isn't useful (arguably worse than simply being useless given it can trick people) and one connected only in a superficial way (why it fools the casual observer but the expert realizes it as a hallucination).
by diggan | 2025-06-04 16:11:24+00:00
> Even if I prompt with security as the top priority

LLMs do really poorly with general statements like that, so not sure it's unexpected. If you put "Make sure to make it production worthy", you'll get as many different answers as there are programmers, because not even us human programmers agree what that really means.

Same for "Make sure security is the top priority", most programmers would understand that differently. If you instead spell out exactly what behavior you expect from something like that (so "Make sure there are no XSS's", "Make sure users can't bypass authentication" and so on), you'll get a much higher probability it'll manage to follow those.
by nonameiguess | 2025-06-04 16:11:33+00:00
Similar to the other top-level reply, without perfect foreknowledge, there is no way to know you're "getting it right this time." I dated the person into me and studied what I loved. We got divorced and I ultimately ended up with a person I didn't meet until I was 30. I had to go back to school and change careers later in life because the job prospects sucked for what I loved.

Given I ultimately ended up in a good place anyway, I don't even regret anything. The only thing you can't come back from is death. As long as none of your bad decisions kill you, I don't see much to fret about.
by meltyness | 2025-06-04 16:12:26+00:00
My server got renewal halted. I rolled my own wrapper for certbot. Idk it's just a blog, I'm not that attached. It hit some rock a few months ago, I just retried and manually installed it, and it seems to have perked back up and continued receiving certs. Probably would have been more frustrating if it were a huge fleet but, it wasn't even worth my time to check logs and figure out what precisely happened (cert distributed with a modified that didn't match the ASN.1 expiry? transient issuance failure? issues the same cert? ...who knows.)
by zahlman | 2025-06-04 16:12:38+00:00
> The first reason is that programming is about problem solving, not fiddling with the details of some particular architecture, and ASM is pretty bad at clearly expressing solutions in the language of the problem domain. Instead of programming in the language of the domain, you're busy flipping bits which are an implementation detail.

"How do I use bits to represent concepts in the problem domain?" is the fundamental, original problem of computer science.

And to teach this, you use much simpler problems.

> ... reinforcing the notion that computer science or programming are about computing devices. It is not.

It is, however, about concepts like binary place-value arithmetic, and using numbers (addresses) as a means of indirection, and about using indirection to structure data, and about being able to represent the instructions themselves as data (such that they can be stored somewhere with the same techniques, even if we don't assume a Von Neumann machine), and (putting those two ideas together) about using a number as a way to track a position in the program, and manipulating that number to alter the flow of the program.

In second year university I learned computer organization more or less in parallel with assembly. And eventually we got to the point of seeing - at least in principle - how a basic CPU could be designed, with its basic components - an ALU, instruction decoder, bus etc.

Similarly:

> It is good for an astronomer to be able to operate his telescope well, but he isn't studying telescopes.

The astronomer is, however, studying light. And should therefore have a basic mental model of what a lens is, how lenses relate to light, how they work, and why telescopes need them.
by reverendsteveii | 2025-06-04 16:12:43+00:00
I feel like I ran into a example use case yesterday that really illustrates how I work with AI as a dev. It's a simple db entity, with a field called "parent" that is the id of another entity of the same type. Theoretically there can be any number of parents (though practically w the data we're modeling we don't ever expect more than 3 levels). Classic case for recursion, right? So I whip up a quick method that goes something like

public void getEntityWithParents(List<DBEntity> entityList, String id) { DBEntity entity = dao.getById(id); entityList.add(entity); if (entity.getParent() != null) { getEntityWithParents(entityList, entity.getId()); } }

Because I'm working from a make it work first then make it efficient perspective I realize that I'm making a lot of DB calls there. So I pop open gemini, copy/paste that algorithm and ask it "How can I replace this method with a single call to the database, in postgresql?" and it gives me

WITH RECURSIVE parent_chain AS (SELECT id, name, parent, 0 AS depth FROM table WHERE id = :id UNION ALL SELECT i.id, i.name, i.parent, pc.depth + 1 FROM fam.dx_concept i INNER JOIN parent_chain pc ON i.id = pc.parent) SELECT id, name, parent FROM parent_chain ORDER BY depth;

That might have been a day or two of research, instead it was 5 minutes to come up with a theory and an hour or so writing tests. Gemini saved the day there. But it wasn't able to determine what needed done (minimizing DB calls), only how to do it, and it wasn't able to verify correctness. That's where we'll fit in in all of this: figuring out what to do and then making sure we actually did it.
Ask HN: How do you protect your email address from spam?
by TekMol | 2025-06-04 16:13:00+00:00
I have had a nice email address for a long time and would like to keep it. But the amount of spam I get on it is annoying, over 20 spam mails per day.

Is there a good way to block the spam without it even hitting my laptop?

It seems the main problem is that hosted mail servers accept spam in the first place. Wouldn't it make sense to disallow blacklisted IPs right during the connection phase, so that they can't even send data to me?
by GuB-42 | 2025-06-04 16:13:02+00:00
> The tool, called DevGen.AI, translates code in older languages, such as Perl (released in 1987), into plain English, which developers can then use as a basis for rewriting the code into newer languages like Python.

... (released in 1991). Yes, Perl is much older /s

Both Perl and Python are from the same generation, and both are active and both have their latest release in 2025. It is just that Python is more popular now.

The real reason is that besides losing in popularity, Perl is notoriously difficult to read, and yet has a huge existing code base, so I guess it is a good target for an AI parser.
by tarunkotia | 2025-06-04 16:13:40+00:00
If you have something interesting to say then people will figure a way to understand it. Early in my career I remember coming across “Essential .Net” by Don Box and I don’t think Don Box had a particular audience in mind. He just unwrapped what’s under the hood in Common Language Runtime (CLR). It took me multiple times to really understand “essential .net”.
by thomastjeffery | 2025-06-04 16:13:42+00:00
That's a biased definition, by it's own definition. ;)

Leave out the part about being wrong, and you will have the gist of what I'm saying. Also leave out the identifiable part: bias exists regardless of whether or not it is recognized.

Bias is how we work with subjectivity. When I answer a question, my answer will be specific to my bias. Without that bias, I could not formulate an answer, unless my answer was the one and only objectively correct way to express an answer to that question.

Computer programs are missing the bias feature. Everything written in a computer program is completely and unambiguously defined, all the way down to the language's foundational grammar.

LLMs are designed to introduce the bias feature. The limitation of this approach is that an LLM replaces the entire stack. None of the features of computation we are used to are compatible with an LLM. You can compute logic or bias, not both.
by sherdil2022 | 2025-06-04 16:14:07+00:00
Why do companies still risk doing these kinds of things anymore?

Externally we have some amazing security researchers who look out and dig these things out - and try to hold the companies responsible.

And what is the internal process? Wouldn't these intrusive and privacy violating features (to track users for ex) be captured in design docs, emails, chats, code changes/PRs - and up for discovery? Aren't employees saying anything against these features? What culture are they building? What leadership are they demonstrating? It can't all be about money by any cost damn the users and their privacy/rights, right?
by sargun | 2025-06-04 16:14:10+00:00
Investment gap is what I'd say too. While Rust, Go, Python, etc... have had massive backers that have managed to invest a ton more into things like static analysis, type checking, and developer ergonomics, the Erlang ecosystem hasn't necessarily had the same love, and instead the major users have typically chosen to pivot, or build something outside of the BEAM.
by ignoramous | 2025-06-04 16:14:40+00:00
> Building a profitable business reduces both the problem and the solution space by a huge margin, and if you can find a way to get rid of that, the space opens up.

That's one way to look at it. Usually though, for upstarts, what's paramount is not the profits part, but the risks inherent in working on a solution for a perceived problem (or worse, for customers one is ill-placed to sell to [0]). I like what Seibel recommends: the v1 must solve an acute problem for the customer to pay up [1]. From there, building out a holistic product may put our upstart on path to growth & profitability while simultaneously expanding the scope of the problem space building such a product brings [2].

[0] https://www.michaelseibel.com/blog/users-you-don-t-want

[1] https://news.ycombinator.com/item?id=13109480

[2] https://apenwarr.ca/log/20211024
by aeblyve | 2025-06-04 16:14:52+00:00
In part because the expiry of patents puts a cap on the return on investment private research can get you.

Patents last for about 25 years, but important innovations have returns far into the future, hundreds of years. At that rate, you would very often be better off accumulating interest on capital anyways.

Notwithstanding the nature of scientific progress as an accumulation of smaller experiences (each individually harder to justify with a profit motive).

Indeed, even privately funded research is often openly published, such as the now-famous paper "attention is all you need". There's just not that much to gain from keeping every single thing under wraps. More to gain with openness.
by bluefirebrand | 2025-06-04 16:14:53+00:00
Frankly "some jobs lost" is the worst possible outcome. This is the nightmare scenario for me

If all jobs are lost then our society becomes fundamentally broken and we need to figure out how to elevate the lives of everyone very quickly before it turns into riots and chaos. The thing is that it will be a very clear signal that something has to change, so change is more likely

If no jobs are lost we continue the status quo which is not perfect but is at least relatively sane and tolerable for now and hopefully we can keep working on fixing some of our underlying problems

If some jobs are lost but not all, then we see a further widening of the wealth gap but it is just another muddy signal of a problem that will not be dealt with. This is the "boiling the frog" outcome and I don't want to see what happens when we reach the end of that track.

Unfortunately that seems like the most likely outcome because boiling the frog is the path we've been on for a long time now.
by thih9 | 2025-06-04 16:15:17+00:00
> It's not arrogance, since they're not asserting anything about themself.

But you can be arrogant without referencing yourself directly.

After all, anything you say is implicitly prefixed with “I declare that”.

E.g. one of Feynman’s “most arrogant” statements is said to be: “God was always invented to explain the mystery. God is always invented to explain those things that you do not understand.”[1] - and there’s no direct self reference there.

[1]: https://piggsboson.medium.com/feynmans-most-arrogant-stateme...
by ajross | 2025-06-04 16:15:46+00:00
> Reading this thread leaves me with the impression that most posters advocating learning assembly language have never had to use it in a production environment. It sucks!

It absolutely sucks. But it's not scary. In my world (Zephyr RTOS kernel) I routinely see people go through all kinds of contortions to build abstractions around what are actually pretty straightforward hardware interfaces. Like, here's an interrupt controller with four registers. And here's a C API in the HAL with 28 functions and a bunch of function pointer typedefs and handler mechanics you're supposed to use to talk to it. Stuff like that.

It's really common to see giant abstractions built around things that could literally be two-instruction inline assembly blocks. And the reason is that everyone is scared of "__asm__".
by entropie | 2025-06-04 16:15:50+00:00
Pretty cool! I made something similar for myself. My primary motivation back then was to make a tomboy-like system to link the individual todo lists together. I use #hashtags to group “zettel” and individual zettel also know other zettel that refer to them. What I also find very useful are [ ] and [x] which I use as lists to check off (seems you do that allready).

Screenshot (it is not publicly available): https://i.imgur.com/js9S4wa.png

But the source is: https://github.com/entropie/ha2itat/tree/main/plugins/zettel

Ill dig a bit in your source.
by Aurornis | 2025-06-04 16:16:11+00:00
> where even the cheapest and most proven drugs are exorbitantly expensive?

New, on-patent drugs are expensive.

Most proven, older drugs are actually pretty cheap.

The most commonly prescribed drugs in America like atorvastatin, lisinopril, and levothyroxine are all less than $10 without insurance at your local Walmart or Walgreens.

A lot of people are shocked to learn that most SSRIs and common (unscheduled) psych meds can be had for as little as $4/month cash pay at Walmart. Even insulin (excluding newest patented analogs) is $25/vial cash pay at Walmart. They’re starting to introduce cheap analogs, too, as patents run out.

And that’s my point: All of these medications were once extremely expensive, and now they’re cheap. Being expensive at launch doesn’t mean expensive forever.