Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Cloudflare Quick Tunnels(cloudflare.com ↗)
    102comments
  2. An Empirical Study of Harness Design for Coding Agents(arxiv.org ↗)
    35comments
  3. North Korean nuclear test sets off years of earthquakes(science.org ↗)
    64comments
  4. Show HN: Microsoft Office running with Wine on Linux with no virtualization(github.com/tombert ↗)
    35comments
  5. I vibed a proof of Conway's conjecture(overreacted.io ↗)
    94comments
  6. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    14comments
  7. C++26: Trivial infinite loops are no longer undefined behaviour(sandordargo.com ↗)
    87comments
  8. OpenJev(openjev.com ↗)
    202comments
  9. There's no point at which turning your brain off will work(danluu.com ↗)
    discuss
  10. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    discuss
  11. Mathematicians Build Long-Awaited Graph Sandwich(quantamagazine.org ↗)
    3comments
  12. GrassLobster: AI Agentic Generation of Parametric Geometry Workflows(miro.vision ↗)
    3comments
  13. US Treasuries Have Become Unappetizing for Foreign Central Banks and Governments(wolfstreet.com ↗)
    39comments
  14. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    177comments
  15. I don't like passkeys(hawksley.dev ↗)
    500comments
  16. Cekura (YC F24) Is Hiring(ycombinator.com ↗)
    discuss
  17. The Shadows Lurking in the Equations – Underwater Islands(gods.art ↗)
    9comments
  18. Jemalloc 5.4.0(github.com/jemalloc ↗)
    72comments
  19. NATS publishes preliminary report on technical incident of 8 September(nats.aero ↗)
    23comments
  20. The scourge of x86 emulation(fex-emu.com ↗)
    67comments
  21. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    175comments
  22. Warren Buffett Steps Down as Berkshire Chairman, Names Son to Replace Him(nytimes.com ↗)
    149comments
  23. BeanShell3 in Development(beanshell.github.io ↗)
    10comments
  24. Build Faster Feedback Loops Using Qualitative User Research(nseldeib.com ↗)
    discuss
  25. Qwen 3.8 Omni Flash(qwen.ai ↗)
    115comments
  26. Second Circuit Allows Government to Search Electronic Devices at the Border(knightcolumbia.org ↗)
    32comments
  27. Show HN: Scry, programmable internet search w/ congestion pricing(scry.io ↗)
    2comments
  28. How to Write with an LLM(sockpuppet.org ↗)
    190comments
  29. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    615comments
  30. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    60comments

Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash

30 pointsby 17h agocactuscompute.com
12 comments
Hey HN, Henry from Cactus here.

We submitted Needle 2 here a few weeks ago, and the feedback in the discussion thread was incredibly valuable, thanks! Thanks to all that feedback, we’ve been able to move quickly to release Needle 3 and I'd love to hear what you think again.

The key features:

1) Automation (tool calls & structured JSON output): Needle still doesn't chat by design, its quite challenging to pack general capacity into such small models, so we focus on tool calls and structured JSON. If no tool you declared fits the request, you get an empty list back (note for when playing with the demo).

2) Intelligence Laddering: Every layer (2 to 20) is a deployable subnetwork, so one set of weights, 25 to 121 million parameters at 2-bit, shipping as 8-29MB binaries. On a Raspberry Pi 5 it decodes at up to 4k tokens/sec and prefills at up to 10k.

3) Monarch Hadamard MLP: replaces the dense FFN with three learnable Walsh-Hadamard-initialized Kronecker (Monarch) factor pairs interleaved with per-channel diagonal scales, fixed permutations, a SiLU nonlinearity, and a rank-8 input-conditioned gate, so each token gets a fully mixed nonlinear transform of its d_model channels at O(d√d) parameters and compute instead of the O(d²) a dense 4x-expansion MLP would cost.

4) Performance: On Mobile Actions (phone commands, scored on the exact call) the 20-layer model gets 86.0 through the shipped 2-bit binary; LFM2.5 1.2B is at 82.4, Qwen3.5 0.8B at 76.0, Apple's on-device model at 57.6, all at f16. More results on the link, we do not win everywhere ofc.

5) Multilingual: Needle 3 now supports English, French, Spanish, German, Dutch, Italian, Polish, with more languages coming.

6) Finetuning: You can achieve DeepSeek v4 Flash grade performance on a narrow task with just 4L, stress on "narrow task", we found that production users often prefer tuning before production.

7) Triggers: Grounding is a common challenge for tool call, at least for Needle 2, so we added support case-insensitive regular expressions matched against each request to gate false negatives.

8) Confidence: Every response also carries a calibrated confidence score, the minimum of a judgement on the finished call and its decode probability. Act above your threshold, show the call and ask below it, or escalate to a bigger model.

9) Supported Platforms: macOS, Linux on x86-64, ARM64, ARMv7, RISC-V and MIPS32, Windows x64 and ARM, Android, iOS, watchOS, tvOS, the browser as WebAssembly, and a WASI component.

Thanks for reading and as always, thoughts appreciated!

41m agoHN ↗

None of the queries I asked worked:

- "more light"

- "less light"

- "both doors should be locked"

- "if blinds are open, open back door"

36m agoHN ↗

thanks for this actually, so the demo is a preset, you can edit tools descriptions and add available tools the way you want, else Needle heavily guards against false negatives, users asked for this. For this, we will update presets on our end.

34m agoHN ↗

My thought, the growing number of dubious claims that a tiny model beats LLMs will make any useful innovation be overlooked.

What's more important than the resource requirements is to highlight what the model simply cannot even attempt to do that general LLMs do decently well.

In other words, tell me the anti use case clearly so that I don't have to find out myself.

17m agoHN ↗

Strong point! Needle is a task-specific model and bullet 6 stressed that it is only trained to be good on a set of narrow tasks, but I guess it could be clearer?

17m agoHN ↗

Apart from fictional use cases, what is the real use case here? The pricing on some open models are absurdly low for generic tasks. For the privacy conscious it makes sense to run something like a 8-27B on local network and get the work done.

Are there perhaps some industrial or agri use cases?

9m agoHN ↗

Fair, we gotta do a better job at explaining this properly!

So an 8-27B on a LAN box wins for generic tasks on hardware that can hold it. Needle is for hardware that can't, like plain ARMv7, MIPS32 (the Ingenic chips in cheap IP cameras), RISC-V and watches. Also, we found cost to not really be the lever for on-device models, but availability and latency.

16m agoHN ↗

Wondered if it'd turn on the lights in the bathroom with these:

"I need a wee" -> tries to play music because "wee" is a genre

"I need a wee wee" -> starts the vaccuum in the bathroom

"I'm going to the toilet" -> says it'll turn on the toilet, and I'm not totally sure what that entails.

"I'm going to the toilet and can't see" -> reasons that lights should be on in the bathroom, then chooses again to turn on the toilet.

"I'm going to the toilet and can't see where I'm going" -> reasoning is "'going to the toilet' -> control_device with device 'coffee maker' (toilet implies coffee maker)"

"I'm going to the toilet and can't see where I'm going because it is too dark" -> "'dark' -> direction 'dark'; adjust_lights with brightness 100 for darker light"" and chooses to turn the lights in the living room to "dark" which fails.

At this point the vacuum is in a dark bathroom, the living room is 100% brightness and playing "wee". At least there's coffee.

5m agoHN ↗

thanks for these haha, you can actually edit the tools and/or their descriptions, the demo is just a "get started" preset. But still we do have room for reasoning improvement!

14m agoHN ↗

I have an idea for a use case for this, and I'm wondering if you think it makes sense or if you have any thoughts on the approach.

I'm a big fan of OpenStreetMap, and I enjoy editing it from my computer. From my phone, I find it quite tedious trying to make sure I type in the phone number exactly correctly and double-check it, or find and select the right field from the large list of fields available in Upredor.

Generally, how it works is I see a restaurant, and there's a sign. I know that it says, "Cash only. Here's the phone number. Here's the opening hours." What would be really cool is if I could just speak to the phone and say, "Hey, here's the information about this place." It would automatically use your location to detect what places are nearby and maybe even detect which place you're talking about, and then tell you, "Okay, here are the changes I think you're proposing to make, or these things you stated are the ones that would create a diff." This would be limited to just perhaps the 20 most common keys in some predefined set of values for most of them. Like cuisine=x should just match to the most common not make up new ones.

Of course, this is something a large language model could do, but having it run on device would be a lot nicer and cheaper.

14m agoHN ↗

Why are you out here swinging against DeepSeek V4 Flash? Jev is your opponent here.

3m agoHN ↗

True! We finished Needle 3 before Jev launched. Also, we are merely chasing one DeepSeek v4 Flash capacity with a small model, DeepSeek models are really good.

3m agoHN ↗

"turn all the lights on/off" and "it's too dark in the bathroom" worked for me, but anything less direct didn't. "it's too cold" actually made it turn the thermostat down ("it's cold" made it... turn the lights down?)! Although the confidence on the bad responses was pretty low, so it might be worth adding a threshold to the demo.