Top all-time · #7009
Evan Schwartz
Personal blog · emschwartz.me · on HN as emschwartzprogrammingai
Evan Schwartz's personal blog at emschwartz.me covers programming and ai. Since 2024, 11 different Hacker News readers have linked it 36 times, most often “Your Clippy Config Should Be Stricter”. It is still writing: the last post was on 2026-10-06, and you can follow it by feed.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN commenters link Evan Schwartz's posts on Rust async, tokio and Send/Sync bounds, and on using SMT solvers for puzzles. They cite them as support for their own technical points.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Hi 👋, I'm Evan Schwartz. I'm an ideas person, inventor, and software engineer (Rust/Typescript). Currently, I'm working on a personalized content feed called 🐿️ Scour.
Most-linked posts?
- Your Clippy Config Should Be Stricter4 people · 4 mentions · first linked 2026-04-30
- Async Rust can be a pleasure to work with (without `Send and Sync and 'static`)3 people · 3 mentions · first linked 2024-09-04
- Building a fast website with the MASH stack in Rust3 people · 3 mentions · first linked 2025-03-26
- Understanding the BM25 full text search algorithm2 people · 2 mentions · first linked 2024-11-19
- Short-Circuiting Correlated Subqueries in SQLite2 people · 2 mentions · first linked 2025-12-17
- Pinning Down "Future Is Not Send" Errors in Rust2 people · 2 mentions · first linked 2025-02-03
- New Life Hack: Using LLMs and Constraint Solvers for Personal Logistics Tasks2 people · 2 mentions · first linked 2025-05-16
What Hacker News says?
Yes, but async Rust is basically built on tokio's runtime, which is what most the big async libraries depend on, like hyper/axum/tokio etc. And tokio is a thread-per-core work-stealing architecture, which requires Send + Sync bounds everywhere. You can avoid them if you depend on tokio-proper, but it's more icky when building on something like axum, where your application handlers also require these bounds. A good a…
Comment linking /async-rust-can-be-a-pleasure-to-work-with-without-send-sync-static/
on “Zig's New Async I/O”Submitted Understanding the BM25 full text search algorithm as a story · 305 points
HN discussionApparently they're getting very good: https://emschwartz.me/new-life-hack-using-llms-to-generate-c... I try not to use them too much because I want to build the skill of using SMTs directly for now.
Comment linking /new-life-hack-using-llms-to-generate-constraint-solver-programs-for-personal-logistics-tasks/
on “Solving LinkedIn Queens with SMT”Submitted Subtleties of SQLite Indexes as a story · 137 points
HN discussion> It degrades API surfaces to the worst case :Send+Sync+'static because APIs have to be prepared to run on multithreaded executors This isn't true at all. The Send+Sync+'static is basically the limitation of tokio::spawn https://emschwartz.me/async-rust-can-be-a-pleasure-to-work-w... Change the executor, and the bound changes.
Comment linking /async-rust-can-be-a-pleasure-to-work-with-without-send-sync-static/
on “What Async Promised and What It Delivered”Submitted Binary vector embeddings are so cool as a story · 87 points
HN discussionThanks for the write-up! Comprehension debt definitely feels like one of the biggest issues when I'm leaning heavily on coding agents. It might fall into the too-heavy prior art category you mention at the end, but I quite like Superpowers ( https://claude.com/plugins/superpowers and wrote a short review of why I like it: https://emschwartz.me/a-rave-review-of-superpowers-for-claud... ).
Comment linking /a-rave-review-of-superpowers-for-claude-code/
on “The Empty Middle of AI Coding”Submitted Short-Circuiting Correlated Subqueries in SQLite as a story · 22 points
HN discussionYeah that makes sense. I took the optimizations of my hamming distance library to a bit of an insane level. I wrote this about the first round https://emschwartz.me/unnecessary-optimization-in-rust-hammi... The second round brought the best result down to 0.8 nanoseconds per comparison on x86 with SIMD (for a batch of 1000). Separately, I’m a huge fan of your writing about search! It’s been very helpful while I’ve b…
Comment linking /unnecessary-optimization-in-rust-hamming-distances-simd-and-auto-vectorization/
on “Just brute force your embeddings”Submitted Async Rust can be a pleasure to work with (without `Send and Sync and 'static`) as a story · 22 points
HN discussionThis works especially well if your embedding model was trained to perform well with quantized embeddings. Binary + hamming distance = incredibly fast. This post is from 2024 but I wrote about using this technique in https://emschwartz.me/binary-vector-embeddings-are-so-cool/
Comment linking /binary-vector-embeddings-are-so-cool/
on “Just brute force your embeddings”Submitted New Life Hack: Using LLMs and Constraint Solvers for Personal Logistics Tasks as a story · 12 points
HN discussionPick an embedding model that supports binary quantization and then use a SIMD-optimized Hamming Distance function. I'm doing this for Scour and doing about 1.6 billion comparisons per second. https://scour.ing https://emschwartz.me/binary-vector-embeddings-are-so-cool/
Comment linking /binary-vector-embeddings-are-so-cool/
on “Querying 3B Vectors”Submitted Understanding the BM25 full text search algorithm as a story · 12 points
HN discussionThis is exciting work. I especially appreciate that it was trained to support binary quantization (I wrote about how cool binary quantized vector embeddings are in https://emschwartz.me/binary-vector-embeddings-are-so-cool/ )
Comment linking /binary-vector-embeddings-are-so-cool/
on “Pplx-Embed: Embedding Models for Web-Scale Retrieval”Submitted Building a fast website with the MASH stack in Rust as a story · 9 points
HN discussionSubmitted Unnecessary Optimization in Rust: Hamming Distances, SIMD and Auto-Vectorization as a story · 9 points
HN discussionSubmitted Building a fast website with the MASH stack in Rust as a story · 4 points
HN discussionSubmitted Pinning Down "Future Is Not Send" Errors in Rust as a story · 4 points
HN discussionSubmitted Comparing full text search algorithms: BM25, TF-IDF, and Postgres as a story · 4 points
HN discussionSubmitted Understanding Memory Ordering in Rust as a story · 4 points
HN discussionSubmitted Comparing 13 Rust Crates for Extracting Text from HTML as a story · 3 points
HN discussionSubmitted Your Clippy Config Should Be Stricter as a story · 2 points
HN discussionSubmitted A Rave Review of Superpowers (For Claude Code) as a story · 2 points
HN discussionSubmitted Write Transactions Are a Footgun with Rust's SQLx and SQLite as a story · 2 points
HN discussionSubmitted Short-Circuiting Correlated Subqueries in SQLite – Evan Schwartz as a story · 2 points
HN discussionSubmitted Building a fast website with the MASH stack in Rust as a story · 2 points
HN discussionSubmitted Pinning down "Future is not Send" errors in async Rust as a story · 2 points
HN discussionSubmitted Please add prompt caching to Jev-style models as a story · 1 points
HN discussionSubmitted Notes from the AI Coding Transition as a story · 1 points
HN discussion