MurphyA/hacker-news huggingface dataset:
by alnwlsn | 2025-04-09 14:36:21+00:00
One time when I was very young, I was given some paper to draw on. It looked and felt like normal paper, but when you drew on it with a marker, it would swell up under the marker line creating a raised area. Putting a piece in water revealed that it was some sort of ultra compressed sponge, like a thin version of those compacted kitchen sponges you can get.

I realized later that it must have been some sort of "paper for the blind" so that you could draw on it or maybe print on it with an inkjet and be able to feel the surface even if you couldn't see it. Maybe it was just a sponge, but it didn't seem any thicker than normal paper. It's been 20+ years and I've never encountered anything like it since.
by rollcat | 2025-04-09 14:36:23+00:00
I don't think Markdown is the right language to solve these problems. As you've noted, it's not standardised at all, and you'd have to pick an interpreter that everyone could agree on (and that means C).

Markdown also doesn't do semantic references. It does do plain links, you can give them a title; or you can use a default title, so perhaps you could infer the semantics from the context, maybe like:

Use the flag [-R][] to recursively apply to all files and subdirectories. Please refer to [chmod(2)][] for the details.

But that feels like overloading one kind of syntax with so many different meanings. Take HTML as a counterexample, it has <link rel="...">, which fits neatly into the rest of the language.

Why do these semantics matter? Well, you can obviously render roff into HTML and browse the man pages online; also, someone ought to write a simple and smart pager that can follow these references (Emacs doesn't count as simple).

Anything that aims to replace roff should preserve its most important features, have a proper formal spec, and be easy to write a parser for - in super plain dumb C/flex/yacc.
by avastel | 2025-04-09 14:36:53+00:00
Author of the post: bot detection and bot-related topics are often discussed on HN, particularly lately with the increase of AI scrapers trying to scrape protected websites to gather training data for LLMs.

Most of the time, people just recommend using CAPTCHA or implementing rate limiting. In the article, I try to cover the most popular bot detection approaches, such as CAPTCHA, IP-based rate limiting, geo-blocking, and static JS fingerprinting, and discuss their main limits.
by daveguy | 2025-04-09 14:37:03+00:00
I think these rapid feedback tools are great. And I love the idea of having tools show up in context. The only problem is that they seem to get unwieldy after a certain point. The view of all the different tools / libraries that come with it at the end of the presentation shows that. I have seen a few tools like this, and it seems like they would be more popular. Where you make changes in the code and you instantly see the effect. The ability to see diffs on data before and after looks very helpful.

I learned oop with Smalltalk so the syntax and feel aren't a problem.

I think code organization is the biggest weakness of the system. I like to zoom around a codebase in vi.

Very cool concepts though. Do you have a list of these types of development environments? I recall one that was demonstrated on a graphical output and another "next phase" that was working out keeping up with different database sources. I believe it was a different group, but I can't remember the name of that one.

Awesome work, and a field with massive potential. It's an environment that seems to work better than no-code and low-code environments.
by Capricorn2481 | 2025-04-09 14:37:06+00:00
People really ought to read redacted documents to get an idea for how people write with clarity when gender and even number of parties is unknown.

But I'm confused by your sentence regardless of the gender terms. Did they notice the tomatoes in the Garden or in the greenhouse? This is just ambiguous wording in general.

- These are two different sentences, but they're separated with a comma. It should be a period, as it makes no grammatical sense with a comma unless you're trying to make it intentionally confusing.

- You would write "They both went into the greenhouse" if they both entered, or you would write "Y entered the greenhouse and noticed the ripe tomatoes."

- "Before entering the greenhouse, "Y"/"they both" noticed the ripe tomatoes in the Garden."
by ModernMech | 2025-04-09 14:37:19+00:00
> Even the smartest businessmen who donated money to him didn't think this was coming.

At some level being "smart" means having the foresight to predict these things. How smart can you really be if you didn't see this coming? Certainly not amongst the "smartest".

Because it's not like no one predicted it. Yes Trump say contradictory things but it's not at all hard to read the man. People like George Conway have been correctly predicting his moves since 2017, because although Trump is inconsistent in his words, he's actually very consistent in his actions.
by crazygringo | 2025-04-09 14:37:23+00:00
Using AI to improve query performance seems inevitable, kind of how LLM's have made ffmpeg so much more usable.

There are just so many factors that go into writing a query that will be performant, not just basic indexes but joins vs. subqueries, single-column indexes vs. multi-column indexes with various sort orders, etc. And even if you write something that's performant at 1,000 rows in your test database, it falls apart with 1,000,000 rows in production.

But reliable AI that can actually understand all your queries together with the database structure, in order to find performance improvements, feels like it's going to become as helpful on the database side as Copilot etc. is on the regular coding side.
by nhecker | 2025-04-09 14:39:17+00:00
I guess I can't really refute your experience or observations. But, just a single anecdotal point; I use the arena's voting feature quite a bit and I try really hard to vote on the "best" answer. I've got no clue if the majority of the voters put the same level of effort into it or not, but I figure that an honest and rigorous vote is the least I can do in return for a service provided to me free with no obnoxious ads. There's a nonzero incentive to do the right thing, but it's hard to say where it comes from.

As an aside, I like getting two responses from two models that I can compare against one another (and with the primary sources of truth that I know a priori). Not only does that help me sanity-check the responses somewhat, but I get to interact with new models that I wouldn't have otherwise had the opportunity to. Learning new stuff is good, and being earnest is good.

_nick
by zipy124 | 2025-04-09 14:39:28+00:00
Because it is a public company that aims to maximise shareholder value and thus the value of it's stock. Since value is largely evaluated by perception, if you can convince people your product is better than it is, your stock valuation, at least in the short term will be higher.

Hence Tesla saying FSD and robo-taxis are 1 year away, the fusion companies saying fusion is closer than it is etc....

Nvidia, AMD, apple and intel have all been publishing misleading graphs for decades and even under constant criticism they continue to.
by segmondy | 2025-04-09 14:39:34+00:00
Why not? If we line up to race. You can't say why compare v8 to v6 turbo or electric engine. It's a race, the drive train doesn't matter. Who gets to the finish line first?

No one is shopping for GPU by fp8, fp16, fp32, fp64. It's all about cost/performance factor. 8 bits is as good as 32bits, great performance is even been pulled out of 4 bits...
by iteratethis | 2025-04-09 14:39:47+00:00
My utopian vision to combat the threat of China (dependency, war, etc.) is as follow.

We should form a "Super West". Instead of a divorce between the US and EU and others, the exact opposite should happen: an unbreakable union with shared values, investments, legislation and protections.

Such a unified block could then intelligently "tax" China for industries we consider to be strategic. You can't do this without a unified West. Right now the US is pushing its (former) western allies towards China.

I think a unified block with intelligent protections can sustain an advanced West and create conditions where the working class and middle class is not facing an endless race to the bottom.

This block could also address a pressing issue of global capitalism, the formation of untouchable monopolies and billionaires. End tax loopholes and yes, I'll say it: cap billionaires. Increase minimum wages and offer more job protection. A unified regulation rather than individual countries undermining common interests.

I'm sure that these classic progressive values are unpopular on this forum but I genuinely believe that these values created the middle class in the first place. And the middle class is being eroded and the working class is close to dead.

We should not mimic the race to the bottom (which leads to a birth rate 25% of replacement), we should recreate the post war West. A ordinary person should be able to start a family, own a home, etc. If we can't do that, nothing matters.

The way to achieve that is cooperation, strict shared values and regulations and a whole lot of technology.

The West's trajectory where life kept getting better stopped in the 90s. We need to bring it back.
by ryandrake | 2025-04-09 14:40:10+00:00
> If someone said yeah I have another job I will be working the same hours as your job that is totally fair.

Close to zero companies would accept this, even if your performance met standards and you did it in such a way you didn't miss a single meeting. That's why I said if you are open about it they will fire [or not hire] you. It's a double standard.
by whalesalad | 2025-04-09 14:40:11+00:00
Agreed. At the end of the day we are talking about RPC. A named method, with known arguments, over the wire. A simple HTTP request comes to mind. But that would just be too easy. Oh wait, that is what all of these are under the hood. We are so cooked.

from fastmcp import FastMCP mcp = FastMCP("Demo ") @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b

This is an example of fastmcp. Notice anything? Replace 2-3 lines of code and this is a Flask or FastAPI application. Why are we not just going all-in on REST/HATEOAS for these things? My only hunch is that either 1. the people designing/proselytizing these "cutting edge" solutions are simply ignorant to how systems communicate and all the existing methods that exist, or 2. they know full well that this is just existing concepts with a new shiny name but don't care because they want to ride the hype train and take advantage of it.
by pjmlp | 2025-04-09 14:40:20+00:00
Back in the late 90's, during one of the previous AI waves, there was this idea of autonomous agents, where one would communicate by sending code snippets or bytecode if using something like Java, which would trigger tasks on remote agents that would process those requests on their own somehow, and the transmited code snippets would be extensible logic.

As far as I can remember, never really left the research lab, with a few books and papers published on the matter.

Everything old is new again.
by nottorp | 2025-04-09 14:40:51+00:00
> When I started my career I spent a fair bit of time answering questions on Stack Overflow rather than asking questions.

I don't think you can answer SO questions as a hobby any more. I used to do it on my morning coffee but at some point it got full of professional reputation growers that answered everything 30 seconds before it got posted. And when you do find an unanswered question the mods jump on you for giving "teach the man how to fish" answers instead of ready to copy/paste code.
by doright | 2025-04-09 14:40:52+00:00
It's not like TikTok has a 100% chance of hypnotizing you into a zombie that can only spend its waking hours thinking about dancing people and positive vibes. Only a very high chance, depending on how anxious/bored you are, amplified by the hard work of psychology PhDs.

It's so difficult to imagine the mindset of a person who can approach TikTok from a healthy perspective and not need to rely on what used to be called "parental controls" in the past to artificially prevent them from doomscrolling all day. They would just never need to consume advice like this. Surely those people must exist? Who are they?

But when you're slapped with something like C-PTSD from an early age, you aren't afforded the ability to address anxiety effectively. You have to turn to something to soothe your anxiety all the time or it will drive you insane.

If you were to try to go the complete or semi-aesetic route, you have to consider what lies on the other side of doomscrolling when there's just too much anxiety to function correctly: endless hellfire.

I have a hard time believing doomscrolling or needing to restrict screentime at every corner are effective ways to address a completely unrelated inbuilt source of boundless anxiety.
by jodrellblank | 2025-04-09 14:40:53+00:00
I got to writing this Prolog/constraint version which you can try on SWISH by clicking https://swish.swi-prolog.org/p/FYMhJEmj.pl then clicking the blue 'Run' button in the lower right corner.

:-use_module(library(clpfd)). % score/3 has mode ++- and maps % a given answer and a correct answer to a score. score(Given, Correct, Score) :- zcompare(Order, Given, Correct), score_(Order, Score). score_(=, 10). % 10 points if given matches correct, score_(<, 0). % else 0 points score_(>, 0). puzzle(ColinTotal, ColinScores, CorrectAnswers) :- A = 0, % false B = 1, % true length(CorrectAnswers, 10), % ten unknown correct answers, CorrectAnswers ins 0..1, % all either true or false. % compare player answers with correct answers, add their scores. maplist(score, [B,B,A,B,A,B,B,A,B,B], CorrectAnswers, Mary), sum(Mary, #=, 70), maplist(score, [B,A,A,A,B,A,B,A,A,A], CorrectAnswers, Dan), sum(Dan, #=, 50), maplist(score, [B,A,A,A,B,B,B,A,B,A], CorrectAnswers, Lisa), sum(Lisa, #=, 30), maplist(score, [B,B,A,A,A,B,B,A,A,A], CorrectAnswers, ColinScores), sum(ColinScores, #=, ColinTotal).

Then this query:

?- puzzle(ColinTotal, ColinScores, CorrectAnswers).

Solves without a constraint solver search and gives four possible solutions, each giving the same score for Colin which I've aligned by hand for this comment:

ColinTotal = 60, ColinScores = [10, 10, 10, 0, 10, 0, 10, 0, 10, 0], CorrectAnswers = [ 1, 1, 0, 1, 0, 0, 1, 1, 0, 1] ColinTotal = 60, ColinScores = [10, 10, 10, 0, 10, 0, 0, 10, 10, 0], CorrectAnswers = [ 1, 1, 0, 1, 0, 0, 0, 0, 0, 1] ColinTotal = 60, ColinScores = [10, 10, 0, 0, 10, 0, 10, 10, 10, 0], CorrectAnswers = [ 1, 1, 1, 1, 0, 0, 1, 0, 0, 1] ColinTotal = 60, ColinScores = [ 0, 10, 10, 0, 10, 0, 10, 10, 10, 0], CorrectAnswers = [ 0, 1, 0, 1, 0, 0, 1, 0, 0, 1]

Questions 2,4,5,6,9,10 have a fixed correct answer and 1,3,7,8 can vary and the puzzle is still coherent and solvable.
by Rhedox | 2025-04-09 14:41:12+00:00
It actually works really well. Rosetta is fast enough (together with the incredible single thread performance of Apple CPUs).

There are some pain points that Apple could easily fix:

- Add a barrier API that more closely resembles that of Vulkan, which is easier to use and more flexible than both Metal and D3D12. Microsoft also basically copied the Vulkan barrier API in a D3D12 update but no games use that yet. The regular D3D12 barrier API can be implemented very well on top of the Vulkan barrier model but maps poorly to Metal.

- Open source MetalD3D and/or the Metal shader converter.

- Document the Metal shader bytecode format. It has been reverse engineered and it's mostly just LLVM bitcode anyway. Right now some tools like MoltenVK compile to Metal Shading Language (modified C++) which then gets compiled to Apple Intermediate Representation which then gets compiled to something the GPU can work with.

- Add a bunch of other Metal features like strict robustness guarantees (return 0 for out of bounds reads).

- Support optionally making specific folders in the file system case insensitive. The Linux kernel got support for that for Wine.

- Support the weird Windows NT sync edge cases in the kernel. The Linux kernel also recently got support for that for Wine.

- Add an API to Metal to allow mapping Metal buffers at a specific address in memory to help running 32 bit games.

- Add an optional reduced precision mode for x87 in Rosetta. (Turn the software emulated 80 bit floats into proper 64 bit floats).
Show HN: We needed a better way to choose LLMs
by chohchmark | 2025-04-09 14:41:44+00:00
One of our team members — a backend dev — was trying to automate internal tasks using LLMs. He spent 2+ weeks researching, testing, and comparing models. No ML background. Just pure beast mode brute forcing it.

Issue came clear atp: “Which LLM is actually suitable for this task?"

Benchmarks didn’t help. Most are academic, vague, or not intuitive with real tasks.

What we really wanted to know was: “For my specific use case, which model performs best — not in theory, but in practice?” So we built MIOSN. It stands for: Model, Input, Output, Score, Nominate — basically the way we select LLMs. With MIOSN, you: Define your own task (real input/output examples)

Set what matters most (accuracy? cost? JSON validity? speed?)

Run actual generations across multiple LLMs

Evaluate and compare results with structured scoring

It’s like LLM headhunting: you give MIOSN a job, and it shortlists the best candidates. You get a report showing:

Which models perform best overall

Trade-offs (e.g. cheaper but less accurate)

Where each model fails

It’s early and a bit rough — but it’s saved us hours of guesswork and switching between models. We’re sharing in case others are struggling with the same questions.

Would love feedback from anyone working with LLMs in production or already lost in the pool of LLMs to use.
by zurfer | 2025-04-09 14:41:51+00:00
My current understanding:

MCP - exposes prompts, resources and tools to a host, who can do whatever they like

A2A - exposes capability discovery, tasks, collaboration?/chat?, user experience discussions (can we embed an image or or a website?).

High-level it makes sense to agree on these concepts. I just wonder if we really need a fully specified protocol? Can't we just have a set of best practices around API endpoints/functions? Like, imo we could just keep using Rest APIs and have a convention that an agent exposes endpoints like /capabilities, /task_status ...

I have similar thoughts around MCP. We could just have the convention to have an API endpoint called /prompts and keep using rest apis?

Not sure what I am missing.
by extraduder_ire | 2025-04-09 14:42:24+00:00
Does the format for the ID have a check digit in it? Like IBANs and credit card numbers can both be checked offline by an algorithm to tell you that you've made a typo.

From my reading, the system seems like it's intended to be used with a connected device and scanned/copypasted rather than typed or read over the phone.
by neogodless | 2025-04-09 14:42:32+00:00
> the company spent its early years building its core technology and delivering a high-end experience with significantly higher prices than incumbent taxi companies. Eventually, though, the exact same technology was deployed to deliver a lower-priced experience to a significantly broader customer base; said customer base was brought on board at zero marginal cost

Ironically, this was the plan laid out for Tesla early on. Very expensive Roadster, pretty expensive Model S. Make some cash and build a reputation for how good a luxury electric car can be. Then use that cash to go down market.

Of course zero marginal cost does not apply with the Model 3, but they did dramatically lower their own cost-of-materials by the time they released the Model 3, making it profitable at scale.

> The takeaway from that Article isn’t that Uber is a model for the rebirth of American manufacturing; rather it’s that you can leverage demand to fundamentally reshape supply

Anecdotally, I know that Tesla became an aspirational brand, a dream car for many. A status brand. So the demand was there, and if you could get a "dream car" for $35K USD then why wouldn't you?
by fancyfredbot | 2025-04-09 14:43:18+00:00
It's even worse than I thought. El Capitan has 43,808 MI300A APUs. According to AMD each MI300A can do 3922TF of sparse FP8 for a total of 171EF sparse FP8 performance, or 85TF non-sparse.

In other words El Capitan is between 2 and 4 times as fast as one of these pods, yet they claim the pod is 24x faster than El Capitan.
by Rhedox | 2025-04-09 14:43:37+00:00
DXVK does not run on Mac OS. There's a modified version based on an ancient release of DXVK that kinda works on MoltenVK but the D3D9 side never worked.

The D3D9 implementation in DXVK uses a Vulkan binding model trick to improve performance that MoltenVK can't handle.

Besides that, DXVK simply requires modern Vulkan features that MoltenVK doesn't support.
by ryandrake | 2025-04-09 14:44:11+00:00
I think many engineers would highly benefit from doing a 1-2 year stint working on safety-critical embedded software, where there are correctness requirements, and lives are lost if you're wrong or careless. It may not be everyone's bowl of soup, but it would at least expose you to that side of the world and you might learn something from the experience. Perhaps if everyone did this kind of tour of duty, something would rub off, and there would not be so much casual yolo carelessness in the "normal" software world.
by alabastervlog | 2025-04-09 14:44:21+00:00
Founder-CEO of three companies, on the board of another, "advisor" for another startup. On a non-profit board, too.

You notice that they have two "executive assistants" on staff at the 30-person company you're applying to. Gee, I wonder if this "CEO" does any actual work? No, of course they fucking don't. Linkedin post about how they balance work with family despite all this, LOL, it's because all your "jobs" are fake and you have enough money to pay to make all your personal work go away, too. You're a goddamn part-time worker dilettante playing pretend that you're a "hard worker" with amazing time management skills.

Yeah, demands that employees operate under far greater constraints and give more than the near-zero shits about the company than the owner- and executive-classes for way less compensation are totally reasonable and should be respected. /s
by gmuslera | 2025-04-09 14:44:23+00:00
A single word have a lot of meanings, a lot of different styles, a lot of different usages, some of which may not be so explicitly thought about.

The act itself of taking notes, processing whatever info you are receiving into your own words already have a value. Try to put them into context, or with a particular future usage in mind have a value. Writing them thinking on sharing it with someone else have another, different value too. All of that even if they disappear tomorrow.

And if they are not supposed to disappear they have more values too. You can put things there to forget or at least not willingly try to keep in your memory. You can relate them with other information, or add more not so much later. And you can check them much later and see how differ your initial ideas, your mind state, or a particular stage on something with what you have now, or how it developed with time.

As something generic enough, is not good to fix its meaning and usage to some opinionated bucket of what it "should be". And build or facilitate on some particular usage should not go badly against some of the things that make it great.