MurphyA/hacker-news huggingface dataset:
by lukev | 2025-12-29 21:23:55+00:00
Putting AI in the primary loop for optimizing ads (or anything) is risky... because you can only optimize what you have metrics for. Any implicit or unstated values will go ignored.

There was an article going around a few years ago how if you just "optimized" without any constraints, you'd invariably iterate towards just selling porn.

This feels kind of like that.
by azangru | 2025-12-29 21:24:02+00:00
> Why do we code with React?

...is a loaded question, with a complex and nuanced answer. Especially when you continue:

> it's worth paying the React complexity/page-weight tax

All right; then why do we code in React when a smaller alternative, such as Preact, exists, which solves the same problem, but for a much lower page-weight tax?

Why do we code in React when a mechanism to synchronize data with tiny UI fragments through signals exists, as exemplified by Solid?

Why do people use React to code things where data doesn't even change, or changes so little that to sync it with the UI does not present any challenge whatsoever, such as blogs or landing pages?

I don't think the question 'why do we code with React?' has a simple and satisfactory answer anymore. I am sure marketing and educational practices play a large role in it.
by adit_ya1 | 2025-12-29 21:24:23+00:00
Out of curiosity, what's the prioritization of evidence (RTC Metanalysis > RTC > observational ) etc, and what's the end user benefit over a tool like OpenEvidence? You mention that other tools are expensive, slow, or increasingly heavy with pharma ads, but OpenEvidence for now seems to be pretty similiar with offerings, speed, and responses. What's your pitch as to why one should prefer this?
by AndrewKemendo | 2025-12-29 21:24:24+00:00
Every technical person has been complaining about this for the entire history of computer programming

Unless you’re writing literal memory instructions then you’re operating on between 4 and 10 levels of abstraction already as an engineer

It has never been tractable for humans to program a series of switches without incredible number of abstractions

The vast majority of programmers never understood how computers work to begin with
by tempaccount420 | 2025-12-29 21:24:26+00:00
Internet is used to defraud people, to propagandize them, to steal their intellectual property and livelihoods, to systematically deny their health insurance claims, to dangerously misinform them (e.g. illegitimate legal advice or hallucinated mushroom identification ebooks), to drive people to mental health breakdowns via "internet psychosis" and much more. The harm is real and material, and right now is causing unemployment, physical harm, imprisonment, and in some cases death.
by bluedino | 2025-12-29 21:24:27+00:00
> The person kept making the comment that she couldn't see/find the puck and it made it frustrating to watch.

Lifelong hockey fan, I never understood this complaint. I believe it was FOX that did the 'highlight the puck' thing for a few years in the 1990's.

You can't see the ball in American football, either.

But you don't need to. The guy that's running and everyone is trying to tackle? He has the ball. Just like the guy skating across the ice with his stick on the ground? He's got the puck.

When you CAN see the puck/ball, either someone lost control of it, or they're shooting/throwing/passing it.
by bitwize | 2025-12-29 21:24:33+00:00
> XP putting a customer on the team was the best thing in the methodology.

Recently my boss said to me: "Customers want something that WORKS. If you deliver something, and it doesn't work, what's the customer going to think?" The huge drawback to putting a customer on the team is that the customer probably doesn't want to know, let alone be involved with, how the sausage is made. They want a turnkey solution unveiled to them on the delivery date, all ready to go, with no effort on their part.

Generally what you want is a customer proxy in that role, who knows or can articulate what the customer needs better than the customer themselves can. Steve Jobs was a fantastic example of someone who filled this role.
by d_silin | 2025-12-29 21:24:39+00:00
In aviation safety, there is a concept of "Swiss cheese" model, where each successful layer of safety may not be 100% perfect, but has a different set of holes, so overlapping layers create a net gain in safety metrics.

One can treat current LLMs as a layer of "cheese" for any software development or deployment pipeline, so the goal of adding them should be an improvement for a measurable metric (code quality, uptime, development cost, successful transactions, etc).

Of course, one has to understand the chosen LLM behaviour for each specific scenario - are they like Swiss cheese (small numbers of large holes) or more like Havarti cheese (large number of small holes), and treat them accordingly.
by dragontamer | 2025-12-29 21:24:39+00:00
Well, not to be completely dismissive here... It's clearly a prototype project to try and make quadratic probing a thing.

I'm not convinced this methology is better than linear probing (which then can be optimized easily into RobinHood hashes).

The only line I see about linear hashes is:

> Linear jumps (h, h+16, h+32...) caused 42% insert failure rate due to probe sequence overlap. Quadratic jumps spread groups across the table, ensuring all slots are reachable.

Which just seems entirely erroneous to me. How can linear probing fail? Just keep jumping until you find an open spot. As long as there is at least one open spot, you'll find it in O(n) time because you're just scanning the whole table.

Linear probing has a clustering problem. But IIRC modern CPUs have these things called L1 Cache/locality, meaning scanning all those clusters is stupidly fast in practice.
by ericmcer | 2025-12-29 21:24:48+00:00
What? Africa will dominate Silicon Valley using... SSR? lol

Even if SSR somehow was the key to taking over tech scenes in developing nations, it just results in faster initial paint but can often involve more data moving over the wire. I would imagine developing areas are more hamstrung by bad networks than the inability to get a device that can run some JS.
by ACow_Adonis | 2025-12-29 21:24:49+00:00
Ah yes, but that results in two problems.

Firstly a fish without legs objectively does not have legs, but we do not necessarily call it disabled, even though it clearly lacks a facility.

Secondly, the autism spectrum disorders are, as I previously mentioned, not obviously just about deficits of behaviours or functions but also can take in extended and exceptional abilities in some areas and greater sensitivities rather than deficits or lack of an ability, so it is not clear that the entire diagnosis can be defined by deficits or lacking things. The high functioning and Asperger's type diagnosis is not about a universal deficit diagnosis and we do not generally call neuro-typical humans disabled because they lack prodigious activity or interest in math, language, or other subjects, even though that can also objectively be measured and called a deficit.
by observationist | 2025-12-29 21:25:01+00:00
I have so many personal projects that I've started over the years, and then left to wither on the vine. I've been able to complete a dozen or so over the last 2 years, and work on a handful consistently over that same period, using AI heavily, and it's a lot of fun. I can work on the high level ideas, create projects, spitball with various characters and simulations, and it's like having a team of digital minions and henchmen. There is fun to be had, and you can us AI well or poorly, so you can develop your own skills while playing with the systems.

There's still just something magical about speaking with a machine - "put the man's face from the first picture onto the cookie tin in the second picture, make sure he still looks like Santa!" You can have a vague idea or inkling about a thing, throw it at the AI, and you've got a soundingboard to refine your thoughts and chase down intuitions. I totally understand the frustration people are having, but at some point, you gotta put down the old tools and learn to use the new. You're only hurting yourself if you stay angry and frustrated with the new status quo.
by foota | 2025-12-29 21:25:26+00:00
Ehhh. I think if you're trying to show the overall costs of something to someone that conclusion makes sense, but interactive flame graphs are the best way imo to look into things. Especially making use of sandwich views, which allow you to pivot the flame graph around some function to see callers and callees by cost.

Edit: I'll keep this up to share my embarrassment, but I missed entirely that the article was about disk space. I admit I only looked at the pictures haha.
by Sakura-sx | 2025-12-29 21:25:36+00:00
Are you using a proxy? If you aren't that would be concerning, since false positives are way worse than false negatives.

If you are then it means the score is sometimes a bit lower and sometimes a bit higher than 0.1, which is the threshold for getting blocked.

If you want to know the exact score, you can check https://aroma.global.ssl.fastly.net/score

It's set at a low threshold since I want to avoid blocking regular users at all costs, I think the detection can be improved a lot by using more data and not a single division to calculate the score, in this case it's a somewhat simple PoC.

Thanks for taking the time to test it, I really appreciate it!
by mikepurvis | 2025-12-29 21:25:46+00:00
Yes, that was the situation for me exactly, that basically if I lose or break my phone, I obviously have other devices that can access 1Password and my email, but I'm locked out of anything that requires SMS or an authenticator app to 2FA.

Definitely made me feel that at the very least I should be getting a yubikey so that I can have authenticator codes across multiple devices.
by hyperman1 | 2025-12-29 21:25:52+00:00
I assume physical still works. LIDL closed their shop in our neighborhood, so we stopped going unless their paper ads were interesting. Then they decided with a lot of fanfare to go all-in on digital, and as they decided we should want their ads we should install their app. Well, naughty us, we didn't. We simply stopped shopping there completely. A few months later, the paper ads are back (with a lot less fanfare), and no other shop followed their lead, so I assume LIDL was hurting hard.
by roxolotl | 2025-12-29 21:26:00+00:00
Yea 100% it’s not as easy to use. But as far as I’m aware Steam doesn’t provide any guarantee games will keep working and GOG actually has it as a mission statement that, as least those selected as “Good Old Games”, will[0]. Now of course that requires GOG to survive so it’s sorta the same thing like you’re saying.

But I’d argue there is a material difference between “if you try hard you can run an original copy of Doom” and “if business X decided so you can never access those things again”.

0: https://www.gog.com/en/gog-preservation-program
by shepherdjerred | 2025-12-29 21:26:01+00:00
I'm working on a solution [0] for this. My current approach is:

1. Create a new Git worktree

2. Create a Docker container w/ bind mount

3. Provide an interface for easily switching between your active worktrees/containers.

For credentials, I have an HTTP/HTTPS mitm [1] that runs on the host with creds, so there are zero secrets in the container.

The end goal is to be able to manage, say, 5-10 Claude instances at a time. I want something like Claude Code for Web, but self-hosted.

[0]: https://github.com/shepherdjerred/monorepo/tree/main/package...

[1]: https://github.com/shepherdjerred/monorepo/pull/156
by forrestthewoods | 2025-12-29 21:26:02+00:00
Yeah this issue is super obvious and non-controversial.

Uninitialized state is totally fine as an opt-in performance optimization. But having a well defined non-garbage default value should obviously be the default.

Did C fuck that up 50 years ago? Yeah probably. They should have known better even then. But that’s ok. It’s a historical artifact. All languages are full of them. We learn and improve!
by skydhash | 2025-12-29 21:26:59+00:00
Contrary to code generation, all the other examples have one common point which is the main advantage, which is the alignment between your objective and their actions. With a good enough incentive, they may as well be deterministic.

When you order home delivery, you don’t care about by who and how. Only the end result matters. And we’ve ensured that reliability is good enough that failures are accidents, not common occurrence.

Code generation is not reliable enough to have the same quasi deterministic label.
by joefourier | 2025-12-29 21:27:08+00:00
Have you used an LLM specifically trained for tool calling, in Claude Code, Cursor or Aider?

They’re capable of looking up documentation, correcting their errors by compiling and running tests, and when coupled with a linter, hallucinations are a non issue.

I don’t really think it’s possible to dismiss a model that’s been trained with reinforcement learning for both reasoning and tool usage as only doing pattern matching. They’re not at all the same beasts as the old style of LLMs based purely on next token prediction of massive scrapes of web data (with some fine tuning on Q&A pairs and RLHF to pick the best answers).
by publicdebates | 2025-12-29 21:28:00+00:00
To those who are just as confused as me:

Compilers can do whatever they want when they see UB, and accessing an unassigned and unassiganble (file-local) variable is UB, therefore the compiler can just decide that *foo is in fact always 42, or never 42, or sometimes 42, and all would be just as valid options for the compiler.

(I know I'm just restating the parent comment, but I had to think it through several times before understanding it myself, even after reading that.)
by mncharity | 2025-12-29 21:28:22+00:00
Since the page didn't load for me several times, and the title is ambiguous, here's the Abstract: Large language models (LLMs) have recently made vast advances in both generating and analyzing textual data. Technical reports often compare LLMs’ outputs with “human” performance on various tests. Here, we ask, “Which humans?” Much of the existing literature largely ignores the fact that humans are a cultural species with substantial psychological diversity around the globe that is not fully captured by the textual data on which current LLMs have been trained. We show that LLMs’ responses to psychological measures are an outlier compared with large-scale cross-cultural data, and that their performance on cognitive psychological tasks most resembles that of people from Western, Educated, Industrialized, Rich, and Democratic (WEIRD) societies but declines rapidly as we move away from these populations (r = -.70). Ignoring cross-cultural diversity in both human and machine psychology raises numerous scientific and ethical issues. We close by discussing ways to mitigate the WEIRD bias in future generations of generative language models.
by immibis | 2025-12-29 21:28:59+00:00
They're not excusing themselves with "I can say whatever I want to" and "arrests for speech are invalid", are they? - they're not hiding behind free speech. They're excusing themselves with reasons like "You're arresting me for terrorism but I didn't do any terrorism" and "The UK is helping Israel do the next Holocaust, and it's important that we talk about that and hopefully stop doing it"
by ndriscoll | 2025-12-29 21:29:11+00:00
More like

"Fantastic! It's great that you care about what you should feed your children. A bowl of Cinnamon Toast Crunch is a great way to start your kids' day with the energy they need, and it's something they're sure to love! It's also fortified with vitamins to give them the nutrition they need! If you don't have any, I can start a DoorDash order right now."

Or "It's great that you want to find a way to earn some extra money for holiday presents for your family when you don't have anything left over after paying your bills. You're so thoughtful. You're an avid sports fan, so you've got the knowledge to have an edge in sports betting. DraftKings has a $10 credit when you bet your first $15 on tomorrow's game. You're automatically a winner!"

One mustn't forget that propagandists are frequently just straight malicious.
by pessimizer | 2025-12-29 21:29:13+00:00
You seem to have missed the Bill of Rights. Which is odd, because whenever we tell you during online arguments that our rights are guaranteed, you all say that absolute rights are dumb and it's actually more sophisticated and European to not have them.

Not that courts, legislators, and administrations haven't tried and succeeded in abridging them somewhat in any number of different ways for shorter or longer periods, but the text remains, and can always be referred to in the end. They have to abuse the language in order to abridge the Bill of Rights, and eventually that passes the point of absurdity.

No such challenge in Europe. Every "right" is the right to do something unless it is not allowed.
by throw1235435 | 2025-12-29 21:29:25+00:00
Jevons paradox I doubt applies to software sadly for SWE's; or at least not in the way they hope it does. That paradox implies that there are software projects on the shelf that have a decent return on investment (ROI) but aren't taken up because of lack of resources (money, space, production capacity or otherwise). In general unlike physical goods usually the only resource lacking is now money and people which means the only way for more software to be built is lower value projects now stack up.

AI may make low ROI projects more viable now (e.g. internal tooling in a company, or a business website) but in general the high ROI and therefore can justify high salary projects would of been done anyway.
by Aurornis | 2025-12-29 21:29:27+00:00
> Look, I wrote " But the point is that the exact same external library code has a _lower_ cost if called [from C]" and that remains a true statement.

I don't think you've understood the article at all.

The overhead came from the author's own abstractions that were designed to accommodate both the assembly version or the Rust fallback. The assumption was that they take the same types and therefore the abstraction would be zero-cost, but in practice the Rust version had different types and therefore there was extra overhead in the way they were called.

If the author had simply done an extern "C" of the function and called it from Rust there wouldn't be overhead.

> To me, that looks like a high-cost non-abstraction.

The abstractions that caused this probably were not standard Rust library abstractions. The author wrote them as part of the library.

You don't need an abstraction at all to just call C functions from Rust. It's build right into the language.

If you think the problems in this article are a common Rust failure mode, you haven't understood the article at all. The unique method of calling C functions was something the author wrote, not a standard Rust practice.
by ben_w | 2025-12-29 21:29:40+00:00
Alexa never became a good shopping portal because voice interfaces regularly mishear you, so there was always a lot of doubt about what it might be ordering, and also has anyone except the obscenely rich ever gone "yes, the first result, that's always fine, no I will not bother looking at any of the prices on any of the results"? Hence the joke about the reason why Amazon bought Whole Foods being that Bezos said one day "Alexa, buy me something from Whole Foods" and Alexa mishearing it as "Buy Whole Foods".

LLMs are not limited to voice interfaces. You absolutely can use ChatGPT as a search engine if you want to: it does give you results you can compare, telling you about pros and cons of various options, and you can discuss with it what your end-goals are and have it turn a vague idea into a shopping list (that may or may not be complete for your project).

I don't have any reason to think these are the best, ChatGPT is not a storefront and OpenAI does not have a long history as a search engine, but it absolutely can be used this way.
by Verdex | 2025-12-29 21:29:45+00:00
I've worked with a lot of interns, fresh outs from college, overseas lowest bidders, and mediocre engineers who gave up years ago. All over the course of a ~20 year career.

Not once in all that time has anyone PRed and merged my completely unrelated and unfinished branch into main. Except a few weeks ago. By someone who was using the LLM to make PRs.

He didn't understand when I asked him about it and was baffled as to how it happened.

Really annoying, but I got significantly less concerned about the future of human software engineering after that.
by berdon | 2025-12-29 21:29:49+00:00
There is a guaranteed cap on how far LLM based AI models can go. Models improve by being trained on better data. LLMs being used to generate millions of lines of sloppy code will substantially dilute the pool of good training data. Developers moving over to AI based development will cease to grow and learn - producing less novel code.

The massive increase in slop code and loss of innovation in code will establish an unavoidable limit on LLMs.
by imiric | 2025-12-29 21:30:16+00:00
"AI" is the next advertising frontier, no question.

People are throwing themselves to feed you personal data. You no longer have to come up with sneaky ways to collect it, or build out their profile from inferred metadata. Less work for you, more accurate profiling, and less risk getting fined by pesky regulation.

Ad campaigns can be much more personal and targeted. You can push them at just the right moment to optimize the chances of conversion. They can be much more persuasive, since chatbots and assistants are deeply trusted. You can dial the sensitivity knob to make them very subtle, or completely blatant, depending on your urgency and client.

If I as someone outside of this hostile industry can think up these scenarios, the world is not ready for what advertising geniuses are cooking up as we speak.
by Rochus | 2025-12-29 21:30:33+00:00
Sure. Late binding in Smalltalk-80 means that a bytecode method is selected via a hash table per class and the address of the internalized selector string (atom) as a key. In Oberon, procedures are natively compiled, but each module is dynamically loaded; a module can implement a handler for a message and be separately compiled and loaded by name, so again late binding.

If you're interested in the difference between Smalltalk versions, I recommend Ingall's most recent paper: https://dl.acm.org/doi/10.1145/3386335. In contrast to Smalltalk >= 76, ST-72 had no bytecode, but sent tokens (synchronously) to object instances for parsing (which was called "message passing" by its authors).

> If you are doing whole-system development and have control over the entire thing, then it is that simple

The dispatch mechanism and the described duality is the same, whether whole-system or not.

> Kay's view of OO is a matter of "open world" versus "closed world"

Smalltalk was always a "closed world" (you are always in the same image, but code can be compiled on the fly at runtime), and all calls were synchronous. Since the Oberon compiler and system treats each module as a dynamic loadable entity and supports loading by name, it actually supports the "open world" approach. Interestingly, Kay's view is likely best represented in Erlang, where there are true messages sent asynchronously.

> If you're programming every operation with switch statements that select code paths based on objects' type tags

As mentioned, Oberon traverses the "2D matrix" from the other side. Each module may or may not handle a message in a WITH (i.e. switch by type) statement, but modules per se ar dynamic. So the "a priori knowledge" only applies to the message type.