26 newsletters today.
Abandoned Futures
2026-06-10
In February 1965, the new Labour government cancelled the Hawker Siddeley P.1154 — a Mach 1.7 vectored-thrust VTOL strike fighter that was, by every metric that mattered, the aircraft the F-35B would eventually try to be. Forty-five years later. With a vastly more expensive engine. And without the elegance.
The P.1154 grew out of NATO's 1961 NBMR-3 specification, which demanded a supersonic VTOL strike fighter that could disperse to forest clearings and bombed-out runways. Hawker's chief designer Sir Sydney Camm and engine man Stanley Hooker at Bristol Siddeley took the same vectored-thrust trick that powered the subsonic P.1127 (later the Harrier) and scaled it brutally upward. The engine — the BS.100 — was a 33,000 lb-thrust vectored turbofan with plenum chamber burning: raw fuel injected into the cool front nozzles and ignited, boosting thrust roughly 50% for the supersonic dash. Four swiveling nozzles, no separate lift engines, no auxiliary fans, no clutches. Just one engine doing every job.
The NBMR-3 competition was won by the P.1154 in 1962. NATO promptly refused to standardize on it because France wanted its own Mirage III-V. Britain pressed on anyway, funding a joint RAF strike version and a Royal Navy fleet defense variant. Then the Navy walked away in 1964 over thrust margins on a hot day in the Indian Ocean and bought F-4 Phantoms instead. The RAF version survived another year. The first prototype was 80% complete at Kingston when Defence Secretary Denis Healey killed it on 2 February 1965, citing cost and the Phantom's availability. Britain bought F-4s and developed the subsonic Harrier as a consolation. The supersonic vectored-thrust fighter would not fly anywhere in the world until the F-35B in 2008.
Why modern technology makes it viable now:
The P.1154 was not a fantasy. It had an engine on a test stand, an airframe on jigs, NATO competition wins, and signed contracts. Britain spent £21 million (roughly £500M today) developing it and threw the lot away for a Phantom buy that cost more per aircraft than the P.1154 would have. The aircraft we built instead — the Harrier — became a legend by being subsonic. Imagine what the supersonic one would have been.
ArXiv Paper Digest
2026-06-10
For decades, data center operators have lived by a simple rule: cooler chips are more efficient chips. Crank up the AC, blast cold air across the servers, and you'll save power because cooler transistors leak less current. This intuition shaped billions of dollars worth of cooling infrastructure. This paper says that rule is now wrong for modern low-voltage CPUs — and acting on the outdated assumption is quietly wasting energy at exactly the moment when AI workloads are pushing data centers toward grid-level power limits.
The villain here is a phenomenon called inverse temperature dependence (ITD). In older chips running at higher voltages, transistors got slower as they heated up, so cooling helped them run faster and use less power. But modern CPUs operate at very low supply voltages to save energy, and at those voltages the physics flips: transistors actually get slower when they're cold. To keep performance up, the chip has to raise its supply voltage when it's running cool. And since power scales roughly with the square of voltage, that voltage bump can wipe out the savings you got from reducing leakage.
The result is a non-monotonic curve for performance-per-watt. Instead of "colder = better forever," efficiency now peaks at some intermediate temperature — neither hot nor cold, but a sweet spot somewhere in the middle. Run too cold, and you waste power on overcooling plus a forced voltage hike. Run too hot, and leakage current dominates. The optimum sits in between, and crucially, it's different for every individual chip because of manufacturing variation.
The authors propose a per-CPU thermal optimization scheme that:
The practical upshot: data centers could meaningfully cut both compute power and cooling power simultaneously, without buying new hardware. They just need to stop chasing "as cold as possible" and start tuning each chip to its actual physics.
Daily Automotive Engines
2026-06-10
The compressor wheel spins inside a precisely machined housing, and the gap between the wheel's blade tips and the housing wall — called tip clearance — is one of the most performance-sensitive dimensions in the entire turbo. Too tight, and the wheel will rub itself to destruction during thermal expansion or shaft float. Too loose, and compressed air leaks back over the blade tips from the high-pressure exducer side to the low-pressure inducer side, killing efficiency.
This back-leakage is called tip leakage flow, and it's a parasitic loss that scales badly. The pressure differential across each blade tip drives air through the gap as a swirling vortex, which then collides with the next blade's working flow, generating turbulence and heat. The energy used to compress that escaped air is simply wasted, showing up as higher compressor outlet temperatures for the same pressure ratio.
Rule of thumb: Every 1% increase in tip clearance as a percentage of blade height costs roughly 1.5% in compressor efficiency. On a typical 60mm wheel with 15mm blade height, going from 0.3mm clearance (2% of blade height) to 0.6mm clearance (4%) drops efficiency by about 3 points — say from 76% to 73%. That sounds small until you realize a 3-point efficiency drop at 25 psi means roughly 40°F higher charge temperature, which costs power and increases knock risk.
Real-world example: Garrett's GTX Gen II series uses a contoured shroud insert that follows the blade tip profile within roughly 0.25mm across the entire blade length, versus older designs that had 0.5-0.7mm clearance at the exducer. This single change accounts for a meaningful chunk of the 2-3 point efficiency gain over the previous generation.
Tip clearance grows over the turbo's life from several mechanisms:
Performance builders sometimes have housings abradable-coated with a soft epoxy or thermally sprayed material. The wheel cuts its own perfect clearance into this coating during break-in, achieving tighter running clearances than would be safe with hard-on-hard contact. This trick comes straight from aviation gas turbine practice.
Daily Debugging Puzzle
strncpy Trap: The "Safe" Function That Forgets the Null Terminator2026-06-10
This function stores a player record from a network packet. The fixed-size field guarantees no overflow, right?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define USER_LEN 16
typedef struct {
char username[USER_LEN];
int score;
} Player;
Player *make_player(const char *name, int score) {
Player *p = malloc(sizeof(Player));
strncpy(p->username, name, USER_LEN); // "safe" copy
p->score = score;
return p;
}
void print_leaderboard(Player **players, int n) {
for (int i = 0; i < n; i++) {
printf("#%d: %s (%d)\n",
i + 1, players[i]->username, players[i]->score);
}
}
Tests pass: short names print fine, long names don't smash the stack. Ship it. Then production logs start spewing garbage usernames like "alexanderthegre\x2a\x00\x00\x00", and one customer's score appears glued onto their name.
Everyone "knows" strncpy is the safe version of strcpy. Everyone is wrong. Read the spec carefully:
strlen(src) < n: strncpy copies the string and pads the remaining bytes with zeros. (Wasteful, but harmless.)strlen(src) >= n: strncpy copies exactly n bytes and writes no null terminator at all.So when name is "alexanderthegreat" (17 chars), the 16-byte username field is filled but contains no \0. The next printf("%s", ...) happily walks past the array, straight into the score field, then into whatever heap metadata or adjacent allocation follows. On a little-endian machine, a score of 42 (0x2A 00 00 00) gets printed as the suffix "*" plus three nulls — exactly the symptom above. With a non-trivial score, you get arbitrary memory leakage. With no nearby null, you get a crash or a security disclosure.
strncpy was never designed for C strings. It was designed in the 1970s for fixed-width, unterminated directory entries in early Unix filesystems. The null-padding behavior is for that use case, not yours. Using it as a "bounded strcpy" is a category error.
Always force-terminate, or use a function designed for strings:
// Option 1: terminate explicitly
strncpy(p->username, name, USER_LEN - 1);
p->username[USER_LEN - 1] = '\0';
// Option 2: snprintf (truncates and always terminates)
snprintf(p->username, USER_LEN, "%s", name);
// Option 3: strlcpy if available (BSD, glibc 2.38+)
strlcpy(p->username, name, USER_LEN);
snprintf is portable, always null-terminates, and signals truncation through its return value (which is the length it would have written). strlcpy is cleaner but not universal. Either is correct; strncpy for a C string is not.
Related landmines worth knowing: strncat takes "max bytes to append", not buffer size — almost always misused. And strndup does null-terminate, despite the similar name. The strn* family is a museum of inconsistent decisions; check the man page every single time.
strncpy is not "safe strcpy" — when the source meets or exceeds the limit it leaves the destination unterminated, so use snprintf or strlcpy when you actually want a bounded C-string copy.
Daily Digital Circuits
2026-06-10
A Bloom filter is a probabilistic data structure that answers "is X in this set?" with two possible answers: definitely not, or probably yes. In software it's clever; in hardware it's transformative, because it replaces a multi-cycle hash table lookup with a fixed-latency lookup that always completes in one clock — perfect for line-rate packet processing.
The structure is a bit array of m bits and k independent hash functions. To insert element X, you compute h₁(X), h₂(X), … hₖ(X), each producing an index into the array, and set those bits to 1. To query, you compute the same k hashes and AND the bits at those indices. If any bit is 0, X was never inserted — guaranteed. If all bits are 1, X is probably in the set, but other insertions may have collectively set those bits (a false positive).
Hardware loves this for three reasons. First, the k hash lookups are independent, so you instantiate k parallel SRAM read ports (or k banks of single-port SRAM) and read all k bits simultaneously in one cycle. Second, hash functions for Bloom filters can be cheap — a few XOR trees over the input bits, often built from CRC polynomials you already have. Third, no collision resolution logic is needed: there are no chains, no rehashing, no probe sequences. Just read, AND, done.
Real-world example: Cisco's high-end switches use Bloom filters in front of their MAC address tables. A packet arrives, the destination MAC hits the Bloom filter, and if the answer is "definitely not in our forwarding table," the switch immediately floods or drops without ever touching the expensive ternary CAM. The Bloom filter sits in a small on-chip SRAM and runs at full line rate (often >1 billion lookups/second). Only the ~1% of packets that pass the filter trigger the slower, power-hungry CAM lookup. Intel's DPDK and many DDoS-mitigation ASICs use the same trick to filter blocklisted IPs.
The sizing rule of thumb: for n inserted elements and target false positive rate p, you need m = -n·ln(p)/(ln 2)² bits and k = (m/n)·ln 2 hash functions. For n=10,000 entries and p=1%, that's ~96,000 bits (12 KB of SRAM) and k≈7 hashes. Halve p to 0.5%, and m only grows by ~15% — false positives drop exponentially per bit added.
The catch: you can't delete. Clearing bits would corrupt other entries that share them. Hardware fixes this with counting Bloom filters (replace each bit with a 4-bit saturating counter) at 4× the memory cost, or by maintaining two filters and swapping them periodically.
Daily Electrical Circuits
2026-06-10
Connect a battery backwards and you can fry an entire board in milliseconds. The classic fix is a series Schottky diode, but at any meaningful current it bleeds voltage and dissipates real heat. The modern fix is a P-channel MOSFET configured as an ideal diode. It conducts in the right direction with only a few milliohms of resistance and blocks reverse current cold.
The wiring is counterintuitive at first. You put the PMOS in the positive supply line with its source toward the load and drain toward the battery — backwards from how you'd instinctively draw it. The gate ties to ground (battery negative) through a resistor, typically 10 kΩ to 100 kΩ, with a Zener clamp (e.g., 12 V) from gate to source to protect Vgs.
Why this works: When the battery is connected correctly, the body diode conducts first, pulling the source up near V+. The gate sits at 0 V, so Vgs = −V+, which turns the PMOS fully on. Current then flows through the low-Rds(on) channel, bypassing the body diode. When the battery is reversed, V+ goes negative, Vgs goes positive, and the FET stays off. The body diode is also reverse-biased — nothing flows.
Concrete example: A 12 V, 3 A robotics board. A series Schottky (SS34, Vf ≈ 0.4 V) drops 0.4 × 3 = 1.2 W and loses you nearly a volt. A SUP75P03-07 PMOS with Rds(on) = 7 mΩ at Vgs = −10 V dissipates I²R = 9 × 0.007 = 63 mW. Twenty times more efficient and the load sees the full battery voltage.
Rule of thumb for FET selection:
Gotcha: If your load has bulk capacitance, the body diode will charge it before the FET turns on. That's usually fine, but during a brief reverse-then-forward connection bounce, the cap can momentarily reverse-bias the FET while charged. For mission-critical designs, add a TVS across the input.
Daily Engineering Lesson
2026-06-10
Centrifugal casting pours molten metal into a rotating mold and lets centripetal acceleration do what gravity can't: pack the metal against the mold wall, force impurities inward, and produce hollow cylindrical parts with no core. The mold spins at 300–3,000 RPM depending on diameter, generating 60–100 G's of effective gravity at the bore.
Why spin instead of pour? In a static mold, gas bubbles, slag, and oxides get trapped randomly throughout the casting. Under high G-load, density wins: dense iron flings outward against the mold, while lighter impurities (sulfides, dross, gas) migrate to the inner surface. That inner layer is later machined away, leaving a clean, dense bore. The outer surface has near-forging grain density with no shrinkage porosity.
Three flavors:
Real-world example: ductile iron sewer and water pipe up to 60" diameter is almost exclusively centrifugally cast. A 36" pipe spins around 400 RPM in a water-cooled steel mold; the cast pipe is ejected in under two minutes and the mold immediately reused. The process produces 20-foot lengths with wall tolerance under 1/16" and a microstructure that handles 350 psi working pressure with no welds or seams.
Rule of thumb — the G-factor: centripetal acceleration at the bore should be 60–75 G's for sound iron castings, higher for thinner walls. Calculate as:
G = (RPM/30)² × r / g, where r is bore radius in meters, g = 9.81 m/s².
For a 0.3 m radius bore at 500 RPM: G = (16.67)² × 0.3 / 9.81 ≈ 8.5 — too low. Bump to 1,500 RPM: G ≈ 76. That's why small-diameter parts spin faster than big ones.
Limits: only axisymmetric shapes, only the outer profile is precise (inner bore needs machining), and unequal density alloys can segregate — high-tin bronze bearings sometimes show tin-rich inner zones that hurt fatigue life if not managed with cooling rate.
Forgotten Books
2026-06-10
Book: Woman's Institute Library of Cookery, Vol. 2: Milk, Butter, and Cheese; Eggs; Vegetables by Woman's Institute of Domestic Arts and Sciences (1923)
Read it: Internet Archive
Tucked into the preface of a 1923 cookbook — a reprint of 1918 material — is a sentence so casually radical for its time that it's easy to miss. The Woman's Institute, a correspondence school in Scranton, Pennsylvania that taught domestic sciences to women by mail, included this aside in its second volume:
"A luncheon menu, in which a cheese dish is substituted for meat, is of interest in this connection, for it shows the housewife, early in her studies, not only how to combine dishes to produce a balanced meal, but also how to make up a menu in which meat is not needed."
"In which meat is not needed." Read that again. This was written when the average American ate beef as a moral duty, when "vegetarianism" was a fringe term associated with Seventh-day Adventists, John Harvey Kellogg's Battle Creek sanitarium, and assorted utopians. Yet here is a mainstream cookbook — sold to bourgeois housewives by the tens of thousands — teaching them that protein arithmetic could be solved without an animal on the plate.
The context matters. The original copyright is 1918, which means this lesson was written during the tail end of World War I, when Herbert Hoover's U.S. Food Administration was running propaganda campaigns urging Americans to observe "Meatless Mondays" and "Wheatless Wednesdays" so that grain and beef could be shipped to Europe. The Woman's Institute was riding that cultural wave — but doing something quieter and more durable than a wartime poster. They were teaching the underlying nutritional logic: that protein is protein, that a meal's balance is what counts, and that the cow is one delivery vehicle among several.
The science was sound, if a bit ahead of its formal articulation. The concept of "complete protein" wasn't named until Thomas Burr Osborne and Lafayette Mendel's amino-acid research crystallized in the 1910s-1920s. Dairy proteins (casein, whey) are indeed complete, containing all essential amino acids — a fact the Woman's Institute apparently grasped well enough to teach housewives to swap a cheese soufflé for a chop without nutritional guilt.
Compare this to the trajectory that followed:
The Woman's Institute had quietly mailed the concept to housewives' kitchens fifty-five years before Lappé, and they did it without ideology — no environmental sermon, no animal-welfare appeal, no health-food earnestness. Just the matter-of-fact observation that if you understood what was on the plate, you didn't need to put meat on it.
Forgotten Darkroom
2026-06-10
Book: CIA Reading Room cia-rdp88-01314r000100660028-3: INTERNATIONAL NICKEL by CIA Reading Room (1968)
Read it: Internet Archive
Tucked into the masthead of a glossy 1968 corporate magazine — one obscure enough that the CIA archived a copy — is a single sentence that reads, today, like a prophecy hiding in plain sight:
"The International Nickel Company, Inc. is the U.S. affiliate of The International Nickel Company of Canada, Limited—producer of Inco Nickel, Copper, Cobalt, Iron Ore, Tellurium, Selenium, Sulphur, and Platinum, Palladium and other Precious Metals."
This was INTERNATIONAL NICKEL MAGAZINE 1968/4, a house organ published by Inco — then one of the largest mining conglomerates on Earth — featuring articles like Bruce Hutchison's "TRUDEAU!" and Robert L. Caleo's "RUN THE BLOCKADE." The cover, the editors proudly explain, was an "assemblago" by graphic designer Abe Gurvin: a collage of materials "representative of and indigenous to the situations represented."
The forgotten knowledge isn't in the articles. It's in that boilerplate list of metals.
In 1968, tellurium and selenium were industrial afterthoughts — recovered from the anode slimes left over when Inco refined copper and nickel at its Sudbury, Ontario operations. Selenium got used in xerography drums (the photocopier was its big customer) and red glass. Tellurium went into steel as a free-machining additive and into vulcanized rubber. Both were so minor that mining companies couldn't be bothered to produce them on purpose — you only got them by mining nickel and copper for something else.
Fast-forward sixty years. Cadmium telluride solar panels are now the second-most-deployed photovoltaic technology on the planet. First Solar, a single American company, consumes a sizable fraction of global tellurium supply. Selenium is the "Se" in CIGS solar cells (copper indium gallium selenide) and is essential to many semiconductors. Both metals are now considered strategic materials — the U.S. Department of Energy lists tellurium on its critical-minerals watchlist precisely because supply is so thin and so dependent on copper-refining byproduct streams.
Inco, listing these metals casually alongside iron ore, had no idea it was sitting on the feedstock for a clean-energy revolution. The company eventually merged into Vale in 2006. Meanwhile, the question of where tellurium comes from has become a geopolitical concern serious enough to drive Department of Defense stockpiling studies.
There's a deeper lesson here. The CIA was watching International Nickel because of cobalt and nickel — Cold War alloy metals for jet engines and armor. Nobody in 1968 was tracking tellurium. The strategic metal of 2026 was, in 1968, literal sludge skimmed off the bottom of a copper refining tank.
If you want to know what the critical material of 2086 will be, the answer is probably already listed somewhere — buried in a boilerplate paragraph, beneath the magazine's cover story.
Forgotten Patent
2026-06-10
In the 1880s, American railroads had a deadly problem: once a train left the station, it vanished. Dispatchers had no way to warn engineers about a stopped train ahead, a washed-out bridge, or another locomotive approaching on the same track. Telegraph wires ran alongside the rails, but the trains themselves were electronically silent — a hurtling, blind mass of iron.
Granville T. Woods, a self-taught Black inventor from Columbus, Ohio, fixed this with one of the most audacious patents of the 19th century. On November 29, 1887, the U.S. Patent Office granted him US 373,915, the "Induction Telegraph System" — a way for moving trains to send and receive messages without ever touching a wire.
The trick was electromagnetic induction. Woods strung a long telegraph conductor along the rail bed and mounted a flat coil on the underside of the train car. Current pulsed through the trackside wire created a magnetic field; the train's coil — riding inches above it — picked the field up by induction and converted it back into a telegraph signal. The system worked in reverse, too: a key tapped inside the moving car could induce a signal back into the trackside wire, where standard Morse equipment at any station along the line would receive it.
No brushes. No third rail. No physical contact. Just two coils coupling through air at thirty miles an hour.
Woods was not unknown — he held nearly 60 patents and had already beaten Thomas Edison in two interference proceedings over priority. Edison even tried to hire him; Woods declined and stayed independent. But the Induction Telegraph was his masterpiece. Within a few years, railroads on both sides of the Atlantic were licensing variations of it, and the basic concept — wireless messaging to and from a vehicle in motion — would not be matched commercially for another forty years.
The modern echo is uncanny. What Woods built is, structurally, the ancestor of three different 21st-century technologies:
Could it be built better now? It already has been — South Korea's OLEV (Online Electric Vehicle) buses inductively charge from coils buried in the roadway as they drive, a direct mechanical descendant of US 373,915. The only thing Woods lacked was the semiconductor to demodulate kilohertz signals cleanly. Give him a $0.20 microcontroller and he would have built LTE.
Daily GitHub Zero Stars
2026-06-10
Language: HCL
This repo is a ready-to-deploy Terraform scaffold for Azure lab environments, designed to spin up three environments (typically dev/staging/prod) across two geographic sites. If you've ever needed to mock up a realistic multi-region Azure topology for testing, training, or a proof-of-concept — and groaned at the thought of writing all the boilerplate yourself — this is the kind of starter kit that saves an afternoon.
What makes it interesting:
Who might find this useful:
The catch: with no README detail surfaced and zero stars, you'll want to read the HCL before terraform apply to understand exactly what gets provisioned and what it'll cost. Lab templates can quietly include expensive resources (App Gateways, AKS clusters) that bite if left running.
Daily Hardware Architecture
2026-06-10
You write a struct field by field. Eight separate stores, eight separate cache line writes? Not even close. The store buffer's coalescing logic watches for stores that target the same cache line and merges them into a single write before they leave the core. The cache hierarchy never sees your eight stores — it sees one.
Here's the mechanism. Each store buffer entry holds an address, a value, and a byte mask telling which bytes within the cache line are valid. When a new store retires, the buffer checks if a pending entry already covers the same line. If yes and the entry hasn't drained yet, the new bytes get ORed into the existing entry's mask and the value gets merged. The original entry stays; no new slot is allocated.
This matters in three places:
arr[i] = a; arr[i+1] = b; doesn't double your L1 write traffic.sfence and mfence flush the buffer, which means they end the coalescing window. A fence in the middle of your struct initialization can turn one cache line write into eight.Concrete example: Initializing a 64-byte ring buffer descriptor with 8 individual mov [rdi+offset], reg instructions. Without coalescing: 8 store buffer entries → 8 L1 writes (or 8 PCIe transactions on WC memory). With coalescing: 1 entry → 1 write. On a Xeon with 56-entry store buffer and a slow PCIe path, this is the difference between 2M descriptors/sec and 250K.
Rule of thumb: Stores within ~12 cycles of each other to the same 64-byte line will almost always coalesce. Beyond ~50 cycles, the entry has likely drained. Cluster your stores to the same line together, and never put a fence in the middle.
The non-obvious failure mode: stores that partially overlap a pending entry can prevent coalescing entirely on some microarchitectures — the buffer punts to ordering rules and allocates a new entry. Always write whole-byte-aligned values when possible.
Hacker News Deep Cuts
2026-06-10
Link: https://steel.dev/blog/claude-code-deep-research-autopsy
HN Discussion: 1 points, 0 comments
Most writing about agentic coding tools falls into two camps: breathless demos that skip the failure modes, or dismissive takes that never engage with what actually works. An "autopsy" framing promises the third thing — a careful post-mortem of how Claude Code performs when pushed into deep research territory, written by people at Steel (a browser-infrastructure-for-agents company who have skin in the game on agent reliability).
Based on the title and source, the piece almost certainly digs into:
Why this matters for a technical audience: every team currently evaluating "should we build on top of Claude Code or roll our own agent harness?" is making this decision with vibes, not data. A detailed write-up of where a popular agent harness actually breaks on a non-trivial task is exactly the kind of artifact that helps people choose. It also lands at a moment when "deep research" has become a marketing term across every frontier lab's product line — independent evaluations are scarce and valuable.
The post-mortem genre is underrated in this space. We get plenty of launch posts and benchmark charts, but very little patient analysis of why a long-horizon run went sideways. Those are the writeups that change how practitioners build.
HN Jobs Teardown
2026-06-10
Source: HN Who is Hiring
Posted by: asmyers1793
Opsani is the most strategically revealing posting in this batch because the company itself is a bet on a very specific thesis: that cloud infrastructure tuning is too complex for humans to do well, and ML can do it better. Everything in the posting follows from that thesis.
The stack tells the story. They pair Angular + TypeScript on the frontend with a Python backend running Keras and TensorFlow. That's not a generic "we use ML" stack — Keras over a Python service layer is the classic 2018–2020 production ML pattern, predating the PyTorch dominance that came later. The Angular choice is also telling: it suggests an enterprise sales motion (Angular skews toward teams selling to IT buyers, not consumer-facing startups, which by this point had largely moved to React).
Stage signals. Series A from Redpoint and Costanoa is a strong signal — Costanoa specifically targets enterprise infra and applied ML. "All Roles" combined with "All remote for now" (the posting is from the COVID-era March 2020 thread) means they're scaling broadly but reactively shifting work-from-home policy. Companies that say "all remote for now" rather than "remote-first" are typically office-default cultures that haven't yet decided what comes after.
What's interesting about the pitch. The product is meta: it's DevOps for DevOps. They sell "continuous cloud optimization" — basically autoscaling and config tuning driven by reinforcement learning. This is a hard problem because:
Green flags: Specific stack disclosure (no buzzword soup), named investors, mention of Agile/DevOps discipline rather than vague "fast-paced" language, and explicit care about "high-quality codebase" — that phrasing usually comes from engineering-led founding teams.
Red flags: The posting is truncated mid-sentence ("All this is in D…") which suggests rushed submission. "All Roles" is also concerning at Series A — it implies either explosive growth or a gap-filling scramble. And the ML stack here is doing a lot of marketing work; Keras/TF for an optimization problem is plausible but not obviously the right tool versus, say, Bayesian optimization libraries.
Daily Low-Level Programming
2026-06-10
The x86 architecture guarantees that if you write a byte to memory and then execute that byte as an instruction, the CPU sees the new value. This sounds trivial. It is not. The CPU has already fetched, decoded, and possibly speculatively executed instructions hundreds of bytes ahead of the program counter — and any of those bytes might be the ones you just wrote.
To preserve the architectural illusion, every store address is checked against the addresses of in-flight instructions. The mechanism is called self-modifying code (SMC) detection, and it lives in the front-end. When a store retires (or sometimes when it dispatches) the physical address is compared against the addresses of instructions currently in the pipeline, the µop cache, and the L1 instruction cache lines being tracked for execution.
If a collision is detected, the CPU performs a machine clear: flush the pipeline, invalidate the µop cache (or at least the affected entries), and refetch from the new program counter. On Intel cores this costs roughly 1000–3000 cycles per event. It happens regardless of whether the modified instruction was going to execute.
Concrete example: A JIT compiler emits machine code into a buffer, then jumps to it. The naive pattern — emit, jump, emit more, jump — triggers SMC clears on every emit. V8 and HotSpot mitigate this by emitting code into a fresh page that is not in the I-cache, then issuing the necessary cross-modifying sequence (store, serializing instruction like CPUID or a far jump on older CPUs, execute). On modern x86 the serializing barrier isn't required for the writing thread, but another thread executing the modified code needs a serializing instruction after the writer's store becomes visible — see Intel SDM Vol. 3, section 8.1.3.
A subtler trap: code prefetch. The hardware prefetcher reads the next cache line of instructions speculatively. If your data write hits a line the I-prefetcher already pulled, you eat the clear even though no instruction from that line ever executed. This is why hot data structures placed near hot code — common in template-heavy C++ binaries — sometimes show mysterious SMC events in perf stat -e machine_clears.smc.
Rule of thumb: Keep writable data on pages at least 4 KB away from any code that runs in the same hyperthread, and prefer to write JIT output into a separate mmap region with PROT_READ|PROT_WRITE, then mprotect to PROT_READ|PROT_EXEC. The mprotect implicitly serializes via TLB shootdown, side-stepping the SMC machinery entirely.
Check your binaries: perf stat -e machine_clears.smc ./yourprogram. Anything above a few hundred per second on a non-JIT workload means code and data share cache lines somewhere.
RFC Deep Dive
2026-06-10
IPv6 was designed with a serene assumption that turned out to be wrong: a host has one address per interface, and that address routes wherever it needs to go. In the real world — especially with residential multihoming, enterprise dual-WAN, and IPv6 PA (provider-aggregatable) addressing — a single interface routinely holds two or more addresses from different prefixes, each delegated by a different upstream. RFC 8028 is the small but load-bearing patch that makes this scenario actually work.
The failure mode. Imagine a laptop on Wi-Fi with two routers on the link: Router A advertises prefix 2001:db8:a::/64, Router B advertises 2001:db8:b::/64. The host autoconfigures one address from each. Both routers announce themselves as defaults. The host picks a source address using RFC 6724 (Default Address Selection) — say 2001:db8:a::1234 — and then, independently, picks a next-hop router. If it picks Router B, the packet leaves with a source address that belongs to A's network. Router B's upstream ISP applies BCP 38 ingress filtering and drops it. Black hole. The user sees "the internet works sometimes."
The fix. RFC 8028 updates Neighbor Discovery (RFC 4861) with one rule: when a host has multiple default routers and multiple source addresses, it MUST prefer a router that advertised the prefix of the chosen source address. If no such router exists, fall back to normal default router selection. The host learns which router announced which prefix from the Router Advertisement itself — the PIO (Prefix Information Option) is now a binding between router identity and source prefix, not just a hint about what to autoconfigure.
Design decisions worth noting.
Why this matters in 2026. Multihomed IPv6 is no longer exotic. A typical home with fiber + LTE failover, an enterprise with two ISPs and SLAAC on the user VLAN, a datacenter ToR with two upstreams — all of them hit this problem the moment a host gets addresses from both upstreams. Without RFC 8028, the symptoms are intermittent and look like packet loss, not a routing bug, which makes them maddening to debug. With it, Linux (since around kernel 4.x via net.ipv6.conf.*.accept_ra_rt_info_* and related knobs), modern Windows, and macOS quietly do the right thing.
Historical note. Fred Baker (Cisco fellow, IETF chair 1996–2001) and Brian Carpenter (IAB chair, longtime IPv6 architect) wrote this near the end of a multi-year IETF effort to retrofit IPv6 for the messy realities the original designers had hand-waved away. It's a recurring theme in the v6 saga: an elegant model meets BCP 38, NAT-free multihoming, and PA addressing, and someone has to write the RFC that says "actually, the host has to be smarter."
Stack Overflow Unanswered
2026-06-10
Stack Overflow: View Question
Tags: c, linux, linux-kernel, shared-memory, demand-paging
Score: 0 | Views: 85
The asker has a working Netlink-based log pipeline from a kernel module to a userspace consumer, but wants to experiment with something faster — specifically, demand-paged shared memory where the kernel writes log records into pages that userspace maps directly. The goal is zero-copy delivery: no copy_to_user, no socket buffer round-trip, just a ring buffer in memory both sides can see.
Why is this interesting? "Shared memory between kernel and userspace" sounds simple but has several sharp edges that AI assistants tend to gloss over:
struct vm_operations_struct with proper open/close refcounting, or pin the module via try_module_get..fault handler in vm_operations_struct. The handler allocates a page on first access (via alloc_page or vmalloc_to_page if backed by vmalloc) and returns it. This is what remap_pfn_range avoids by mapping everything up front.io_uring-style: keep producer/consumer indices in the shared region with smp_store_release/smp_load_acquire, and fall back to an eventfd or poll() on the chardev only when the consumer needs to sleep.A sketch:
.mmap on its file_operations..mmap, set vma->vm_ops to your ops struct with a .fault handler. Set VM_DONTEXPAND | VM_DONTDUMP. Do not call remap_pfn_range — let faults drive allocation..fault handler computes which slot in the ring is being touched, allocates a page (cached, kernel-owned), stuffs it into vmf->page, and returns 0. Track allocated pages in a per-mapping array so .close can free them.poll_wait on the chardev, kernel calls wake_up_interruptible when crossing the empty->non-empty edge.Gotchas: cache coherency is usually fine on x86 (write-back, snooped) but on ARM you may need flush_dcache_page. Don't use vmalloc pages with remap_pfn_range — it'll silently work in subtle ways. And remember: faster than Netlink is not free — you're trading syscall cost for memory-barrier discipline, which is much harder to debug.
Daily Software Engineering
2026-06-10
You've built read-your-writes consistency, so users see their own updates. Job done? Not quite. There's a sibling problem: a user refreshes the page and sees older data than they saw a second ago. The post they just watched appear has vanished. The comment count went from 47 back to 45. Nothing was deleted — they just hit a replica that's lagging behind.
Monotonic reads guarantees that once a user has seen a value at version V, no subsequent read returns a version older than V. Time moves forward for that user, even if the system as a whole is eventually consistent.
Why this happens: Most read-heavy systems fan reads across replicas for throughput. Replica A might be 200ms behind the leader; replica B might be 50ms behind. Two consecutive requests from the same user can land on different replicas, and if A is staler than B, the user time-travels backward.
Real-world example: A user posts a comment on a news article. Read-your-writes routes them to the leader, so they see comment #48 immediately. They navigate away, come back 5 seconds later, and the request hits replica A (lagging). Now they see comment #46 as the latest — their own comment vanished, plus two others they'd already seen. They post it again. Now there are duplicates. Multiply by a million users and you have a support nightmare.
How to implement it:
Rule of thumb: If your replication lag p99 is L milliseconds and you're using sticky routing, expect ~1/N of users to hit a freshly-failed replica per failover, where N is your replica count. Plan a fallback: on the new replica, block reads until its position ≥ the user's last-seen token, with a timeout of 2×L before degrading to "best effort."
What this isn't: Monotonic reads doesn't promise freshness — you might be 10 seconds behind reality forever. It only promises you won't go backward. Pair it with read-your-writes for a coherent per-user view, even on an eventually consistent backend.
Tool Nobody Knows
2026-06-10
Every greybeard has been here: a drive is failing, SMART is screaming, and someone wants the data. You reach for dd, hit the first bad sector, and watch the kernel retry for ten minutes while the head bangs itself to death. Then the command dies and you've got nothing — no image, no idea which blocks made it, no way to resume.
GNU ddrescue (not the unrelated dd_rescue, which is a different tool from a different author) was written by Antonio Diaz Diaz in 2004 for exactly this problem. It is the right tool, and almost nobody in your office knows it exists until they need it.
The trick is the mapfile (older docs call it a logfile). ddrescue records exactly which sectors are good, bad, untried, or non-trimmed, persists that map after every block, and uses it to resume. So you do a fast first pass grabbing all the easy data, then come back for the failing sectors after the good data is already safe on another disk.
# Pass 1: skip aggressively past errors, no retries.
# Get the easy 95% before the drive dies completely.
ddrescue -f -n -b4096 /dev/sdb /mnt/safe/image.img /mnt/safe/sdb.map
# Pass 2: now retry the holes the map says are bad.
# Reverse direction often helps when the head is stuck.
ddrescue -f -d -r3 -R /dev/sdb /mnt/safe/image.img /mnt/safe/sdb.map
Flags worth knowing:
-n / --no-scrape: skip the slow read-every-byte-of-a-bad-block phase on the first pass.-d: open with O_DIRECT so you bypass the kernel page cache (no fake-good reads from RAM).-r3: retry bad areas three times before giving up.-R: reverse direction. Spinning drives sometimes read backwards better.-b4096: physical sector size. Matters for 4K-native drives.-i / -s: input position and size. Carve out just one partition.--domain-mapfile: limit work to a previous run's good or bad areas.Resuming is automatic — point at the same mapfile and ddrescue picks up where it stopped. You can yank the drive, refrigerate it overnight (yes, really, this is a documented technique for stiction-prone heads), and continue tomorrow. The mapfile is plain text:
$ head -5 sdb.map
# Mapfile. Created by GNU ddrescue version 1.27
# current_pos current_status current_pass
0x1A3F4000 ? 2
# pos size status
0x00000000 0x1A3F4000 +
0x1A3F4000 0x00001000 *
Status codes: + finished, ? untried, * non-trimmed, / non-scraped, - bad. You can hand-edit it to force a retry of a region, or feed it to ddrescueview for a graphical heatmap of the drive.
One more trick: rescuing from an already-partial image works. If your colleague started with naive dd conv=noerror,sync and produced a partial file full of zero-filled holes, ddrescue can read the original drive and only fill the gaps:
ddrescue --generate-mode /dev/sdb partial.img generated.map
ddrescue -d -r3 /dev/sdb partial.img generated.map
The mainstream alternative — dd conv=noerror,sync — retries forever on bad sectors, has no resume, no map, and silently substitutes zeroes. It's the wrong tool. ddrescue treats the failing drive as a resource to harvest carefully, not a punching bag.
dd wastes its remaining life thrashing on bad sectors; ddrescue's mapfile lets you grab the good data fast, then negotiate with the bad sectors afterward — with full resume, reverse reads, and a plain-text record of exactly what survived.
What If Engineering
2026-06-10
Phoenix in July. 47°C at noon. What if we parked a sunshade in geostationary orbit and dimmed the city by 10%? Not the whole planet — just one stubborn dot in the Sonoran Desert.
The geometry problem (and why GEO is the only option). Geostationary orbit sits at 35,786 km altitude. From there, an object appears fixed over one point on Earth's surface — essential, because Phoenix doesn't move and we want continuous shade. Lower orbits race across the sky in minutes; only GEO holds station.
Phoenix metro covers roughly 1,340 km² — call it a 41 km diameter circle. To cast a useful penumbra over that footprint from 35,786 km away, we need to account for the Sun's angular diameter (0.53°, or 9.3 milliradians). The Sun's disk, projected from GEO distance, has a "fuzz radius" of:
r_fuzz = 35,786 km × tan(0.265°) ≈ 165 km
That's the catch. Any shade smaller than ~330 km across casts only a partial penumbra — no full umbra ever touches Earth. A 1-km shade dims Phoenix by a vanishingly small fraction. Let's compute it honestly.
Back-of-envelope dimming. A disk of area A_shade blocks sunlight reaching a ground patch in proportion to its fraction of the Sun's apparent disk. The Sun's apparent area at GEO distance:
A_sun_apparent = π × (165 km)² ≈ 85,500 km²
A 1-km diameter shade has area 0.785 km². Dimming fraction:
0.785 / 85,500 ≈ 0.0009%
Phoenix receives ~1,000 W/m² at noon. Our kilometer-wide shade blocks 9 mW/m². A single sheet of printer paper held overhead does more.
Scaling up to actually matter. To dim Phoenix by 10% (a meaningful 5°C drop in peak heat), we need to block 10% of the solar disk as seen from the city. That requires a shade area of 8,550 km² — roughly 104 km in diameter. Now we're building a structure larger than Rhode Island, floating in GEO.
Mass budget. Use mylar-like film at 5 g/m² (the JWST sunshield is ~25 g/m², but solar sails have hit 3 g/m²). Mass:
8.55 × 10⁹ m² × 5 g/m² = 42,750 tonnes
SpaceX Starship promises ~100 tonnes to GEO. That's 428 launches, ignoring the tugs needed to actually deploy and tension a film the size of Connecticut. At an optimistic $50M/launch, lift alone runs $21 billion — before structure, attitude control, or station-keeping against solar radiation pressure.
The cruel torque. Solar radiation pressure at 1 AU is ~9 μN/m². On 8.55 × 10⁹ m², that's 77 kN of constant thrust pushing the shade away from the Sun. Any off-axis tilt creates torque that will spin the structure unless continuously corrected. The shade is, structurally, a colossal solar sail trying to escape.
And it misses half the time. GEO satellites drift north and south of the equator seasonally, and the Sun-Earth-shade geometry shifts with Earth's axial tilt. Without active repositioning of ~10° of inclination twice a year, the shadow wanders off Phoenix entirely in spring and fall. You need ion thrusters firing constantly.
Meanwhile, painting every Phoenix roof white achieves the same albedo effect for the price of a single launch.
Wikipedia Rabbit Hole
2026-06-10
Wikipedia: Read the full article
Every quartz watch on every wrist, every microcontroller heartbeat, every GPS satellite's timekeeping signal — they all descend from a single experiment performed in 1917 by a Scottish-born engineer at Western Electric who was working with, of all things, a piece of crystallized cream of tartar.
Alexander McLean Nicolson built the world's first crystal oscillator using Rochelle salt — potassium sodium tartrate — a piezoelectric crystal that had been discovered way back in 1655 by an apothecary in La Rochelle, France, originally as a laxative. Pierre and Jacques Curie had demonstrated its piezoelectric properties in 1880 (yes, that Pierre Curie, before Marie), but it took Nicolson to realize that if you could make a crystal vibrate by applying voltage, you could use that mechanical resonance to regulate an electronic circuit at an extraordinarily precise frequency.
This is the magic that powers nearly all modern electronics: a tiny sliver of crystal acts as a mechanical tuning fork that's so stable, so resistant to drift, that an oscillator built around it will tick at the same frequency for years. The crystal in your wristwatch vibrates 32,768 times per second — a power of two chosen specifically so a chain of binary dividers can produce a clean one-second pulse.
What's wild is the historical race. Nicolson filed his patent in 1918. Walter Cady at Wesleyan independently built a quartz oscillator in 1921 and is often given credit for the modern version (Rochelle salt is too fragile and moisture-sensitive for serious use). The two ended up in a protracted patent dispute that Nicolson largely won — Bell Labs sued Cady, and the courts upheld Nicolson's priority. Yet Cady's name appears in most textbooks today, partly because quartz proved to be the practical winner.
Nicolson didn't stop at oscillators. He also:
And yet outside of obscure engineering history papers, almost nobody knows his name. There's no Nicolson Building at MIT. No "Nicolson frequency" unit. Western Electric absorbed his contributions into Bell Labs' broader legacy, and the popular story of quartz timekeeping skips straight to Seiko's 1969 Astron wristwatch — which used a crystal oscillator that was, in a direct lineage, Nicolson's invention refined across 52 years.
Here's the kicker: the GPS satellites overhead right now contain atomic clocks, but they also contain crystal oscillators that discipline them. The entire $100+ billion global positioning industry rests on a piezoelectric trick first demonstrated with a French laxative ingredient by a man you've never heard of.
Daily YT Documentary
2026-06-10
Channel: History by Nature (21 subscribers)
In April 1815, Mount Tambora on the Indonesian island of Sumbawa produced the most powerful volcanic eruption in recorded human history — a VEI-7 event that ejected roughly 150 cubic kilometers of material and launched sulfate aerosols high into the stratosphere. This video walks through what happened next: a planet-wide veil of particles that reflected sunlight, dropping global temperatures by about a degree Celsius and triggering what came to be called the "Year Without a Summer" in 1816.
The downstream effects are what make Tambora such a compelling case study in how a single geological event can ripple through human civilization. Frost killed crops in New England in June and July. Europe saw catastrophic harvest failures, food riots, and a typhus epidemic. Monsoon disruption in Asia is linked to a cholera pandemic that eventually reached Europe. Even cultural history bent around it — Mary Shelley wrote Frankenstein during that gloomy, rain-soaked Swiss summer, and the strange skies inspired Turner's vivid sunset paintings.
The channel is tiny (21 subscribers) and the title leans dramatic, but the underlying topic is well-documented earth science and climate history. If you've never connected the dots between a single volcano and the global crop failures, famines, and disease outbreaks that followed, this is a solid primer on volcanic forcing of climate.
Daily YT Electronics
2026-06-10
Channel: V. Hunter Adams (7850 subscribers)
This is a final project demo from Cornell's ECE 5760 (Advanced Microcontroller Design), a course that consistently produces some of the most impressive student FPGA work on YouTube. Student Qishun Zhang shows off a fully playable arcade-style game built from the ground up on an FPGA — meaning the sprite engine, collision detection, sound synthesis, and VGA display driver are all implemented in hardware, not running on a CPU.
What makes ECE 5760 demos worth your time is the depth: these aren't Arduino sketches. Building a video game on an FPGA forces you to think carefully about parallel hardware design — pixel pipelines that must hit timing every clock cycle, framebuffer memory architecture, audio DACs, and synchronizing player input with the display refresh. The accompanying project webpage (linked in the description) typically includes full Verilog/SystemVerilog source, block diagrams, and a written report explaining the design choices.
Even if you only watch the demo and skim the project page, you'll see what a serious capstone-level FPGA project looks like end-to-end. It's a great reference point if you're learning HDL and wondering what kind of system you could realistically build once you're past blinky-LED tutorials. Hunter Adams' channel as a whole is a goldmine for FPGA and DSP enthusiasts, and this video is a good entry point into the broader course archive.
Daily YT Engineering
2026-06-10
Channel: TutoRYZ (28 subscribers)
This is the opening installment of a structured lecture series on soil mechanics, the branch of geotechnical engineering that governs how foundations, retaining walls, embankments, and slopes actually behave under load. The pickings in today's batch were thin — most candidates were hashtag-spammed Shorts or exam-prep clickbait — but this one earns its slot by being a real lecture aimed at diploma and degree students who need the fundamentals from first principles.
Expect coverage of the building blocks: the three-phase system of soil (solids, water, air), basic index properties like void ratio, porosity, water content, and unit weight, and the phase relationships that tie them together. These are the equations every geotechnical calculation eventually leans on — bearing capacity, settlement, seepage, slope stability — so getting them properly grounded matters more than the topic's reputation for being dry suggests.
At 28 subscribers, the channel is genuinely tiny, which usually means rough production but also means the instructor is teaching because they want to, not for the algorithm. For a viewer who's encountered soil mechanics through scattered MCQ videos and wants a sequential walkthrough instead, this and its follow-up Lecture-2 (also posted in this batch) offer a coherent starting point.
Daily YT Maker
2026-06-10
Channel: Grill & Furniture (4140 subscribers)
This video documents the fabrication and installation of a 40x30 foot terrace roofing shed using a portal frame structure — a classic, efficient design widely used for industrial buildings, warehouses, and agricultural sheds. The description hints at the underlying engineering: a series of rigid frames braced longitudinally but unbraced transversely, which is exactly how real portal frames distribute load through rigid knee joints rather than relying on cross-bracing.
For viewers interested in metal fabrication, welding, and structural engineering, this kind of build is a great teacher. You get to see how raw steel sections become rigid frames, how columns are anchored, how rafters are joined at the apex and eaves, and how purlins tie the whole structure together to support the roof sheeting. Watching the sequencing — foundation prep, column erection, rafter lifting, bracing, and final roofing — gives a practical sense of how a small fabrication crew tackles a mid-size job without heavy crane infrastructure.
Caveat: the title leans on hashtag spam (#viral #trending), which usually signals lower-effort content. However, the description shows the creator actually understands what they're building, which is a good sign that the footage has real instructional value rather than just being a music montage.
Daily YT Welding
2026-06-04
Channel: D'Lyte Motorsports (381 subscribers)
Commercial fixture tables from brands like Siegmund or CertiFlat can run anywhere from $2,000 to $8,000+ for a decently sized top, which puts them out of reach for most hobbyists and small shops. This build tackles that problem head-on by walking through a from-scratch construction of a steel grid-top fixture table with a mag-drilled hole pattern and a rolling frame.
What makes this worth watching over the dozens of similar "I built a welding table" videos is the focus on the hole pattern accuracy — the part that actually makes a fixture table useful. Getting holes square, parallel, and on a consistent grid is what lets you reuse clamps, stops, and squares across the surface. Using a mag drill rather than a drill press or CNC is a realistic approach for a home shop, and watching how the maker jigs and indexes the work to keep holes aligned is the kind of practical metalworking knowledge that transfers to plenty of other projects.
The rolling frame portion also covers the often-overlooked structural question: a fixture table needs to be rigid enough that clamping forces don't twist the top, which means triangulated bracing and locking casters, not just a welded box on wheels. Expect a real shop-build pace rather than a montage.
