MurphyA/hacker-news huggingface dataset:
Show HN: Bit-packed segmented prime sieve in Rust, 32KB working memory, 0 deps
by whisprer | 2026-02-14 15:08:23+00:00
Started with a hyper-compact C++ bit-packed sieve — months of whittling it down to ~9 lines of raw bit manipulation. One bit per odd number, Brian Kernighan's bit trick for extraction, hardware tzcnt intrinsics. Then I ported it to Rust.

The borrow checker had opinions. You can't .filter() over a bit array (immutable borrow) and .for_each() mutate it simultaneously. Fair enough — explicit loops for the sieve phase, iterators for collection. Same assembly output, provably safe. Along the way I caught two assertion bugs the sieve was too correct to trigger (off-by-one on the 10,001st prime; 499,999 is composite, not prime).

The flat sieve hit a wall at ~10M — the bit array exceeds L1 cache (32KB) and every sieving pass thrashes. So I built a segmented version: bootstrap sieving primes via flat sieve up to √n, then process the full range in 32KB L1-sized segments. One buffer, reused, never leaves cache.

Results (single-threaded, 25 iterations, cross-verified against primal crate):

n=500K: ~440µs, 30KB sieve mem
n=10M: ~10ms, 32KB sieve mem
n=50M: ~52ms, 32KB sieve mem (flat: ~67ms)
n=100M: ~137ms, 32KB sieve mem (flat: ~190ms)

Compared to the primal crate (Rust's best-in-class), raw speed is ~2x behind — primal uses wheel-30 factorisation which skips multiples of 2, 3, and 5. This sieve only skips evens. But memory is where it wins: 187x less sieve working memory than primal at n=50M (32KB vs 6MB), and a tighter result vector from prime-counting pre-allocation.

The target use case is embedded/constrained: ESP32 nodes, Raspberry Pi Zeros, distributed timing networks where every KB matters. It's also a clean reference implementation — one file, zero dependencies, compiles with a single rustc invocation.

Single file. No Cargo. No crates. Just:

rustc -C opt-level=3 -C target-cpu=native primer.rs && ./primer

Code, benchmarks, borrow checker writeup, and a full development narrative are all in the repo.
by hypeatei | 2026-02-14 15:08:25+00:00
> Because it distracts from the point I'm making

No it doesn't. If you're saying Obama did <bad thing> then explaining how the things Trump is doing are related is helpful. In this case, I don't see how them going after Snowden for stealing classified info (to be clear I support what he did) is the same as DHS going after meanies on Reddit for speaking out against ICE. One is using the intelligence apparatus for a plausible national security threat and the other is using them to crush dissent. Very big difference.
by 13pixels | 2026-02-14 15:09:02+00:00
The 'without SEO bias' point is the most interesting part here. We're already seeing users trust LLM synthesis more than direct search precisely because it (theoretically) filters out the affiliate spam.

But aren't we just moving the problem up a layer? Brands are aggressively optimizing for LLM visibility now ('Generative Engine Optimization'). If your framework relies on LLM training data or RAG, it's still downstream of whatever content dominates the web.

Curious if you've seen any 'hallucinated brands' or persistent bias towards certain vendors in your tests across models? e.g. does Gemini favor Google products in your laptop comparison?
by jtrn | 2026-02-14 15:09:16+00:00
I'd push back gently on 'just shut up' as the solution. In my experience, people like you are usually CORRECT about the problem, and the anger and annoyance is well funded. It can be annoyance with the bad architecture, the wasteful meetings, the dysfunctional team dynamics. But you are falling into the same pattern as the author... Where it breaks down is treating 'being right' as the end of the job. Figuring out how to get others to see what you see, that's the actual unsolved problem, and it is more often than not solvable. Giving up on it means real problems stay unfixed, which helps nobody. If you channel the energy into solving what annoys you, in a productive way, you make both your life and your team better.
by 13pixels | 2026-02-14 15:09:28+00:00
Interesting tool. We've been looking at this space (GEO) as well.

One big challenge we've hit is the lack of determinism. Unlike Google where rank #1 is fairly stable, ChatGPT/Gemini answers vary wildly based on user history, location, and random seed.

How do you define a 'rank' in a conversational interface? Is it just frequency of mention over N runs? Or do you try to map 'top' recommendations to positions?
by ghaff | 2026-02-14 15:09:43+00:00
They were pretty good for the budget. (As someone else noted at least a lot were done on Amigas.) I really liked Babylon 5 at the time but there's a lot about it you need to overlook. I recommended it to someone and they told me it was the worst recommendation I ever gave them.

The acting was a mixed bag from very good to pretty wooden. And the whole will it get renewed or won't it situation led to non-optimal organization of the last couple of seasons.
by 13pixels | 2026-02-14 15:09:50+00:00
The 'Vector DB vs Keyword Search' section caught my eye. In your testing for RAG pipelines, where do you draw the line?

We've found keyword search (BM25) often beats semantic search for specific entity names/IDs, while vectors win on concepts. Do you cover hybrid search patterns/re-ranking in the book? That seems to be where most production systems end up.
by HelloMcFly | 2026-02-14 15:10:08+00:00
It is extremely difficult for me to believe that someone watching Babylon 5 as it aired on a typical sized CRT television thought the effects looked "cheap". Hokey? Okay, maybe, that's subjective enough to be non-debatable. But "cheap" in the context of a television show? The shots were so much more dense and dynamic than what Star Trek was doing at the time, which is the obvious comparison.

It's the season one acting that I find the biggest barrier to entry. It settles in by the end mostly, and the acting markedly improves from Season 2 onward though it always retains some of that campy scifi feel.
by nozzlegear | 2026-02-14 15:11:13+00:00
It's not adding more details in this case, it's adding incorrect information. CSS gradients are rasterized once during paint into a bitmap by the browser. Theres no recalculation going on per scroll unless something invalidates the gradient bitmap, and it doesn't matter how many steps the gradient has or how complicated it is.

The real issue is something was causing the container with the gradient to repaint on every scroll.
by jamiegoldstein | 2026-02-14 15:11:58+00:00
We built Dots Network because our friend group kept missing each other in places we all visit — Vermont, Boston, etc. The core idea: share your presence at a city or place level, never your exact coordinates. You control what each audience sees (close friends vs acquaintances). Available on iOS in 50 US cities. Would love feedback from the HN community, especially on the privacy model.
by leephillips | 2026-02-14 15:12:01+00:00
This may be overly pedantic (even more so than your correct comments about numbering harmonics and overtones), but in this case the overtones are not harmonics, which, as you say, are by definition multiples of the fundamental frequency (“harmonic series” is a mathematical term). That’s why gongs are “inharmonic”: they have an overtone series that is not a series of harmonics.
by mpeg | 2026-02-14 15:12:18+00:00
The culture of my home island of Mallorca has a pretty deep link to slings, the ancient Greeks and Carthaginians both named us after our slingers, and later on we became a key Roman foothold in the punic wars partly because of the slingers, who became part of an elite unit of shock troops in the Roman Empire

It was our weapon of choice for defence, protecting us from pirates and would-be conquerors as well as farming, as shepherds used both slings and dogs to herd and protect their animals.

I find it pretty fascinating, I'm also a terrible shot with a sling, you have to try it to really understand how hard it is to aim when swinging a rock at something.
by throwaway150 | 2026-02-14 15:13:05+00:00
>> No blogs or categories were found matching emacs.

> OK then.

Exactly. This is a deeper problem with ooh.directory, that the review process is opaque. They do not explain why something is added or rejected. I do not care much about Emacs itself but I submitted several of my favourite bloggers who write about retrogames, gaming rigs, and custom keyboards. None of them were added. None at all.

I do not think we should be encouraging closed directories like this in the community. I would much rather see a transparent directory where the review process is clear.
by haramiah | 2026-02-14 15:14:11+00:00
It's discussed because it's representative of a broader disagreement. People are rejecting the idea that 'woman' is nothing more than an identity that men can choose to appropriate, and are opposed to having this idea imposed upon society in law and policy.

It's such an unpopular idea for so many different reasons that this has managed to unify some very different groups of people in opposition: feminists, conservatives, disaffected liberals, and many others.
by pmarreck | 2026-02-14 15:14:17+00:00
Apologies, but your information is either outdated from lack of experience with the latest frontier models, or you don't realize the fact that 99.9% of the work you do is not novel in all capacities. Have you only used Copilot, or something? Because that's what it sounds like. Since the performance of the latest models (Opus 4.6 max-effort, gpt-5.3-Codex) is nothing short of astonishing.

Real-world example: Claude isn't familiar with the latest Zig, so I had it write a language guide for 0.15.2 (here: https://gist.github.com/pmarreck/44d95e869036027f9edf332ce9a...) which pointed out all the differences, and that's been extremely helpful in having me not even have to touch a line of code to do the updates.

On top of that, for any Zig dependency I pull in which is written to an earlier version, I have forked it and applied these updates correctly (or it has, under my guidance, really), 100% of the time.

On the off chance that guide is not in its context, it has seen the expected warning or error message, googled it, and done the correct correction 100% of the time. Which is exactly what a human would do.

Let's play the falsifiability game: Find me a real-world example of an upgrade to a newer API from the just-previous-to-that API that a modern LLM will fail to do correctly. Your choice of beer or coffee awaits you if you provide a link to it.
Show HN: Markdown Prism – A Non-Electron Markdown Editor for macOS
by hulryung | 2026-02-14 15:14:21+00:00
Hi HN,

I built a macOS-native Markdown viewer/editor called Markdown Prism.

Website: https://prism.huconn.xyz

GitHub: https://github.com/hulryung/markdown-prism

I originally built this for myself. I wanted a lightweight Markdown viewer on macOS that:

wasn’t Electron-based

rendered GFM properly

supported LaTeX math and Mermaid diagrams

worked fully offline

Most native apps I tried were either minimal but missing key features (math, diagrams), or full-featured but Electron apps. I wanted something in between — native feel, but with the mature JS Markdown ecosystem.

How it works

It’s a hybrid approach:

SwiftUI for the native app shell

WKWebView for rendering

markdown-it, KaTeX, highlight.js, and Mermaid.js bundled locally

So you get native performance and integration (Quick Look, file watching, drag-and-drop), but still benefit from battle-tested JS rendering libraries. Everything is bundled for offline use.

Features

Split-pane editor with live preview (400ms debounce)

GFM (tables, task lists, strikethrough)

LaTeX math via KaTeX

Mermaid diagram support

Syntax highlighting (190+ languages)

Quick Look extension (preview .md in Finder)

Dark mode

File watching for external edits

Install via:

brew install hulryung/tap/markdown-prism

or download the DMG from the website.

It’s free and open source (MIT), macOS 14+.

Would love feedback — especially from people who use Markdown heavily. What’s missing? What would make this your daily Markdown tool?
by true_religion | 2026-02-14 15:14:25+00:00
I'm curious what the point is in calling out obvious edge cases that can be addressed by either the legislation allowing for discretion in enforcement via the FCC or other department, or having the court system directly address this factors?

What's important is agreeing or disagreeing with the spirit of the law, not trying to get a HN comment to give you a bullet-proof wording.
by Philpax | 2026-02-14 15:14:41+00:00
Eh, I've had good luck with porting codebases to newer versions of Bevy by pointing CC to the migration guide, and that is harder to test than a language migration (as much of the changed behaviour would have been at runtime).

I still wouldn't want to deal with that much churn in my language, but I fully believe an agent could handle the majority of, if not all of, the migration between versions.
by sgarland | 2026-02-14 15:15:57+00:00
Of course it’s OK to be paid for your work; I don’t think anyone reasonable is saying otherwise. RMS even has no problem with it [0] (though he does take issue with the term open source, so there’s that).

Here’s my take on “the open source philosophy,” having benefited from it since the 90s. Note, I am not nearly as much of a zealot as RMS, and have no strong opinion on GPL vs BSD style licensing; use whichever meets your needs and future plans.

If I had needed to pay for a Linux distribution as a kid, it’s unlikely I would have been able to explore it.

If I was unable to figure out software behavior by studying its source code, I would have many unanswered questions today, and Debian’s vixie-cron would likely still have an obscure bug [1].

I, like practically all people in the tech industry, owe a great deal to people who have given their time to various projects. Some of those people make a living out of it (Daniel Stenberg, for example), but also still offer their software gratis. Therefore, I feel a moral obligation to do so in return.

0: https://www.gnu.org/philosophy/selling.html

1: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019716
by Etherlord87 | 2026-02-14 15:16:50+00:00
> Reminder that HN is SV centered and therefore everyone and everything is oriented around tribal group think.

Don't such absolute statements (everyone, everything) remind you of religion as well?

> Meta was funded by Thiel, yet most of the people in this thread use their products.

I imagine it might be as true as:

- most people in this thread also using Discord, despite criticizing it and

- most people using Meta criticize its products.

That is, You can use something and criticize it, and it probably happens both with Discord and e.g. Facebook.

> The CCP[…]

I'm happy to see in the political threads there's very often in the very least a significant presence of critique against China and maybe even overwhelming the defenders of the regime.

> I grew up around brainwashed religious zealots. […] moralistic condemnation […] [HN] looks more and more like that every day.

I think it's good religious zealots don't have the monopoly on moralistic condemnation. Just because A is bad, and B has feature x just like A, doesn't mean the feature x is bad.

> Meanwhile, Discord will not have the slightest tiny drop in user numbers, because nobody outside of this moralistic circle jerk cares.

Discord is not going to delete users, and few people care to request their account to be deleted. If Discord asked me to provide ID, I'd probably at least try to resist by not using it and maybe eventually succumb by providing a fake ID - but as far as I know, Discord will just set my account to a teenager mode, so instead of speaking about a drop in user numbers, we should speak about a drop of activity in adult interactions (or interactions/activity in general) on Discord.
by 7bit | 2026-02-14 15:17:12+00:00
And then what? You're looking at a list of hundreds of submissions and why they have been added or not added, which completely defeats the purpose of that website.

I don't get the point of these sites, because it I want a curated list, I visit the front page of hackernews or reddit -- and trust the system.

Ohh.directory I'd the same thing, except for a different selection process.

You either trust it or you don't.
by pbronez | 2026-02-14 15:17:19+00:00
1) this is super interesting

2) the prose is very LLM-flavored, but for once I don’t mind. It’s obvious to me that this blog post only exists because an interesting, intelligent person used an LLM to lower the cost of extracting complex ideas from their brain.

3) the “Fits of Rationality” process sounds a lot like how coding agents work. They’re alive in the moment, then later all they have to work with is the written record of their previous sessions. The Herculean effort to re-implement the result foreshadows the vibe-coding repair industry.
by giancarlostoro | 2026-02-14 15:17:25+00:00
Did I ever said it was helpful or are you just putting words in my mouth? When I was 18 I emptied my bank account to fly my cousins to the US from Venezuela. I was making scraps per hour at the time mind you. But by all means put words in my mouth.

All this goes back before Obama, but my point was that literally the president in charge is irrelevant, they should not have this type of power to bypass the other branches of government, neither should other branches.

Nobody remembers Bush doing anything specific the way we all here remember Lavabit. Lavabit and Snowden were very deeply discussed here on HN.
by dahart | 2026-02-14 15:17:39+00:00
I don’t understand what you mean about shareholders and pro-bono, can you elaborate? Apple advertises Apple products on Apple channels, and Apple’s shareholders love that, and it’s not “pro-bono”.

I don’t think you have the incentives correctly summarized. The incentive of businesses like YouTube, TikTok, Facebook, and Instagram are to make money, and the only way they’ve figured out how to do that at scale is advertising. None of those sites had ads when they started.
by pron | 2026-02-14 15:18:55+00:00
Very much so once you compare it to how quickly C++ (and, in fact, any language that's ever been in the top 5 or so) achieved similar milestones. Rust's adoption is very impressive when you compare it to, say, Haskell or Clojure, but not when you compare it to languages that achieved significant and long-lasting popularity. It's roughly similar to Ada's adoption when it was of a similar age (Ada was more prevalent then than Rust is now in some areas and less so in others). When work on Rust started twenty years ago, Java was younger than Rust is now. It was almost as close in time to the early work on C++ as we are now to the early work on Rust. Larger portions of operating systems were being written in C++ when it was younger than Rust is now.

There's no denying Rust's popularity in open-source CLI dev tools for Python and JS/TS, but when you talk to C/C++ shops who've evaluated Rust and see how many of them end up using it (and to what extent) you see it's not like it's been with languages that ended up achieving real popularity (which includes not only super-popular languages like C, C++, and Java, but also mid-popular languages like Go).
by jandrewrogers | 2026-02-14 15:19:12+00:00
The deep southeast has the advantage of being one of the few regions in the US without a known major earthquake risk. It makes a lot of sense to use concrete there given the other natural hazards.

The closest major earthquake zone is in South Carolina, which had M7+ earthquakes as recently as the late 19th century.

Given how prevalent strong earthquakes are across most of the US, I always wonder if the few areas on the map without a known seismic hazard means we just haven't discovered it yet.
by JetSetIlly | 2026-02-14 15:20:16+00:00
"Okay. If you’re being vague, you get vague results."

No. I was vague and got a concrete suggestion.

I have no issue with people using Claude in an optimal way. The problem is that it's too easy to use in a poor way.

My example was to test my own curiosity about whether these tools live up to the claims that they'll be replacing programmers. On the evidence I've seen I don't believe they will and I don't see how Go is any different to any other language in that regard.

IMO, for tools like Claude to be truly useful, they need to understand their own limitations and refuse to work unless the conditions are correct. As you say, it works best when you tell it precisely what you want. So why doesn't Claude recognise when you're not being precise and refuse to work until you are?

To reiterate, I think coding assistants are great when used in the optimal way.
by devilbunny | 2026-02-14 15:20:26+00:00
I quit using Android ca. 2016 (not because I hated it, had other work-related reasons why) and Swype for iOS was only around for a brief period before Microsoft killed it (and most of the things that made it great).

I never used the much-vaunted tap-only iOS keyboards of the earlier iPhones. I have large hands (the OG Xbox Duke controller was very comfortable) and typing on those small screens always felt painful even though I was so often told it was great.
by solatic | 2026-02-14 15:20:33+00:00
Eh, I'd say that Rust has a different set of footguns. You're correct that you won't run into use-after-free footguns, but Rust doesn't protect you from memory leaks, unsafe code is still unsafe, and the borrow checker and Rust's language complexity are their own kind of footguns.

But I digress. I was thinking of Zig in comparison to C when I wrote that. I don't have a problem conceding that point, but I still believe the overall argument is correct to point to Zig specifically in the case of writing code to optimize a hotpath behind FFI; it is much easier to get to more optimal code and cross-compilation is easier to boot (i.e. to support Darwin/AppleSilicon for dev laptops, and both Linux/x64 and Linux/arm64 for cloud servers).
Ash HN: Info on the 1982 Apple 2 text game Abuse?
by jmount | 2026-02-14 15:20:40+00:00
Does anyone have a source on info for the 1982 Apple 2 video game Abuse? The web/ChatGPT seem to think it never existed. Here is an eBay link to an old disk: https://www.ebay.com/itm/306072842554
Show HN: A System Level DNS Toggling App I Built
by arkaputatunda | 2026-02-14 15:23:27+00:00
Backstory: Since a few months, I caught myself frequently in the settings app to change the DNS settings. Hence I thought of making the settings more accessible through a shortcut.
As a solution for this, I am building Private DNS, an app to quickly toggle between different DNS providers and toggle it on/off whenever needed. I also added a quick settings tile for the app so you can do the same via the quick settings anytime without opening the app.

Can you give me some feedback on the app, about the necessary features for such an app?
by the__alchemist | 2026-02-14 15:23:39+00:00
I appreciate the details!

> Do you mean using egui-wgpu directly rather than through eframe? The default backend of eframe is wgpu (it used to be glow/opengl), and you can still use callbacks to directly render whatever you want with wgpu in an eframe app

I apparently don't know how eframe works... had no idea it used a GPU at all or WGPU under the hood... I assumed it was just the default you use if making a 2d-only program.

Re zed... I think I am too addicted to IDE functionality to be comfortable without. I had assumed Zed could do it, but have now concluded it can't. And/or I can't figure out how to use the LSP features reffed here, or they are well-hidden.