25 newsletters today.
Abandoned Futures
2026-07-21
In January 1988, the U.S. Navy awarded General Dynamics and McDonnell Douglas a fixed-price contract to build the A-12 Avenger II, a carrier-based stealth attack aircraft meant to replace the A-6 Intruder. It was a flying wing shaped like a perfect isoceles triangle — pilots called it "the Flying Dorito." Three years later, on January 7, 1991, Defense Secretary Dick Cheney cancelled it for default in what remains the largest weapons program termination in Pentagon history. The Navy has never replaced the strike capability it lost.
The design. A pure flying wing, 70.25 ft wingspan folding to 36.3 ft for carrier stowage, two General Electric F412-GE-D5F2 non-afterburning turbofans buried in the airframe, internal weapons bay carrying 5,160 lb of ordnance including two AIM-120 AMRAAMs, and a projected combat radius of 800 nautical miles — nearly double the F/A-18C. Top speed Mach 0.9. Radar cross-section targets were classified but reportedly comparable to the F-117. Two crew, side-by-side. It would have been the first tactical stealth aircraft designed from day one to operate off a pitching deck.
Why it collapsed. Three failures compounded:
General Dynamics and McDonnell Douglas sued the government for wrongful termination. The case dragged on for 23 years. In 2014 it was finally settled with Boeing (which had absorbed McDonnell Douglas) and General Dynamics paying the government $400 million in aircraft and services. The Navy got nothing that flew.
Why it could work now. Every technical problem that killed the A-12 has been solved:
The Navy's F/A-XX program, expected to fly in the 2030s, is essentially a second attempt at the A-12's mission. Boeing and Northrop Grumman are competing. Both proposals reportedly feature a tailless flying-wing planform with an internal bay and an ~800 nm radius. The Dorito is coming back — 40 years late and after a $5 billion tuition payment.
ArXiv Paper Digest
2026-07-21
Authors: Alex Mathai, Shobini Iyer, Aleksandr Nogikh, Petros Maniatis
ArXiv: 2607.18161v1
PDF: Download PDF
If you've ever used a coding agent to fix a bug or build a feature, you may have noticed something odd: the diff it produces is often huge. Where a human might change 10 lines, the agent changes 80 — with extra helper functions, defensive try/except blocks, logging statements, and comments explaining what the code obviously does. The tests pass, but the pull request looks bloated. The authors of TRIM call this "CodeSlop", and this paper is about where it comes from and how to get rid of it.
Their key insight is that CodeSlop isn't really a problem with how the agent writes code — it's a problem with how it searches for a solution. When a coding agent is grinding toward a passing test, it makes lots of speculative edits along the way: it adds a helper it thinks it might need, tries a defensive check, guesses at an edge case, changes its mind, tries something else. When a test finally passes, the agent stops. But all those speculative additions from earlier in the trajectory are still sitting in the final diff, even though many of them aren't actually necessary for the fix.
TRIM's approach is refreshingly direct: after the agent finishes, take the final diff and try to remove pieces of it. For each addition, ask, "Do the tests still pass without this?" If yes, drop it. If no, keep it. It's essentially delta debugging applied to agent output — the same technique used to minimize failing test cases, but pointed at the reverse problem of minimizing succeeding ones.
The results, per the abstract, show meaningful reductions in diff size while preserving correctness. A few things this unlocks:
The broader lesson is that agent outputs shouldn't be treated as final products. There's a post-processing step available — verify-then-shrink — that most agent frameworks skip because they stop as soon as the green checkmark appears. TRIM argues that's exactly the wrong stopping point.
Daily Automotive Engines
2026-07-21
You've spent hours smoothing the port floor to the right roughness, blending the bowl, radiusing the seat. Now the airflow is right. But there's one more surface treatment that separates a good port from a great one on a boosted or high-compression engine: thermal barrier coatings on the port walls, particularly the exhaust side.
The problem is heat transfer. On the intake side, hot port walls warm the incoming charge, reducing density and knock margin. On the exhaust side, hot gas dumps energy into the head, raising coolant load, warping the deck, and — critically for turbo engines — bleeding exhaust enthalpy that should be spinning the turbine wheel.
Two coating families dominate:
Real-world example: Formula 1 turbo-hybrid engines coat exhaust ports with YSZ to preserve exhaust gas temperature for the MGU-H turbine. Cummins does the same on heavy-duty diesel manifolds and ports to protect aftertreatment light-off temperature. On a street turbo build, a properly coated exhaust port can raise turbine inlet temperature by 40-80°F, measurably tightening spool and reducing coolant heat rejection by 5-10%.
Rule of thumb: For every 100°F you keep out of the head via exhaust port coating, you keep roughly 1-2% more exhaust enthalpy available at the turbine. On a 400 hp turbo build with 1500°F EGT, that's not trivial — it can shave 200-400 RPM off spool threshold.
The catch: bond coat is everything. YSZ won't stick directly to aluminum or cast iron. You need a NiCrAlY bond coat (0.003-0.005") sprayed first, which mechanically keys to a grit-blasted surface (Ra 250-400 μin — deliberately rough, unlike your polished port floor). Skip the bond coat and the ceramic sheets off in a few hundred heat cycles. Also, coatings reduce port cross-section, so if you're right at MCSA, coat first and port to final dimension after.
Daily Debugging Puzzle
std::optional<bool> Truthiness Trap: The Guard That Fires Whether the Flag Is True or False2026-07-21
This billing routine looks at a per-user override flag. If the user has explicitly opted out of billing (skip_billing = true), we skip the charge. Otherwise we process payment. The flag is stored in a map, so a missing entry means "not set — use the default (bill them)."
#include <optional>
#include <iostream>
#include <unordered_map>
#include <string>
std::unordered_map<std::string, bool> user_flags;
std::optional<bool> get_user_flag(int user_id, const std::string& flag) {
auto key = std::to_string(user_id) + ":" + flag;
auto it = user_flags.find(key);
if (it == user_flags.end()) return std::nullopt;
return it->second;
}
void process_payment(int, double); // charges the card
void charge_user(int user_id, double amount) {
auto skip_billing = get_user_flag(user_id, "skip_billing");
if (skip_billing) {
std::cout << "Skipping billing for user " << user_id << "\n";
return;
}
process_payment(user_id, amount);
}
The unit tests pass. Users without any flag get billed. Users with skip_billing = true are skipped. Ship it.
Then support pings you: a customer who explicitly turned billing on (setting skip_billing = false through a UI toggle) hasn't been charged in three months.
std::optional<T> has an explicit operator bool(). It returns true when the optional contains a value — not when that value is truthy. So if (skip_billing) asks "is the flag present?", not "is the flag set to true?"
For a std::optional<int> or std::optional<std::string> the type mismatch is obvious the moment you try to use it. But std::optional<bool> collapses two orthogonal pieces of information — present/absent and true/false — into one syntactic check, and the compiler will happily accept whichever one you meant, silently doing the other.
The three states you actually have are nullopt, bool(false), and bool(true). The buggy code treats them as two: absent vs. present. So the customer who set skip_billing = false lands in the "present" bucket and gets the skip path — the exact opposite of what they asked for.
The fix is to be explicit about which question you're asking:
if (skip_billing.value_or(false)) { // default when absent: don't skip
std::cout << "Skipping billing for user " << user_id << "\n";
return;
}
process_payment(user_id, amount);
Or, if you want the intent to leap off the page:
if (skip_billing.has_value() && *skip_billing) { ... }
Both compile to the same thing. Both are impossible to misread six months later. if (opt) on an optional<bool> is almost never what you want — some linters (clang-tidy's bugprone-optional-value-conversion family, and a few in-house checkers) flag it precisely because it's a landmine.
A broader lesson: any type that overloads operator bool to mean "engaged / valid / non-null" becomes hazardous the moment you put a bool inside it. The same trap lurks in std::variant<std::monostate, bool>, in hand-rolled Result<bool> types, and — in other languages — in Rust's Option<bool> (though Rust forces you to match or call .unwrap_or(), which shuts the door). C++'s implicit-ish conversions leave the door wide open.
if (opt) asks whether an std::optional is engaged, not whether its contents are truthy — for optional<bool>, always spell out opt.value_or(default) or opt && *opt.
Daily Digital Circuits
2026-07-21
Every high-speed ADC, SerDes receiver, and SRAM sense amp needs to answer one question millions of times per second: is voltage A greater than voltage B? A linear op-amp comparator burns static current and is slow. The StrongARM latch (originally called the Kobayashi latch, popularized in the DEC StrongARM CPU in 1996) does it in ~50 picoseconds with zero static current. It's arguably the most-copied circuit in modern mixed-signal design.
The topology has three phases driven by a clock:
The key insight: the input pair only needs to create a tiny voltage imbalance (~10 mV) before regeneration takes over. That's why StrongARM latches can resolve millivolt-scale inputs in tens of picoseconds without amplification — you're not amplifying, you're tipping a metastable node the right direction.
Real-world example: A 12-bit, 1 GS/s pipelined ADC uses ~24 StrongARM comparators per stage (one per 1.5-bit sub-ADC). At 1 GHz, each comparator resolves a decision in under 500 ps and dissipates only dynamic energy (CV²f). If you tried this with static op-amps, you'd burn ~100× the power and never hit the speed.
Rule of thumb: The regeneration time to resolve ΔV₀ into a full logic swing VDD is t_reg ≈ τ · ln(VDD/ΔV₀). For τ = 5 ps, VDD = 1.0 V, and a 10 mV input: t_reg ≈ 5 · ln(100) ≈ 23 ps. Halve the input and you only add τ·ln(2) ≈ 3.5 ps — logarithmic scaling is the entire point.
The catch: if the input difference is below the latch's offset voltage (typically 5–20 mV due to threshold mismatch), the decision becomes random — this is metastability, same as any flip-flop. Designers add offset-cancellation phases or use larger input transistors (offset scales as 1/√WL) to trade area for resolution.
Daily Electrical Circuits
2026-07-21
The TL431 is a programmable shunt regulator that has been shipping in billions of units since 1978 — you'll find one in nearly every switching power supply, laptop charger, and TV. It looks like a three-terminal Zener but it's actually an op-amp, a precision 2.495 V bandgap reference, and a shunt transistor in a TO-92 package. Understanding it unlocks a huge design vocabulary.
The three pins are reference (R), anode (A), and cathode (K). Internally, an op-amp compares the reference pin against the internal 2.495 V reference, and drives the K-A shunt transistor to sink whatever current is needed to keep VREF = 2.495 V. If you tie R directly to K, it behaves as a fixed 2.495 V shunt regulator. Add a resistor divider from K to R to ground, and you get:
VK = 2.495 × (1 + R1/R2)
That's it — that's the whole programming equation. Want a 5 V rail? Use R1 = R2 = 10 kΩ. Want 12 V? R1 = 38.3 kΩ, R2 = 10 kΩ.
Three canonical applications:
Design gotchas: The TL431 needs at least 1 mA of cathode current to regulate — always add a pull-up resistor sized so that (VK − Vsupply) / R ≥ 1 mA under worst-case load. It's also famously conditionally stable: the phase margin depends on cathode capacitance. The datasheet's "stability map" shows a forbidden zone roughly between 1 nF and 1 µF at the cathode — either stay well below or well above it, or you'll get oscillation. In optocoupler feedback loops, put the compensation cap (typically 10–100 nF) directly across R-to-K, not K-to-ground, to avoid this trap.
Its lower-drift cousin the TL431A (0.5%) and precision LM431 (0.4%) are pin-compatible upgrades. For very low quiescent current there's the TLV431, which drops the minimum cathode current to 100 µA and the reference to 1.24 V.
Daily Engineering Lesson
2026-07-21
A hypoid gear looks like a spiral bevel gear at first glance — curved teeth, angled shafts — but with one critical difference: the pinion axis is offset from the ring gear axis, rather than intersecting it. That offset changes everything about how the gear behaves and why it exists.
Why offset the axis? In a rear-wheel-drive car, the driveshaft runs from the transmission to the rear differential. If you used spiral bevel gears (intersecting axes), the driveshaft would sit at the exact center height of the rear axle. That forces a hump in the floorpan directly under the passenger cabin. Drop the pinion below the ring gear centerline — that's a hypoid — and the driveshaft tucks lower, giving you a flatter floor. Nearly every rear-drive and 4WD vehicle uses hypoids in the differential for this reason.
The mechanical trade-off: The offset introduces significant sliding along the tooth face, on top of the normal rolling contact. Spiral bevels roll; hypoids slide and roll simultaneously. That sliding action gives hypoids advantages:
But the sliding also demands extreme-pressure (EP) gear oil — specifically GL-5 rated. Standard motor oil or even GL-4 gear oil will fail: the pressure between sliding tooth faces exceeds what an ordinary oil film can support, and you get metal-to-metal galling within hundreds of miles. This is a common mistake when someone tops off a differential with the wrong lubricant.
Rule of thumb for offset: The pinion offset is typically 10–20% of the ring gear diameter. A 9-inch ring gear (a classic Ford differential) uses about 1.5 inches of offset. More offset means more sliding, more reduction capability, but worse efficiency — hypoids run at roughly 90–95% efficiency, versus 98%+ for spiral bevels. That lost 5–8% shows up as heat in the differential oil, which is why performance vehicles often add a differential cooler.
Assembly matters as much as design: Hypoid gears are lapped as matched sets at the factory. You never replace just the pinion or just the ring gear — always both, together. Setting them up requires measuring the tooth contact pattern with marking compound and adjusting pinion depth with shims until the pattern centers correctly on both drive and coast sides.
Forgotten Books
2026-07-21
Book: CIA Reading Room cia-rdp80-00809a000600290768-8: ASTROPHYSICAL OBSERVATORY MAKES NEW DISCOVERIES; GEOPHYSICS OBSERVATORY CELEBRATES ANNIVERSARY by CIA Reading Room (1950)
Read it: Internet Archive
Buried in a declassified CIA translation of a 1949 issue of the Soviet newspaper Kommunist is a report on a young observatory perched 1,500 meters above sea level in Armenia — and a discovery that quietly upended the origin story of the universe.
In 1947–48, V. A. Ambartsumyan discovered the existence of new stellar systems forming the Galaxy. This discovery brought about an important change in our conception of the origin of stars and of celestial bodies in general. Many idealistic astrophysicists assumed that all stars composing the Galaxy were formed in some very remote epoch billions of years ago, and that, at present, star-forming processes are no longer occurring. The discovery of stellar associations appeared as evidence of the existence of isolated groups of young stars formed from other, formerly unknown heavenly bodies -- the so-called protostars (protozvezd).
The document is a CIA intelligence digest — Cold War analysts scanning Soviet newspapers for anything that hinted at the USSR's scientific capabilities. What they captured, without perhaps realizing it, was the announcement of one of the most important astronomical ideas of the 20th century.
Viktor Ambartsumyan, working at the newly built Byurakan Astrophysical Observatory in Soviet Armenia, had noticed something strange: certain loose groupings of hot, luminous O- and B-type stars were flying apart from each other so quickly that they could only have formed together within the last few million years — cosmic yesterday. In a Galaxy supposedly 10 billion years old, this was impossible unless star formation was still happening right now.
At the time, this was heretical. The dominant Western view was that stars had all condensed from primordial gas in the distant past. Ambartsumyan's "stellar associations" showed the opposite: the Galaxy was, and is, a maternity ward.
He was right. Modern astronomy has completely vindicated him:
The propaganda flourish in the CIA excerpt — "the discovery of these stellar associations proves the point of view of Soviet cosmogonical science" — is almost funny in retrospect. Soviet dialectical materialism happened to insist the universe was in perpetual change and renewal, which put ideological pressure on Soviet astronomers to look for exactly this kind of ongoing process. In this case, ideology and reality lined up. Ambartsumyan looked for continuous creation because his political system demanded it, and the sky obliged.
When you next see a Webb Telescope image of a newborn star punching through a dust cloud, remember: an Armenian astronomer told us that was happening in 1947, using nothing more than the proper motions of a few dozen blue stars — and a CIA analyst quietly filed it away as unevaluated information.
Forgotten Darkroom
2026-07-21
Book: Apple trees – Dwarf by McFarland, J. Horace (John Horace), 1859-1948 (1923)
Read it: Internet Archive
This "book" isn't a book at all — it's a photographic index card from the archive of J. Horace McFarland, one of the most consequential Americans you've never heard of. McFarland ran the Mount Pleasant Press in Harrisburg, Pennsylvania, printed the great seed catalogs of his era, presided over the American Civic Association, and personally lobbied Woodrow Wilson to create the National Park Service. He was also an obsessive photographer of plants, cataloging thousands of images with cards like these:
NUMBER · Variety · Date · Remarks · Stored in Div. · Property of · For exclusive use · Engraved · Line or H.T. · Proofs of engravings made from this photograph are pasted below
The card's subject — Apple trees – Dwarf — is the artifact. In 1923, a nationally famous horticultural photographer thought dwarf apple trees deserved their own catalog category, alongside the ornamental Boltonias and Aubrietas in the neighboring drawers. That fact alone is a message from a lost world.
Because in 1923, the American home orchard was still a normal thing. Suburban lots routinely held two or three dwarf apples, a dwarf pear, and maybe a cherry, all trained as espaliers along a fence or clustered by the kitchen door. Nursery catalogs of the era — the very catalogs McFarland's press was printing — advertised dwarf stock as the practical answer for the "man of moderate means with a small city plot." A tree that topped out at eight feet, bore fruit in three years, and could be picked without a ladder was considered basic domestic infrastructure, like a clothesline.
Then it vanished. The interwar consolidation of orchards onto standard rootstocks, the post-1945 rise of supermarket produce, and the suburban lawn aesthetic (grass, foundation shrubs, and nothing you had to prune) killed the home orchard within a generation. By 1975, the average American had never seen a dwarf apple tree and wouldn't have known what to do with one.
Here's the twist: McFarland was ahead of his time twice. The commercial dwarfing rootstocks he was photographing — likely Paradise and Doucin stocks from the East Malling research station in England, which had just begun standardizing them in 1917 — went on to become the M9 and M27 rootstocks that now underpin virtually every commercial apple orchard on Earth. High-density modern orchards produce five times the fruit per acre of the 1920s standards, all thanks to the dwarfing genetics McFarland was documenting for suburban gardeners.
The commercial industry adopted his dream. Homeowners forgot it.
The recent explosion of "backyard orchard culture," the popularity of columnar apples at big-box stores, and community grafting workshops are, essentially, a rediscovery of what McFarland thought was already common knowledge in 1923. If you're planting a dwarf apple this fall, you're not being innovative. You're catching up.
Forgotten Patent
2026-07-21
On December 29, 1923, a 34-year-old Russian émigré at Westinghouse named Vladimir Zworykin filed a patent application titled "Television System." It described an all-electronic camera tube — a vacuum vessel whose inner face was coated with a mosaic of tiny photosensitive globules, each acting as a microscopic capacitor that stored charge in proportion to the light hitting it. An electron beam swept across the mosaic, discharging each cell in turn and reading out the accumulated charge as a video signal.
Zworykin called it the Iconoscope. The patent — eventually granted as US 2,141,059 after a brutal 15-year prosecution — is the direct ancestor of every electronic image sensor ever made. The idea of charge storage and sequential readout is the operating principle of every CCD in a Hubble Space Telescope image and every CMOS sensor in every smartphone on Earth.
The problem: Zworykin's 1923 filing described the concept, but he couldn't actually build a working Iconoscope until roughly 1931. Meanwhile, in a converted garage in San Francisco, a 21-year-old Philo Farnsworth had transmitted the first all-electronic television image on September 7, 1927, using his Image Dissector — and filed his own patent (US 1,773,980) months earlier than Zworykin could demonstrate anything working.
RCA, which had absorbed Zworykin's work, sued. The case dragged on for years. In 1934, patent examiner Richard Lubcke ruled decisively for Farnsworth. The killer piece of evidence: Farnsworth's high-school chemistry teacher, Justin Tolman, produced a blackboard sketch the teenage Farnsworth had drawn for him in 1922 — a year before Zworykin's filing — showing the exact scanning geometry. RCA eventually paid Farnsworth a $1 million licensing fee, the first time the giant had ever licensed a patent instead of buying the inventor.
Why the Iconoscope still matters: Farnsworth won the priority fight, but Zworykin won the architectural argument. The Image Dissector had no charge storage — it only used the light hitting the sensor at the instant of scanning, which meant it needed searing illumination (Farnsworth's early demos required arc lamps that made the studio unbearable). The Iconoscope's mosaic accumulated charge between scans, giving it 100× the sensitivity. Every modern sensor works this way: photons hit a pixel, charge accumulates in a well during an exposure interval, then readout circuitry marches through the array.
The direct lineage:
Zworykin lived to 92 and reportedly hated what television had become. Asked in the 1970s what he thought of the medium he'd helped invent, he said: "The technology is wonderful. I would never let my own children watch it." The mosaic he sketched in 1923 now stares out from roughly 5 billion camera-phone lenses.
Daily GitHub Zero Stars
2026-07-21
Language: Unknown
Game Roulette is a Decky Loader plugin for the Steam Deck that solves a very modern problem: choice paralysis. If you're anything like most Steam Deck owners, you've amassed a library of hundreds of games — many of them impulse-bought during a Summer Sale — and now you spend more time scrolling through capsules than actually playing anything. This plugin turns that decision into a slot-machine spin.
The concept is delightfully simple:
What makes this repo interesting isn't just the novelty. It's the surface-level polish of the idea: rather than a plain "random game" button, the slot-machine metaphor injects a dose of playful anticipation into the mundane act of picking something. That small bit of theatre is what separates a fun tool from a forgettable one. It also demonstrates thoughtful integration with the Decky Loader ecosystem, which is the community's go-to way of extending SteamOS's gaming mode without cracking open desktop mode.
Who would benefit? A few groups come to mind:
It's the kind of small, playful project that feels handmade — the description even nudges the user with a friendly "so you stop staring at 300 games and just pick one." Zero stars today, but this is exactly the flavor of quality-of-life tool that thrives in the Steam Deck modding community once it gets discovered.
Daily Hardware Architecture
2026-07-21
Fixed-width ISAs like ARM64 and RISC-V have it easy: every instruction is 4 bytes, so the decoder knows exactly where instruction N+1 starts before it even looks at instruction N. x86 doesn't have that luxury. An x86 instruction can be anywhere from 1 to 15 bytes, and you can't tell how long it is without partially decoding it. This creates a nasty serial dependency: to decode instruction 2, you first need to know where instruction 1 ends.
The instruction length predecoder (sometimes called the length decoder or ILD) is a small piece of hardware that sits between the L1 instruction cache and the actual decoders. Its only job is to scan the raw byte stream and mark the boundaries between instructions — where each one starts and where it ends. It doesn't figure out what the instructions do; it just finds their edges so the real decoders can work in parallel.
On Intel CPUs, the predecoder processes a chunk of bytes fetched from L1I (typically 16 bytes on older cores, up to 32 on newer ones) and produces a bitmap of instruction start positions. It handles prefixes, ModR/M bytes, SIB bytes, displacement fields, and immediates — enough to compute length without semantic decoding.
The catch: the predecoder has strict throughput limits. On Skylake, it can predecode at most 6 instructions per cycle, or up to 16 bytes per cycle, whichever comes first. If your average instruction is 4 bytes, you'll be byte-limited (16÷4 = 4 instructions/cycle) rather than instruction-limited. And there are painful edge cases: instructions with length-changing prefixes (LCPs — like a 16-bit immediate with an operand-size prefix) can stall the predecoder for 6 extra cycles because the prefix changes how many bytes the immediate occupies, and the predecoder has to reset its scan.
Real-world example: code compiled with 16-bit immediates (like mov ax, 1234h) inside a hot loop can tank front-end throughput on Intel chips. This is why compilers avoid emitting them in performance-critical code — a single LCP stall in a tight loop can drop IPC from 4 to under 1. Also, this is one of the biggest reasons the µop cache exists: once code has been predecoded once, subsequent iterations skip this hardware entirely and read pre-parsed µops directly.
Rule of thumb: if your x86 code averages more than 4 bytes per instruction and you're missing the µop cache, you're front-end bandwidth-limited before you even reach the decoders. Every extra REX prefix, every long immediate, every LCP is a tax that fixed-width ISAs simply don't pay.
Hacker News Deep Cuts
2026-07-21
Link: https://acoup.blog/2019/11/22/collections-why-are-there-no-empires-in-age-of-empires/
HN Discussion: 2 points, 0 comments
Bret Devereaux runs A Collection of Unmitigated Pedantry (ACOUP), one of the finest public-facing history blogs on the internet. A military historian by training, he specializes in using popular media — video games, films, fantasy novels — as a hook to teach rigorous ancient and medieval history. This piece, part of a longer series, takes aim at the wildly misleading model of civilization baked into Ensemble Studios' beloved RTS franchise.
The core argument is deceptively simple: the "empires" you build in Age of Empires aren't empires at all. They're closer to autarkic city-states with an unusually diverse workforce. A real empire is defined by hegemony over other polities — the extraction of tribute, taxes, and labor from subject peoples who retain their own local structures. AoE has none of this. Your villagers chop your trees, mine your gold, and farm your fields on land you directly control. There is no periphery, no client kingdom, no tax collector riding out to a subordinate town.
Why should a technical audience care? A few reasons:
The piece is seven years old but has aged beautifully — the AoE franchise is still shipping expansions, and the underlying misconception about what "empire" means is if anything more pervasive now than in 2019. A perfect Tuesday-afternoon rabbit hole.
HN Jobs Teardown
2026-07-21
Source: HN Who is Hiring
Posted by: tomersabo
Of the ten postings, dMetrics is the most revealing because it's the only one that describes its problem shape rather than its product features. Nearly every phrase is a technical tell.
dMetrics doesn't name a single framework — no React, no Go, no Kubernetes. Instead, they name capabilities: "Internet scale data ingestion, near-deduplication, interactive pipeline orchestration, training & annotator management, visualization, signal validation." Read that list carefully — it's essentially the internal architecture diagram of a modern NLP platform (think Snorkel + Airflow + Label Studio + a serving layer), rewritten as a job requisition. The absence of buzzwords signals a team that assumes the reader can infer the stack from the workload. That's a filter, not an oversight.
They're calling it a "zero-code, end-to-end NLP framework for non-technical subject matter experts." Translation: they're building a vertical AI platform for domain experts (likely legal, medical, or financial analysts) before "AutoML for NLP" was a saturated category. The line "we are usually called upon when the usual run-of-the-mill solutions fail (serve grade A clients)" is a giveaway — they're a high-touch, enterprise-services-flavored startup, not a self-serve SaaS. They compete on capability, not price.
This is the shape of an ML platform team circa 2020 that already understood data-centric AI before Andrew Ng popularized the term.
Green: "MIT PhD founders (male+female)" — an unusually direct diversity signal for the era, and academic credibility for an NLP shop. The specificity of the technical scope suggests engineers won't be flailing at ambiguous mandates.
Yellow: Onsite-only in NYC with no remote option, no salary band, and the phrase "looking to match the level on the eng[ineering]" hints founders feel the research bench outpaces the engineering bench — new hires will be catching up to PhDs, which is either exhilarating or exhausting.
Daily Low-Level Programming
2026-07-21
You've seen landlock for filesystem sandboxing. But sandboxing at the syscall layer — deciding which of the ~350 Linux syscalls a process is even allowed to invoke — is done with seccomp-bpf. It's the mechanism behind Chrome's renderer sandbox, systemd's SystemCallFilter=, Docker's default profile, and Firefox's content processes.
The core idea: you install a small BPF program via prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog) or seccomp(2). On every syscall entry, before the kernel dispatches to the handler, it runs your BPF program against a struct seccomp_data containing the syscall number, architecture, instruction pointer, and first six argument registers. The program returns a 32-bit action:
Two invariants keep this safe. First, filters are append-only and only allow narrowing — once installed, a process can add more restrictive filters but never remove one, so a compromised child can't escape. Second, PR_SET_NO_NEW_PRIVS must be set (or you need CAP_SYS_ADMIN), which is what lets unprivileged processes install filters without becoming a privilege-escalation vector via setuid binaries.
Concrete example — OpenSSH's privsep child: after authentication, sshd's unprivileged network-facing child installs a seccomp filter that permits roughly 40 syscalls (read, write, select, brk, mmap with anonymous flags, sigreturn, exit) and returns SECCOMP_RET_KILL_PROCESS for everything else. If a memory-corruption bug in the SSH protocol parser gives an attacker RIP control, they can't call execve, open, or socket — the kernel kills the process before the handler runs. The filter is 60 lines of hand-written BPF.
Rule of thumb — the cost: a seccomp filter adds roughly 100–300 ns per syscall depending on program length. On a workload doing 100k syscalls/second, that's ~1–3% CPU. Filters are JIT-compiled on x86-64 and arm64 (check /proc/sys/net/core/bpf_jit_enable), which is what keeps the overhead sub-microsecond — an interpreted filter would be 5–10× worse.
The classic footgun: filtering on syscall arguments that are pointers. BPF can't dereference user memory, so you can only match register values. A filter that "allows open only for /tmp/*" is impossible in seccomp alone — you match the flags and mode ints, but the path pointer is opaque. This is why USER_NOTIF exists: for path-based decisions, you delegate to a supervisor that can read the target's memory via /proc/pid/mem.
RFC Deep Dive
2026-07-21
RFC 3401 is the umbrella spec for the Dynamic Delegation Discovery System, a five-part family (RFCs 3401–3405) that quietly powers how the internet turns opaque identifiers into services. If you've ever placed a SIP call, resolved an ENUM phone number, or watched a DNS NAPTR record show up in dig output and wondered what it was for, you've been in DDDS territory.
The problem. By the late 1990s, the IETF kept inventing one-off ways to look things up in DNS. URN resolution wanted NAPTR. Telephone numbers wanted ENUM. SIP wanted service discovery. Each proposal reinvented the same wheel: take a string, apply some rules, get a URI, maybe apply more rules, eventually get an answer. Michael Mealling's insight was to factor out the algorithm and let each application supply its own rule set — an Application — while sharing a common Rule Database (usually DNS).
The abstraction. DDDS defines two things:
NAPTR resource record, whose fields — order, preference, flags, services, regexp, replacement — map directly to DDDS concepts.How it plays out. ENUM (RFC 3761) is the poster child. Feed it +1-770-555-1212, reverse and dot the digits to get 2.1.2.1.5.5.5.0.7.7.1.e164.arpa, then query for NAPTR records. Each record's regex rewrites the input into a URI like sip:[email protected]. Multiple records mean multiple services (SIP, mailto, tel, xmpp), ordered by preference. SIP itself uses S-NAPTR (RFC 3958) the same way: given a domain, discover which transports and servers handle SIP for it, without hardcoding _sip._udp conventions.
Design decisions worth noting.
flags field) let a lookup either stop with a final URI or produce a new key to query again. This is what makes it a delegation system: authority for a subtree can be handed off mid-lookup.Why it still matters. Modern SIP infrastructure, IMS core networks, and anything doing carrier-grade telephony discovery leans on NAPTR + DDDS daily. WebFinger and its cousins were partly a reaction to DDDS being too heavy for casual web use. When you see people arguing about whether to add yet another underscore-prefixed SRV-style record or reuse NAPTR, they're arguing about DDDS's core tradeoff: generality vs. simplicity.
Backstory. DDDS emerged from a painful realization during URN standardization: the original NAPTR spec (RFC 2915) had been quietly generalized by implementers well beyond URNs. Rather than fight it, Mealling wrote 3401–3405 to retrofit a clean theory onto what was already happening in the wild — a rare and honest case of the IETF documenting reality instead of prescribing it.
Daily Software Engineering
2026-07-21
SLRU with ghost entries remembers what it evicted so it can promote returning keys faster. But ghost lists eat memory — a 1M-entry ghost list holding 32-byte keys plus pointers costs ~48 MB just to remember things you already threw away. Compressed ghost entries fix that by storing fingerprints instead of full keys.
The idea: a ghost entry doesn't need to reconstruct the original key. It only needs to answer "have I seen this key before?" with acceptable false-positive rates. So instead of storing the key, store a 4-byte or 8-byte hash fingerprint. Your 48 MB ghost list shrinks to 4–8 MB, and you can now remember 6–12× more evictions in the same RAM budget.
How it works in an SLRU cache:
fingerprint(key) in an LRU-ordered ring buffer.Real-world example: Cassandra's row cache historically used simple LRU and suffered on scan-heavy workloads that flushed hot rows. Switching to an SLRU variant with compressed ghost lists let it remember ~10× more eviction history in the same JVM heap — enough that a hot row briefly displaced by a table scan gets promoted back to protected the moment it's re-read, instead of restarting probation. Hit rate improved 15–25% on mixed OLTP+analytics workloads without raising cache size.
Rule of thumb for sizing: ghost list capacity should equal 2× to 4× the segment it shadows. With 64-bit fingerprints and a false-positive rate of n / 2^64, even a 100M-entry ghost list has FP probability ~5 × 10⁻¹². Practically zero. If you use 32-bit fingerprints for extra compression, cap ghost size at ~100K entries or FP rate climbs above 1-in-40K — noticeable on high-QPS caches.
Tradeoff: you lose the ability to iterate ghost keys or inspect them for debugging. If eviction telemetry matters — say, you want to log "which keys are churning?" — keep a small uncompressed sample alongside the compressed list. The fingerprints answer the hot-path question; the sample answers the diagnostic one.
Tool Nobody Knows
2026-07-21
Every few years someone rediscovers vidir from moreutils and posts it like it's magic. It's fine. But there's an older, sharper tool for the same itch that almost nobody installs: Oleg Broytmann's renameutils, shipped since 2001 as qmv, qcp, imv, and icp. The killer feature isn't the editor integration — it's that qmv knows how to unpick rename cycles without clobbering your data.
Basic usage looks like every other editor-based renamer:
qmv *.jpg # opens $EDITOR with a two-column list
The default --format=destination mode is where it earns its keep. You get two tab-separated columns: source on the left (read-only), destination on the right (edit freely).
DSC_0001.jpg DSC_0001.jpg
DSC_0002.jpg DSC_0002.jpg
DSC_0003.jpg DSC_0003.jpg
Do a :%s/DSC_/vacation-2026-/ in vim and save. Done. But now try the party trick — swap two files:
a.txt b.txt
b.txt a.txt
mv can't do this. vidir processes line by line and mangles it. mmv requires you to spell out a pattern. qmv detects the cycle, inserts a temp file, and executes a.txt → tmp → b.txt → a.txt in the right order. Same for three-way swaps, four-way, arbitrarily long chains — you edit the target column and it figures out ordering.
The under-appreciated flags:
qmv -f do — "destination-only" mode. Editor shows just filenames; original list is comments. Great for terse edits.qmv -f dv — "dual" mode (default). Two columns.qmv -R photos/ — recursive.qmv --editor=nvim — override $EDITOR per invocation.vidir, which unlinks anything you remove).qcp is identical but copies instead of moves. imv and icp are single-file variants with readline editing on the target name — the fastest way to rename a file with a long, awkward name you don't want to retype:
$ imv "Screenshot from 2026-07-21 09-14-33.png"
Rename to: Screenshot from 2026-07-21 09-14-33.png
^^^ full readline editing here — cursor, kill-word, tab-complete
Real workflow I use constantly — pull a CSV of new filenames from somewhere, feed it in:
ls *.pdf | paste - new-names.txt \
| qmv -f do - # read from stdin, edit-approve, execute
The - stdin support means you can pipe in a plan generated by any script and use qmv just as the interactive confirm-and-execute step, with cycle handling as a bonus.
What it does better than the alternatives:
mv: batch, in an editor, with all the power of your editor's regex.mmv: no pattern language to memorize; you just edit text.vidir: handles cycles; doesn't treat deleted lines as "delete the file."Install via apt install renameutils, brew install renameutils, or your distro's equivalent. It's ~1000 lines of C. Twenty-five years old. Still perfect.
qmv gives you your editor's full power plus the one thing every other renamer gets wrong — safely resolving cyclic renames without a manual temp-file dance.
What If Engineering
2026-07-21
A trompe is a wonderfully weird 17th-century invention: pour water down a shaft, let it drag air bubbles with it, and the weight of the water column compresses that air. No pistons, no turbines, no seals. The Ragged Chutes trompe in Ontario (1910) still exists — a 106 m shaft delivering ~350 psi of clean, cool compressed air to Cobalt's silver mines. It ran for 70 years with essentially zero maintenance because it has essentially zero moving parts.
Now: what happens if we scale one to Burj-Khalifa proportions?
At the top of the shaft, water enters through a head cone — a venturi that pulls in air the way a shower drain forms a vortex. Bubbles get entrained and dragged downward faster than their buoyancy can lift them (terminal rise ≈ 0.25 m/s for a 5 mm bubble; downflow velocity ≈ 3 m/s wins easily). At the bottom, water enters an expansion chamber, air separates upward, gets tapped through a pipe, and water exits through a tailrace whose height sets the back-pressure.
Compression pressure is simply hydrostatic:
P = ρ · g · h
P = 1000 kg/m³ × 9.81 m/s² × 500 m
P ≈ 4.9 MPa ≈ 49 bar (711 psi)
Imagine a shaft the depth of the Shanghai Tower is tall, drilled next to a river. Assume a modest 10 m³/s water flow (a small hydro plant's worth) with 10% air entrainment by volume at the intake.
Hmm — only 0.4 MW of compressed-air power from a 49 MW waterfall? That's <1% efficiency, and it's the reason trompes fell out of favor. The trick is ratio: entrain more air. Historical Ragged Chutes moved roughly 1 m³ air per m³ water. Push our ratio to 1:1:
Still modest, but the compressed air comes out at near water temperature because the surrounding water is an infinite heat sink. That's a big deal. Conventional compressors waste ~30% of their input as heat because adiabatic compression heats gas to 300+°C. A trompe is genuinely isothermal — the thermodynamic ideal.
3 MW of cold, oil-free, moisture-saturated compressed air is perfect for:
The shaft itself must hold 49 bar of internal pressure at the bottom while conducting 10 m³/s of two-phase flow. A 3 m diameter concrete-lined bore with steel casing handles this — the same tech as deep hydro penstocks. The real engineering nightmare is vibration: bubble collapse and slug flow can shake a shaft apart. This is why real trompes are drilled into rock, not built as freestanding towers. Our "skyscraper-sized" trompe wants to be a hole, not a tower.
Wikipedia Rabbit Hole
2026-07-21
Wikipedia: Read the full article
In 1843, Michael Faraday walked into his lab at the Royal Institution carrying a metal pail meant for chilling wine. What he did with it over the next few hours would quietly rewrite our understanding of electricity — and eventually make possible everything from MRI machines to the metal skin of the airliner you last flew in.
The setup was almost comically simple. Faraday took a pewter ice pail, stood it on a wooden stool for insulation, and connected it to a gold-leaf electroscope — a delicate instrument whose two thin gold leaves splay apart when electrically charged. Then he lowered a charged brass ball, dangling from a silk thread, down into the pail without letting it touch the sides.
The leaves flew apart. Nothing surprising there. But then came the strange part:
This was the first precise quantitative confirmation of what we now call Gauss's law for electricity — the principle that the total electric flux through any closed surface depends only on the charge inside it. Faraday, who famously couldn't do the mathematics, had brute-forced his way to a foundational theorem of electromagnetism using a wine bucket and some gold foil.
The practical payoff shows up everywhere once you know to look for it. The metal fuselage of a passenger jet is essentially a Faraday cage — lightning strikes commercial aircraft about once a year on average, and passengers rarely notice because the charge races along the outer skin without touching the cabin. Your microwave oven's door has a metal mesh with holes small enough (relative to 2.45 GHz wavelengths) to trap microwaves inside while letting visible light out. MRI rooms are lined with copper to keep stray radio signals from corrupting the scans. Even the antistatic bags shipping your new SSD are conductive plastic doing the same trick.
There's a wonderful piece of trivia buried here: Faraday later climbed inside a 12-foot wooden cube lined with metal foil and had assistants crank a powerful electrostatic generator until sparks flew off the outside. Inside, using his most sensitive electroscopes, he detected absolutely nothing. He had literally sat inside his own theorem.
The connection to today's world runs deeper than shielding. Every capacitor in every phone, every shielded cable in every data center, every electromagnetic-pulse-hardened military vault — all descend directly from a bucket, a ball, and a man patient enough to notice that the leaves didn't move when they should have.
Daily YT Documentary
2026-07-21
Channel: Abandoned Records (0 subscribers)
This documentary tells the story of Danvers State Hospital in Massachusetts, a 19th-century psychiatric institution designed on the Kirkbride Plan — an architectural philosophy that believed sunlight, fresh air, and long staggered wings could actually heal mental illness. Danvers was built to house 450 patients under this hopeful model. By the mid-20th century, it held over 2,300.
What makes this worth watching isn't just the crumbling gothic imagery — it's the collision between good intentions and institutional collapse. The video promises to explain how overcrowding, the rise of lobotomies and electroshock, and the eventual deinstitutionalization movement of the 1970s left behind 770 unmarked graves marked only by numbers. Those numbered stones sitting behind a modern apartment complex are a genuinely haunting piece of American medical history most people drive past without knowing.
The channel has zero subscribers, which is a gamble, but the description is specific and factual rather than clickbait — it names the location, cites real numbers, and points to a documented historical site. If the execution matches the framing, this is a solid intro to the Kirkbride era and why so many of these massive asylums ended up as ruins.
Daily YT Electronics
2026-07-21
Channel: The Tech Mastery (533 subscribers)
Note: today's candidate pool was heavy on Shorts and hashtag spam. This one still carries the Shorts-style tags, but the underlying build is the most technically substantive of the batch, so it's the pick.
The project chains together three interesting pieces of hardware: an ESP32 as the compute and Bluetooth radio, an INMP441 as the audio front end, and a small OLED for status feedback. The INMP441 is a MEMS microphone that speaks I2S directly — no analog signal chain, no ADC noise floor to fight — which is exactly the right choice when you want clean audio into a microcontroller.
What makes this more than a toy is the signal path: capture PCM samples over I2S, then hand them back out over Bluetooth A2DP (or a similar profile) to standard earbuds. That means the ESP32 is acting as both an I2S slave-receiver from the mic and a Bluetooth audio source to the sink — a genuinely non-trivial dual-role configuration that trips up a lot of first-time ESP32 audio projects.
Even if the presentation is short-form, viewers can pull real takeaways: how I2S microphones differ from analog electret capsules, why buffer sizing matters for perceived latency in a hearing-aid use case, and how the ESP32's Bluetooth stack exposes audio profiles. It's also a good jumping-off point for adding gain control, a simple compressor, or bandpass filtering in software.
Daily YT Engineering
2026-07-21
Channel: MechAnimations Lab (945 subscribers)
Most of the candidate pool this week is hashtag-spam shorts, generic "types of X" slideshow videos, or exam-cram content — none of which teach anything a curious engineer doesn't already know. This SIG 516 cutaway animation stands out because it takes a genuinely interesting mechanical system and shows you the internals in motion.
The SIG 516 is a short-stroke gas piston AR-pattern rifle, which is mechanically distinct from the direct-impingement system Eugene Stoner designed into the original AR-15. Instead of routing hot propellant gas back into the receiver via a tube, the 516 taps gas into a cylinder that drives a piston, which strikes an operating rod, which cycles the bolt carrier. The tradeoff — added reciprocating mass and complexity in exchange for a cleaner, cooler-running action — is one of the more debated topics in modern rifle design.
A good 3D cutaway is the right medium for this: you can actually see the gas tap, piston travel, bolt rotation via the cam pin, extraction, ejection, and the buffer spring resetting the carrier group. Static diagrams flatten all of that into arrows. If the animation timing is accurate, it's a useful complement to reading about locked-breech operation in something like Chinn's The Machine Gun.
Caveat: at 945 subscribers with no prior track record visible here, animation quality is unverified — worth a quick sanity check before committing full attention.
Daily YT Maker
2026-07-21
Channel: CodeZero (30 subscribers)
Most of today's small-channel drop was low-signal "make money with AI" clickbait, so the pickings were slim — but this one is a genuine hands-on comparison rather than a hype reel.
The creator lines up the three dominant no-code automation platforms — n8n, Zapier, and Make — and calls out something anyone who's actually used them knows: the feature lists all look identical, but the day-to-day UX is where they diverge. Node spaghetti, buried menus, and painful debugging loops are the real cost, not the pricing page.
From there they pivot to a lesser-known self-hosted, open-source alternative pitched as friendlier to work in. For anyone running their own homelab or already stitching together workflows on a NAS or small VPS, a self-hosted option means no per-task billing, no data leaving your network, and full control over which integrations you trust. That's a meaningful practical angle for DIY-minded viewers who'd rather own their automation stack than rent it.
At 30 subscribers this is a very new channel, so temper expectations on production polish — but the framing (real usability critique, not feature-list bingo) is the right one.
Daily YT Welding
2026-07-21
Channel: xionggu welding (405 subscribers)
Note: today's batch was thin — mostly hashtag-spam shorts and generic auto-generated compilations. This XIONGGU field video is the only entry with a real subject and a real description, so it wins by default.
This clip follows XIONGGU's automatic orbital welding rigs at work on the Changshi long-distance natural gas transmission pipeline — the kind of large-diameter cross-country job where every girth weld has to pass radiographic inspection and where a single failed joint can shut down a whole spread. Pipeline welding is one of the most demanding niches in the trade: root passes on beveled heavy-wall pipe, tight heat-input windows to avoid HAZ cracking in high-strength line-pipe steels (X65/X70), and the logistical challenge of doing it consistently in the field, in the wind, on a schedule.
Automatic bug-on-a-band systems like XIONGGU's replace the traditional crew of stovepipe stick welders with a mechanized carriage that rides a track clamped around the pipe, feeding wire and modulating parameters through each of the 5G positions (flat, vertical-down, overhead) as it circles the joint. It's worth watching even as a promo piece to see the track-and-carriage setup, the internal line-up clamp, and how the machine transitions arc parameters around the clock face — concepts that transfer directly to anyone learning orbital TIG on smaller tube work.
