MurphyA/hacker-news huggingface dataset:
Show HN: BMP – Fast, Exact Learned Sparse Retrieval for RAG
by amallia | 2025-06-12 21:51:51+00:00
We built BMP, a fast and memory-efficient search engine for learned sparse retrieval — written in Rust and with Python bindings.

It supports exhaustive (non-approximate) search over large collections like MS MARCO, without dropping query terms or pruning the index.

Features:

- Full support for SPLADE, uniCOIL, CSV, and similar models

- No static pruning – keeps full index fidelity

- No term dropping – every token counts

- Runs fast thanks to block-max pruning

- Usable from Python

- Pre-built indexes available from CIFF-Hub: https://github.com/pisa-engine/ciff-hub/

Backed by the paper: Faster Learned Sparse Retrieval with Block-Max Pruning (SIGIR 2024) - https://arxiv.org/pdf/2405.01117

Would love feedback, issues, or contributions!
by dfex | 2025-06-12 21:52:10+00:00
I really wanted to like Stage Manager. I feel like there was something there in terms of window management that hadn't really been done before, but there was just something about it that wasn't quite right - the gestures never seemed intuitive or something, and I'd end up having windows shuffling all over the place whenever I was switching task.

I look forward to seeing the changes ipadOS 26 (with the possible exception of liquid glass)
by al_borland | 2025-06-12 21:53:01+00:00
I think there is another side to this that was briefly mentioned in passing.

When people adopt these identities, it often comes with a community. In an increasingly lonely world, these identities are a fast track to a feeling of belonging. To give up the identity is to give up the community and be cast back out into the wilderness alone.

Since these communities are only held together by these shared identities, they tend to be rigid and fragile… especially online where people are often more one-dimensional.
by tobyhinloopen | 2025-06-12 21:53:12+00:00
One task per session, sometimes split into multiple smaller tasks in the same session if they’re closely related.

Usually it’s like “implement a worker/class/module for x” (which will act as a model) and when it did that successfully (with tests and such) I commit everything and I continue the session building the GUI, since the GUI requires deep knowledge of the thing it just made.

If I tell it to make the GUI and worker at the same time, it will usually be poorly written with logic in the views rather than in a model, and it will be tested through views while I want dedicated tests for the model
by piker | 2025-06-12 21:53:26+00:00
Probably something like: "

[Person] - hope you're well! I wanted to put Tritium on your radar. It's a word processor jacked on steroids built just for transactional lawyers.

From built-in defined term annotation to multi-document search/replace to redlining and much, much more, it will help your team work faster and more effectively on existing Word documents and PDFs. You'll even pick up errors from outside counsel.

Tritium runs on Windows, MacOS and even Linux for your most tech savvy lawyers.

Please let me know if that might be good for your legal team, and I'd love to demo it for you."
by k310 | 2025-06-12 21:54:05+00:00
The administration's strategy is to break laws repeatedly until held accountable.

Laws are merely "suggestions" until and unless they are enforced.

Fascist playbook. See also:

The Fascists’ Playbook [0]

10 Small Steps: Executing the Fascist Playbook [1]

[0] https://www.counterpunch.org/2023/05/08/the-fascists-playboo...

[1] https://www.huffpost.com/entry/10-small-steps-executing-the-...
by keybored | 2025-06-12 21:54:10+00:00
The West supported or instigated (which was it?) a coup against the Iranian government in order to install the authoritarian Shah. When he was overthrown in a revolution in 1979 and replaced with a relatively authoritarian theocratic regime the West/US didn’t like it. It didn’t like it because the revolution was done on behalf of some subset of Iranians; it was no longer a Western puppet. That’s why the US is anti-Iran. End of.
by CamperBob2 | 2025-06-12 21:55:24+00:00
I don't often have LLMs write a lot of code for me, but when I do, I don't mind waiting a couple more minutes for a result that will waste less of my time in debugging when I try to use it.

Also it's useful to have models review code that I wrote -- in some cases years ago -- to uncover old bugs. Current models are generally far too eager to say "Yup! Looks good! You da man!" when there are actually serious flaws in the code they are reviewing. So again, this is a task that justifies use of the most powerful models currently available, and that doesn't have to run in real time.
by edanm | 2025-06-12 21:55:52+00:00
> You’re in a thread arguing that it’s ok for “western governments” to have cyber weapons but not Iran because Iran is morally inferior.

Yes, and the parent's answer to this was "allies of Western governments are also morally inferior". But I never said that allies of Western governments should have cyber weapons, nor did I make any claims on their moral status. Hence parent's comment not addressing anything I said.

> Sophistry is also beneath that level.

I think my argument was clear, but just to reiterate so you don't think I'm engaging in sophistry:

I think Iran's government is morally inferior to Italy's government and to other Western governments, under my value system (a standard Western value system). I think this is blindingly obvious to everyone.

Therefore I think it's worse for Iran to possess cyber weapons than for Western Governments to possess cyber weapons.
by groby_b | 2025-06-12 21:56:20+00:00
It's making the same reasoning mistake that a lot of discussion of the Entscheidungsproblem makes - the problem talks about a generic algorithm to answer for all programs P if they can solve T, for all tasks T, the discussion assumes that you can't decide if P solves T for any P or T.

With that in mind, let's look at the crux of the argument: "If we can't decide if a program P solves a task T, then we certainly can't solve the even harder problem of finding a program P that solves a given task."

That's simply not true. We can decide if a program P solves a task T, for a specific program. Moreover, that means that for large classes of tasks, we actually can throw mud at the wall and see if it sticks - as long as it's decidable if the particular program P solves the particular task T.

And for any problems you can exhaustively test, hey, you really can rely entirely on TDD and hill-climbing the problem space. Hence, bowling scores being easier than Sudoku solvers.

As soon as you leave the (almost) exhaustively testable space, things become harder. And it's worth keeping in mind that TDD originates from a payroll system - something that's more amenable to exhaustive testing ("do all of our employees get the right amount, and did HR/finance stop yelling, and is our CFO not getting jailed for tax evasion") than a systematic approach. (Government plus corporate bureuacracy means that there are absolutely no deep structures to find. It's all about the special cases)

You can still do "TDD" at a higher level. You just need to accept that TDD is simply a primitive form of formally establishing your constraints, and that some constraints are hard to establish purely through testing. But that there exist many formalism to allow you to express higher level constraints.

This is at the core of the Haskell/Rust quip that "once the type checker/borrow checker is quiet, you can be confident the solution works".

Maybe constraint-driven design would've been a better name.
by lo_zamoyski | 2025-06-12 21:56:49+00:00
Exactly. And in the case of "Niemcy" above (which ultimately comes from the proto-Slavic "*němьcь", meaning "mute"), it would be ridiculous to claim that Poles have some kind of colonial relationship with the Germans. If anything, the reverse has been true in history: it was the Germans who engaged in colonial politics toward Poland, including the enactment of cultural policies that were designed to ethnically cleanse and germanize the country.
by m463 | 2025-06-12 21:57:24+00:00
(I know this isn't quite what the article is getting at)

Job titles are important to some people, not to others. I think it's usually insider vs outsider.

To an outsider, "I'm a doctor" sounds impressive/interesting, but less so to someone in the medical profession.

and then, I'm reminded of the sr71 story...

https://www.thesr71blackbird.com/Aircraft/Stories/sr-71-blac...
by sanufar | 2025-06-12 21:57:37+00:00
This looks great! I’m really stoked to see egui being used for the desktop app. While I’m not a lawyer, I was wondering about the potential for external references to cases, i.e doc1 references a case which isn’t present locally, which can then be navigated to via something like “go to definition”. Maybe something like an indexer that crossrefs on a database of legal cases? Do you have any thoughts on some other use cases? The idea of an IDE for lawyers is super cool, can’t wait to see where this goes!
by carlosjobim | 2025-06-12 21:59:34+00:00
It's much more practical for me as a user to use biometric identification to fill in passwords. That means I can have different auto generated passwords for each service, that are impossible to crack. And if one gets leaked, then that's the only password that gets cracked. The security benefits are enormous, and the ease-of-use benefits are enormous.

I haven't seen any service block paste when filling in or making a password for at least the past 8 years. Any such service would instantly lose all their customers with iPhones or other Apple devices. Not good business.
by jvanderbot | 2025-06-12 21:59:40+00:00
"The apple study" is being overblown too, but here it is: https://machinelearning.apple.com/research/illusion-of-think...

The crux is that beyond a bit of complexity the whole house of cards comes tumbling down. This is trivially obvious to any user of LLMs who has trained themselves to use LLMs (or LRMs in this case) to get better results ... the usual "But you're prompting it wrong" answer to any LLM skepticism. Well, that's definitely true! But it's also true that these aren't magical intelligent subservient omniscient creatures, because that would imply that they would learn how to work with you. And before you say "moving goalpost" remember, this is essentially what the world thinks they are being sold.

It can be both breathless hysteria and an amazing piece of revolutionary and useful technology at the same time.

The training set argument is just a fundamental misunderstanding, yes, but you should think about the contrapositive - can an LLM do well on things that are _inside_ its training set? This paper does use examples that are present all over the internet including solutions. Things children can learn to do well. Figure 5 is a good figure to show the collapse in the face of complexity. We've all seen that when tearing through a codebase or trying to "remember" old information.
by sunrunner | 2025-06-12 22:00:48+00:00
Somehow I've never made the connection before until your comment, but perhaps DFW imagined the contents of the video tape as essentially the combination of YouTube Shorts and TikTok, an endless stream of tiny dopamine-spiking sensory inputs.

I always imagined it as a single media item with one theme that itself was so ridiculously compelling that viewers couldn't look away (more like a film, perhaps something analogous with the size of IJ itself), but now imagining that it was a practically-infinite stream of short-form content that you didn't even find truly valuable but were compelled to keep watching anyway makes it seem much scarier.
by kibwen | 2025-06-12 22:00:49+00:00
> This is an effect of the language not having a proper ABI for compiling libraries as dynamically loadable modules

No, this is a design decision of Cargo to default to using project-local cached artifacts rather than caching them at the user or system level. You can configure Cargo to do so if you'd like. The reason it doesn't do this by default is because Cargo gives crates great latitude to configure themselves via compile-time flags, and any difference in flags means you get a different compiled artifact anyway. On top of that, there's the question of what `cargo clean` should do when you have a global cache rather than a local one.
by westoncb | 2025-06-12 22:02:13+00:00
I think the community here would find the methodology behind building this of interest. How all-encompassing "vibe coding" has come to be for "developing software with LLMs" is unfortunate imo. I have experimented with vibe-coding too, but it's a very different thing from the process used here. This tweet from Andrej Karpathy is the best description of how I approach development with LLMs: https://x.com/karpathy/status/1915581920022585597
by b00ty4breakfast | 2025-06-12 22:03:36+00:00
Well, if the thing is truly capable of reason, then we have an obligation to put the kibosh on the entire endeavor because we're using a potentially intelligent entity as slave labor. At best, we're re-inventing factory farming and at worst we're re-inventing chattel slavery. Neither of those situations is something I'm personally ok with allowing to continue
by const_cast | 2025-06-12 22:03:37+00:00
We've gone so far that the promise of a simple scripting language like JS has multiple build and compile steps, and they're taking longer than a god damn C++ compiler.

Who knew that if we just threw Clang in a browser we'd somehow have a more pleasant experience?

On a related note, we use PHP at work. Same fucking problem. It's a scripting language, should be painless no? Wrong. PHP has awful performance characteristics, so we need to generate some code ahead of time. So we have a custom build step that uses Composer. That custom build step is SLOW. Probably because it was created by shitty PHP programmers and not the people who wrote GCC.
by bananapub | 2025-06-12 22:03:54+00:00
It’s not a euphemism - every outage, including the 99.9% that don’t end up on HN gets a postmortem document written about it, which is almost always a fascinating discussion of the technical, cultural and organisational situation that led to an unexpected bad thing happening.

Even a few years ago senior management knew to stay the fuck out except for asking for more info.
by CSSer | 2025-06-12 22:03:58+00:00
It doesn't help that thanks to RLHF, every time a good example of this gains popularity, e.g. "How many Rs are in 'strawberry'?", it's often snuffed out quickly. If I worked at a company with an LLM product, I'd build tooling to look for these kinds of examples in social media or directly in usage data so they can be prioritized for fixes. I don't know how to feel about this.

On the one hand, it's sort of like red teaming. On the other hand, it clearly gives consumers a false sense of ability.
by piker | 2025-06-12 22:04:01+00:00
Yes, they are not incentivized to adopt new technology in their current state. The senior partners don't want to wait around for the eventuality of charging more per hour. That's why Tritium is marked to in-house lawyers for now.

I talked a little about this back in September: https://www.legalinnovators.co.uk/post/legal-innovators-uk-t...
by Fraterkes | 2025-06-12 22:04:14+00:00
The headline as stated is categorically false, buuuut... I think it's pretty salient that a company called "Builder.ai" only had 15 engineers working on actual ai and actually mostly functioned as an outsourcing intermediary for 500-1000 engineers (ie, the builders). When it comes to these viral misunderstandings, you kind of reap what you sow.
by IshKebab | 2025-06-12 22:04:56+00:00
Yeah definitely when you include dependencies. Also I've noticed that when your dependency tree gets above a certain size you end up pulling in every alternative crate for a certain task, because e.g. one of your dependencies uses miniz_oxide and another uses zlib-rs (or whatever).

On the other hand the compile to for most dependencies doesn't matter hugely because they are easy to do in parallel. It's always the last few crates and linking that take half the time.
by lo_zamoyski | 2025-06-12 22:05:24+00:00
Sadly, this kind of illogical and undiscerning paranoia has invaded school curricula and universities as an overreaction to imperialism. It's part of the "hermeneutic of suspicion"; behind everything lurks an insidious evil intent, whether it is self-serving power and a will to dominate others, racism, colonialism, misogyny, or whatever. Those things exist, absolutely, but minds steeped in the hermeneutic of suspicion have one track minds. They read this threat into nearly everything.

Curiously, they don't seem to notice it in the workings of the very hermeneutic itself.
by sunrunner | 2025-06-12 22:06:06+00:00
> A skilled team of five can make content on their own

And a skilled team of one can also make good, creative and unique content by themselves (I'm thinking mostly of the kind of things that end up on YouTube, Nebula, etc.)

> Hollywood is switching to AI rapidly.

I'm curious as to what people think the long term prospect for this really is. If it's true that the number of people involved in the creation of this content goes down then does it get cheaper and more available? Faster to create? But to what end? Who's even paying to engage with it? Presumably not the people that used to work in the production of those things, because they've been displaced by the content generation machines. More and more content will be sold to people that are perhaps less able to afford it.
by PaulHoule | 2025-06-12 22:06:23+00:00
I think you are right that it looks more like a coilgun than the railgun. I hope it can be scaled to the size of the Paris gun because it could be sent in parts and could point high in the sky at the right spot. Enough material could be sent to the earth-moon L1 and L2 points to make a small artificial asteroid, radiation shields, etc.
by duxup | 2025-06-12 22:07:17+00:00
I feel like advertising relies on getting it right "enough" not for everyone and ... they don't care.

Auth and settings people will tell you when it is wrong and that is generally thought of as a problem. Yet advertising doesn't care.

For years Amazon kept showing me women's products. I never once bought any or looked them up but man they were sure I wanted to buy some.

Google thought I was a Nebraska Cornhuskers fan but really I'm a fan of a rival, that's why I had to google a few things about them, but my old google news feed was sure I was a fan... even when they gave me a chance to say "no news about this team" they kept doing it ...
by marcusverus | 2025-06-12 22:07:28+00:00
I can appreciate where you're coming from. Lies and liars piss me off, too. But it's simply a fact that Sicknick was not struck by a fire extinguisher. That claim was published repeatedly by many mainstream outlets (who happily spread all manner of lies in the immediate aftermath of Jan 6) based on "anonymous sources", but yhere is zero evidence that it happened.

[0]https://www.snopes.com/fact-check/brian-sicknick-fire-exting...
by nightpool | 2025-06-12 22:07:41+00:00
Stop paying them, I guess, and find a different audit firm that's more knowledgeable. Just like anything else—you get the level of competence you pay for. (Although I guess there's probably a "sweet spot" at which you can pay less AND get better first-level auditors if you're not looking at the biggest firms that are going to charge the most money and also have the most churn)
by kibwen | 2025-06-12 22:08:11+00:00
All compilers have compilation units, there's not actually much interesting about Rust here other than using the word "crate" as a friendlier term for "compilation unit".

What you may be referring to instead is Cargo's decision to re-use the notion of a crate as the unit of package distribution. I don't think this was necessarily a bad idea (it certainly made things simpler, which matters when you're bootstrapping an ecosystem), but it's true that prevailing best practices since then have led to Rust's ecosystem having comparatively larger compilation units (which itself isn't necessarily a bad thing either; larger compilation units do tend to produce faster code). I would personally like to see Cargo provide a way to decouple the unit of distribution from the unit of compilation, which would give us free parallelism (which currently today rustc needs to tease out via parallel codegen units (and the forthcoming parallel frontend)) and also assuage some of the perpetual hand-wringing about how many crates are in a dependency tree (which is exactly the wrong measure as getting upset about how many source files are in your C program). This would be a fully backwards-compatible change.
by sangeeth96 | 2025-06-12 22:09:09+00:00
Hmm, might be worth reporting if you haven't already. I just tried installing something with IAPs, which usually triggers the prompt. I had the option to use FaceID on my phone. I tried the same on macOS and I had the prompt to use TouchID. I'm on Tahoe beta right now but it worked the same even while on Sequoia. It's once in a blue moon I see the password prompt, not sure exactly what causes it to appear.
by jacobr1 | 2025-06-12 22:09:14+00:00
No, the definitions are very much up for debate, but there is an actual process here. "Reasoning" in this case means having the model not just produce whatever output is requested directly, but also spend some time writing out its thoughts about how to produce that output. Early version of this were just prompt engineering where you ask the model to produce its "chain of thought" or "work step by step" on how to approach the problem. Later this was trained into the model directly with traces on this intermediate thinking, especially for multistep problems, without the need for explicit prompting. And then architecturally these models now have different ways to determine when to stop "reasoning" to skip to generating actual output.

I don't have a strict enough definition to debate if this reasoning is "real" - but from personal experience it certainly appears to be performing something that at least "looks" like inductive thought, and leads to better answers than prior model generations without reasoning/thinking enabled.
by CommenterPerson | 2025-06-12 22:09:22+00:00
A colleague shared her productivity tool: Sticky Notes. She has them on her screen with the more immediate items listed on a sticky on the top right side of her screen. The one on its left has higher level / bigger items, and so on (a decimal system?). Her focus is on clearing out the top right one, and disassembling the higher level ones towards the right.

Postscript: Installing it on my laptop needed going through some IT bureaucracy. And my #1 procrastination creator is filling out forms. Guess they'll just keep paying me the same for less work.
by closewith | 2025-06-12 22:11:21+00:00
Yes, Germany could request that all of the above rename Germany in their respective languages and at least the EU nations would.

This has already happened quite recently as the Netherlands requested that countries moved to translations of Netherlands when referring to their country (as opposed to Holland and translations thereof) and all the EU nations did. This was in 2019.

So if Germany so desired, they could make those requests and they would be honoured. In a few decades, the old names would be as antiquated as Rhodesia, Burma, or Zaire are now.
by dcminter | 2025-06-12 22:11:29+00:00
Define "historical" ...

Anyway I nominate Cliff Stoll who wrote The Cuckoo's Egg and posts here from time to time. Definitely one of my heroes.

https://en.m.wikipedia.org/wiki/The_Cuckoo%27s_Egg_(book)

Also I have one of his Klein bottles And he makes the buying process and paperwork an utter delight.
by zozbot234 | 2025-06-12 22:11:33+00:00
AIUI, "Swift-style" ABI mechanisms are heavily dependent on alloca (dynamically-sized allocations on the stack) which the Rust devs have just proposed backing out of a RFC for (i.e. give up on it as an approved feature for upcoming versions of Rust) because it's too complex to implement, even with existing LLVM support for it.