Two Git Ignore Files Nobody Told Me About — Mihai Dinculescu

Git reads ignore patterns from three files, not one. .gitignore is for the team, .git/info/exclude is for your clone, and a global excludes file covers your machine — the two you have never heard of keep a clean working tree without publishing your private filenames.

Added:  · 2 min

I Don't Want the Details — Michael Heap

An SVP cut off the incident explanation with 'I don't want the details' — a declaration of trust rather than a brush-off, and a test of whether a postmortem actually changes anything.

Published:  · Added:  · 5 min

Abandoning Scientific Linux Was a Mistake — Mohamed Elashri

Standardization is not dependency: retiring an independent Enterprise Linux rebuild removed a credible exit that CERN and Fermilab needed three years later.

Published:  · Added:  · 3 min

Delta: Chain Replication Under the Bootstrap Path — Kumar Mrinal & Binbin Lu

Meta's Delta store trades write latency and storage efficiency for a strongly consistent design with no consensus protocol and no leader election.

Published:  · Added:  · 3 min

Side-stepping the Secretary Problem, unwittingly — Aditya Athalye

Two engineers hiring QA programmers broke the Secretary Problem on purpose — keeping the door open to rejected candidates — and got five long-tenured hires out of 300 applicants.

Added:  · 2 min

The JavaScript midlife crisis — Maroun Baydoun

JavaScript has never been more ubiquitous and its toolchain has never been less written in JavaScript. Maroun Baydoun on what the Rust rewrite buys, and what it quietly costs.

Published:  · Added:  · 2 min

Explaining to Business People Why Building Software Is Still Hard — Anton Zaides

Anton Zaides on why software resists estimation: the house-renovation analogy for infrastructure, refactoring, and root causes — and why day-two slowdowns are normal.

Published:  · Added:  · 2 min

SAML: A Fractal of Bad Design — Matt Schwager

Trail of Bits argues SAML has earned retirement: canonicalization, enveloped signatures, and kitchen-sink spec design keep producing auth bypasses 25 years in.

Published:  · Added:  · 3 min

Engineering Memory — Gregory Gundersen

Gregory Gundersen memorized 100 digits of pi in a single sitting, not through talent but by turning recall into a system: a person-action-object index, a memory palace, and errors that stay local.

Added:  · 2 min

If AI Coding Is Lowering Your Code Quality, You're Not Managing Quality Right — Iouri Khramtsov

Seven defensive layers — spec review, near-universal unit tests, E2E gates, targeted AI quality passes, dual AI review, production monitoring — that let one team roughly double output without giving up reliability.

Published:  · Added:  · 2 min

How Linear Made CI Faster While Its Test Suite Quadrupled — Mufeez Amjad

CI cost is mostly fixed cost per job — runner boot, checkout, install. Linear cut PR wait below five minutes and halved runner time per test by attacking setup, gates and sharding order, not the tests.

Published:  · Added:  · 2 min

Why Does an npm Math Library Need an Encrypted Loader? — SafeDep

mathmain@1.0.0 hides a remote access implant behind AES-GCM: the decryption password is the LU lower factor of whatever matrix you pass to the solver, so nothing sensitive is greppable in the published code.

Published:  · Added:  · 2 min

I Am Often Wrong — Boris Cherny

Boris Cherny's six-step loop for problems and products, and the two steps where plans actually break: defining the problem, and defining a clear and simple approach to it.

Published:  · Added:  · 2 min

Unpatched libheif and an SSO Flaw: Chaining an Image Upload to Account Takeover — Hacktron AI

A libheif fix that was never marked as a security fix never got backported, so Debian still shipped the bug. Hacktron chained that decoder flaw through a forum image upload into an SSO identity failure, and from there into connected developer accounts.

Published:  · Added:  · 3 min

Alternatives to MinIO for Single-Node Local S3 — Robin Moffatt

MinIO was abandoned by its vendor in late 2025, breaking local S3 emulation in demos and build pipelines. Robin Moffatt tests the replacements with a working DuckDB and Iceberg smoke test, then scores each one on config, licence, and bus factor.

Published:  · Added:  · 2 min

The Most Important Product Decision Is What You Don't Build — Liam Nugent

Ask a team what they shipped and you get a list; ask what they killed and the room goes quiet. Liam Nugent on subtraction neglect, the multi-year running cost of a feature, and why pruning is the best use of agents.

Published:  · Added:  · 2 min

What Sun Got Wrong — Bryan Cantrill

Sun's strategy was working and the company still died. Bryan Cantrill's answer: it had become bored with the mechanics of running a business. Plus what 244 HN commenters added.

Published:  · Added:  · 5 min

Flawed Routers Flood University of Wisconsin Internet Time Server — Dave Plonka

In 2003 a flooded university NTP server turned out not to be an attack: 700,000 Netgear routers had the server's IP hard-coded and retried once per second until they got an answer.

Added:  · 2 min

Telling a Computer to Do Things — Will Keleher

For years Will Keleher could run commands but couldn't make his computer do logic. His case for shell skill: it's 20% syntax and 80% having a toolbox of programs you know well enough to compose.

Published:  · Added:  · 2 min

Size-Specialized Memory Allocation — Michael Matloob

Go 1.27 speeds up allocations of 80 bytes or fewer by 20–30% by generating a specialized allocator per span class — and stopping at 80 bytes because of instruction-cache pressure.

Added:  · 2 min

Taco Bell Programming — Ted Dziuba

Every item on Taco Bell's menu is eight ingredients rearranged. Ted Dziuba's classic essay argues the same trick works with Unix tools — and that functionality is an asset while code is a liability.

Added:  · 2 min

C++26: Trivial infinite loops are no longer undefined behaviour — Sandor Dargo

A `while (true);` halt loop — a standard embedded idiom — was undefined behaviour in C++ until C++26, and Clang would delete it. P2809R3 defines a narrow 'trivial infinite loop' and makes it well-defined.

Published:  · Added:  · 3 min

Nobody pays for open source. We can force them to. — Laurie Voss

Companies already spend over a billion dollars a year on open source — just not on maintainers. Laurie Voss argues the registries should meter corporate use, charge for it, and pass a royalty down the dependency tree.

Added:  · 5 min

ChatGPT Now Knows What You Do on Other Websites via Ad Collector — Buchodi

OpenAI's ad measurement pixel sets a one-year cookie that follows ChatGPT users to 936 advertiser sites, works signed out, and is filed under analytics in the cookie policy. OpenAI would not answer why.

Published:  · Added:  · 7 min

Software Sandboxing: The Basics — Vinícius dos Santos Oliveira

The Emilua author on why Linux namespaces are the wrong tool for software sandboxing, why seccomp is OS hardening rather than privilege dropping, and how the actor model plus file descriptors as capabilities gets the job done.

Added:  · 4 min

CoW Filesystems Under the Workloads Benchmarks Skip — Bartosz Fenski

A 26-configuration loop-device benchmark of ext4, XFS, ZFS, btrfs and bcachefs on the phases usual suites skip: near-full writes, 100k-file directories, snapshot scale, degraded rebuilds and a corruption probe.

Added:  · 3 min

The Senior Engineer Death Spiral — Sunil Pai

Disappearing into a bigger project to prove yourself at a new senior job is the most common failure mode Sunil Pai sees — and the fix is to drop a level, not climb one.

Published:  · Added:  · 2 min

The Case Against JPEG XL — Gianni Rosato

A compression engineer's empirical case that JPEG XL is excellent technology in the wrong place: no lossy edge left over AVIF, slower decode than WebP, and a 1,918-byte file that can burn 17 seconds of CPU.

Added:  · 2 min

What Zig Felt Like, Coming From Rust — besok

Seven years of Rust, then the same RFC 9535 JSONPath library rewritten in Zig: what the flat module layout, hand-enforced allocator discipline, and thin ecosystem actually felt like.

Published:  · Added:  · 2 min

Principles for Fast Tokio Applications — Russell

A practical field guide to async Rust performance: schedule latency, fairness versus batching, the mutex that stalls every worker, and why you rarely need every core for Tokio.

Added:  · 2 min

Reversing Factorio's RNG — Gegell

How one player proved Factorio's random quality rolls are just three linear-feedback shift registers — then read the RNG state and predicted every future roll using nothing but in-game combinators.

Added:  · 2 min

Saving Another 100TB of RAM with Math (and Rust) — Kevin Guthrie, Mariia Iurchenko, Zaidoon Abd Al Hadi & Ivan Babrou

Cloudflare's Pingora backend router was burning up to 6GB of memory per process on consistent-hashing rings. Cutting hash counts by 90% and shrinking one struct reclaimed 100TB of RAM network-wide.

Published:  · Added:  · 2 min

The Scourge of x86 Emulation — FEX-Emu

Emulating x86's Total Store Ordering on ARM's weak memory model costs up to 800x on the worst paths. FEX-Emu walks through the hardware fixes that shipped, and the ones that still have not.

Added:  · 2 min

The Supply Chain Breach That Took Four Months to Surface — Philippe Humeau

The CEO of CrowdSec publishes the full forensics of a source code leak: backdoored npm packages, a live OAuth token sitting in a git remote, and the audit-log gap that nearly hid the root cause.

Published:  · Added:  · 2 min

Science Is Open Software — Jens Egholm Pedersen

A neuromorphic researcher argues that in computational science the software is the result: reproducibility means executable and modifiable, and a paper without code is less scientific.

Published:  · Added:  · 3 min

Understanding Cyclomatic Complexity in C# — NDepend

Cyclomatic complexity counts the independent paths through a method — and the minimum tests it needs. But the score alone is half the picture: risk is complexity times missing coverage times rate of change.

Published:  · Added:  · 3 min

Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug — Antoine Plin

Ledger Donjon used photon-emission microscopy to locate the DEBUGEN register on Raspberry Pi's RP2350, then laser pulses to set it and read an OTP secret that permanent debug-disable was supposed to protect.

Published:  · Added:  · 3 min

The Goose Programming Language: No Heap, No GC, No Lifetimes — Wouter van Oortmerssen

Goose replaces the heap with compiler-assigned data stacks: memory safe with no lifetime annotations or unsafe, with benchmarks claiming to beat idiomatic C++ and safe Rust on both speed and memory.

Added:  · 3 min

I Don't Like Passkeys — Ethan Hawksley

Passkeys solve phishing, the threat enterprises worry about, while raising the risk individuals actually run: permanent lockout, and losing every account when one device, platform account or hardware key goes away.

Published:  · Added:  · 5 min

A One-Millisecond Window Behind the UK's 8 September Airspace Failure — NATS

NATS's preliminary report traces a UK-wide airspace shutdown to a legacy defect in a squawk-code routine: a higher-priority message landed during a one-millisecond window, corrupted flight data — and the system's own self-healing hid it for two and a half hours.

Added:  · 3 min

ZCode Uploads Your Entire Git History, Encrypted With a Key Only Z.ai Holds — ferstar

A developer freeing up disk space found a 313MB encrypted archive of his commercial workspace, repacking itself every time he deleted it — and no setting in the app that turns it off.

Published:  · Added:  · 6 min

Telstra Outage: The Night a Network Decided the Year Was 2006 — Sven-Christian Ebenhag

One GPS card in a Melbourne chassis rebooted with six-year-old firmware, announced November 2006, and became the most authoritative NTP source for Australia's largest mobile network. NTP did exactly what it was built to do.

Added:  · 3 min

Keys Not Included: Recovering the Signing Keys Behind US Driver's License Barcodes — Ryan Fahey

Three states sign the barcode on your driver's license and never published the keys — so Ryan Fahey recovered them from the cards themselves, and found the vendor already ships a verifiable version for California alone.

Added:  · 3 min

My Temporary PHP Fix Has 20M Installs. Today I'm Deprecating It. — Jake A. Smith

Jake A. Smith wrote a 174-line PHP shim in 2014 and expected it to last a year. It has been installed 20 million times — and he is retiring it rather than fixing it or handing it to a stranger.

Added:  · 3 min

A Crash Course in Predicate Logic — Hillel Wayne

Hillel Wayne publishes the logic chapter of Logic for Programmers free: predicates, implication, sets and quantifiers as the bridge from English requirements to code, plus the ability-guarantee tradeoff behind it.

Published:  · Added:  · 3 min

Worse is better: C# versus F# — Mark Seemann

Mark Seemann holds the .NET ecosystem constant to compare C# and F#, concludes F# is better on most axes and least popular — and that compiler-enforced dependency direction is architecture support C# tooling cannot match.

Added:  · 2 min

Backups Aren't Simple — Aleksandar Filipovski

Aleksandar Filipovski starts from a family photo drive that got reformatted and follows the complexity ladder that "just back up my files" turns into — until only Borg, Restic and a tested restore are left standing.

Added:  · 2 min

Doing Everyone Else's Job — Yossi Kreinin

Yossi Kreinin argues that the people who quietly do work someone else was supposed to do are what keeps most organizations from dying — and that the same instinct goes wrong when it becomes duplicate empires and headcount.

Added:  · 2 min

Chunking Inside Manticore Search — Dmitrii Kuzmenkov

A search engine moved document chunking into the table definition: five strategies, one column, and recall@5 on buried content going from 55% to 83%.

Published:  · Added:  · 5 min

LLM Classification Is Feature Engineering — Taylor

An LLM asked for a label is a poor classifier and a strong feature extractor. Wrap the verdict in a logistic regression and you get calibration, thresholds, and a real upgrade path.

Published:  · Added:  · 5 min