27 newsletters today.
Abandoned Futures
2026-05-20
While Oak Ridge gets all the molten-salt glory, Los Alamos quietly operated the world's first liquid-metal-fueled reactor β the Los Alamos Molten Plutonium Reactor Experiment (LAMPRE-I) β from 1961 to 1963. It ran for over 2,500 hours at full power, using molten plutonium-iron eutectic fuel at 650Β°C, and was then shut down, dismantled, and effectively forgotten. The follow-on LAMPRE-II was canceled before construction. Sixty-three years later, every "advanced reactor" startup pitching liquid-fueled fast reactors is rediscovering ground that Los Alamos already walked.
What it was. LAMPRE-I was a 1 MW thermal fast-spectrum reactor designed by David Lillie's team at LASL. The fuel was not solid pellets but a liquid plutonium-iron alloy (Pu-2.5 wt% Fe) contained in tantalum capsules, cooled by flowing sodium. The vision was breathtaking: a reactor where fission products could be continuously removed from circulating fuel, where xenon poisoning was a non-issue, where you could refuel without shutting down, and where the fast neutron spectrum bred more fuel than it burned. A 500 MW commercial version was sketched in LA-3540 (1966).
Why it died. Several reasons converged:
Why it deserves a second look in 2026. Three things changed:
< 5 Β΅m/year corrosion rates in molten Pu-Fe.The technical record is shockingly complete. LA-3073, LA-3540, and LA-2833 contain the full operational data β neutronics, corrosion measurements, thermal hydraulics. Yet when TerraPower, Oklo, and Southern Company pitch their fast reactors, LAMPRE is almost never cited. It's as if the 2,500 hours never happened.
The Chinese, of course, noticed. CIAE in Beijing referenced LAMPRE explicitly in their 2019 roadmap for molten-fuel fast reactors. The Russians built BR-5/BOR-60 with liquid sodium-bonded fuel, drawing the same lineage. America invented this technology, ran it successfully, wrote it up, and walked away.
ArXiv Paper Digest
2026-05-20
If you've ever tried to put an LLM into a real production system, you've felt the awkward seam: the model is a creative, unpredictable thing that generates plausible-sounding text, while the surrounding software is rigid, deterministic, and expects exact inputs. Most teams duct-tape across that seam with retries, JSON parsers, validators, and human approvals β but nobody really names the seam itself or treats it as a thing to design.
This paper does exactly that. It gives the seam a name: the stochastic-deterministic boundary, or SDB. And it argues that the SDB is the single most important architectural concept in any production LLM agent β more important than the model choice, the prompt, or the framework.
The author defines the SDB as a four-part contract:
The insight is that almost every reliability problem in production agents comes from a poorly-specified version of one of these four pieces. A weak verifier means hallucinations slip through. A commit step that happens before verification means you can't roll back. A vague reject signal means the LLM keeps making the same mistake. Teams that get burned by their agents usually skipped one of these.
From this primitive, the paper builds a methodology for selecting and composing runtime architecture patterns β things like guarded tool use, plan-then-execute, multi-agent review, and human-in-the-loop. Instead of treating these as competing trends, the paper shows they're all just different ways of arranging proposers, verifiers, and commits. That reframing lets you reason about which pattern fits your situation: how reversible are your actions, how expensive is verification, how much latency can you tolerate?
The practical payoff is that engineering teams stop arguing about "should we use LangGraph or build our own?" and start asking the right questions: where exactly does stochastic output become a real-world action, and what's checking it at that exact moment? That's a much more productive conversation, and it maps cleanly onto things SREs and architects already know how to reason about β transactions, idempotency, validation boundaries.
Daily Automotive Engines
2026-05-20
Aluminum blocks are light, but aluminum makes a terrible bearing surface for piston rings β it galls, scuffs, and wears into an oval within thousands of miles. For decades, the fix was pressing cast-iron sleeves into the aluminum block. That works, but it's heavy, it limits how thin the cylinder walls can be, and the dissimilar metals expand at different rates (iron ~11 Β΅m/mΒ·Β°C, aluminum ~23 Β΅m/mΒ·Β°C), creating gap and distortion issues at temperature.
Modern engines increasingly skip the liner entirely and spray a microscopically thin steel coating directly onto the bare aluminum bore. The process is called plasma transferred wire arc (PTWA) or rotating single wire (RSW). A wire of low-carbon steel is fed into a plasma torch (~15,000Β°C) inside the cylinder. The plasma vaporizes the wire and atomized particles fly outward at supersonic speed, splatting onto the roughened aluminum wall and building up a coating roughly 0.15β0.3 mm thick.
What you get:
Real-world example: The Nissan GT-R's VR38DETT uses PTWA-coated bores. So does the Ford Shelby GT350's Voodoo 5.2L flat-plane V8, the C8 Corvette's LT2, and most modern Mercedes-AMG engines. Bugatti's W16 uses it too. The Nikasil coating used by BMW in the 90s was an earlier electroplated nickel-silicon-carbide version β it worked great until high-sulfur US fuel ate the coating and BMW had to warranty entire engine blocks.
Rule of thumb for honing: A coated bore needs a finer final hone than iron β typically Ra 0.3β0.5 Β΅m versus 0.8β1.2 Β΅m for iron. The coating's inherent porosity provides oil retention, so you don't need the deep crosshatch valleys iron requires. Honing too aggressively strips the coating, exposes aluminum, and the bore fails catastrophically within hours.
The downside: you cannot bore oversize and rebuild. Once the coating is worn or damaged, the block goes back to a specialized facility for re-coating (around $400β$800 per cylinder), or it's scrap. The aftermarket rebuild culture that thrived on iron sleeves doesn't really exist for these blocks yet.
Daily Debugging Puzzle
lru_cache on Methods: The Memoizer That Leaks Instances2026-05-20
This service processes uploaded images. Each ImageCache holds a 50 MB buffer, but it's created in a tight loop and goes out of scope immediately β so memory should stay flat. Production tells a different story: RSS climbs steadily until the pod OOMs around hour six.
from functools import lru_cache
class ImageCache:
def __init__(self, source_path):
self.source_path = source_path
self.buffer = bytearray(50 * 1024 * 1024) # 50 MB
@lru_cache(maxsize=256)
def thumbnail(self, size):
return self._render(size)
def _render(self, size):
return bytes(self.buffer[:size])
def process_uploads(paths):
for path in paths:
cache = ImageCache(path)
for size in (64, 128, 256):
send(cache.thumbnail(size))
# cache goes out of scope here. Right?
The decorator @lru_cache is applied to the unbound function stored on the class β there is exactly one cache, shared by every instance, and it lives as long as the class does (effectively forever). When you call cache.thumbnail(64), Python passes the bound self as the first positional argument. The cache key becomes the tuple (self, 64), and the cache holds a strong reference to self for as long as that entry survives.
Two consequences compound the damage:
cache goes out of scope at the end of the loop iteration, the LRU dict still references it. The 50 MB buffer cannot be collected until that entry is evicted.__hash__ is identity-based. Two ImageCache instances built from the same source_path produce distinct keys, so they don't share cache slots β they just consume them. With maxsize=256 and three sizes per instance, the cache pins roughly the last 85 instances: ~4 GB of buffers held hostage.This is invisible in unit tests (you allocate one instance, it stays alive anyway), invisible to __del__ (it never fires), and invisible to gc.collect() (the references aren't cyclic β they're strong, held by a live dict on the class object). It shows up only as a slow leak in production, and only when the workload churns through enough distinct instances to matter.
Move the cache onto the instance, so its lifetime matches the instance's lifetime:
from functools import lru_cache
class ImageCache:
def __init__(self, source_path):
self.source_path = source_path
self.buffer = bytearray(50 * 1024 * 1024)
# Per-instance cache: dies with self.
self.thumbnail = lru_cache(maxsize=8)(self._thumbnail)
def _thumbnail(self, size):
return bytes(self.buffer[:size])
Now the closure over self._thumbnail dies with the instance β no class-level pinning. For zero-argument methods, functools.cached_property is cleaner still. If you genuinely need a class-wide cache, key it on something hashable-by-value (source_path) and never pass self in.
The general rule: any decorator that builds long-lived storage on the function object will outlive every instance that touches it. @lru_cache, @cache, custom memoizers β all the same trap.
@lru_cache on a method attaches the cache to the class, not the instance β every self it sees becomes a strong reference held for the program's lifetime, silently turning your memoizer into a leak.
Daily Digital Circuits
2026-05-20
When a digital output switches, it doesn't pull current from some perfect, infinite voltage source. It pulls current through a real wire β package pin, bond wire, PCB trace β and that wire has inductance. Inductors resist sudden changes in current with a voltage: V = L Β· di/dt. The result is that the chip's internal "ground" momentarily rises above board ground, and its internal "VDD" momentarily sags below the supply. This is ground bounce (sometimes called simultaneous switching noise, SSN).
The mechanism: imagine 32 output drivers on a bus all switching from high to low at once. Each driver dumps charge from its load capacitance into the chip's ground network, which then has to push that current out through the ground bond wire to the board. If each driver sinks 20 mA and they all switch within 1 ns, that's 640 mA changing in 1 ns flowing through maybe 2 nH of bond wire inductance.
The calculation: V = L Β· di/dt = 2 nH Β· (0.64 A / 1 ns) = 1.28 V. The chip's internal ground just jumped 1.28 V above board ground. Any input that was a logic LOW (say 0.3 V relative to board) now looks like 0.3 - 1.28 = -0.98 V relative to chip ground β or, worse, a quiet output still being driven LOW might appear as a HIGH glitch to downstream logic. This is how "I didn't touch that pin" outputs spontaneously go wrong.
Real-world example: Early '90s SRAM chips with 8 wide outputs were notorious for ground-bounce-induced read failures when all 8 bits transitioned 0xFFβ0x00. The fix was both physical and architectural: add more VSS pins (more parallel bond wires reduces effective L), stagger output switching by tens of picoseconds, and slew-rate-control the output drivers so di/dt is bounded.
Mitigation strategies:
Rule of thumb: Budget ~1 nH per package pin and ~1 nH per cm of PCB trace. If your di/dt times that inductance exceeds ~10% of VDD, expect functional failures β not just noise on a scope, but bits flipping in latches.
Daily Electrical Circuits
2026-05-20
A lock-in amplifier extracts a tiny coherent signal from noise that may be 100,000Γ larger than the signal itself. The trick: you modulate your measurement at a known frequency, then use synchronous detection to reject everything that isn't at that exact frequency and phase. It's how scientists measure femtoamp photodiode currents under fluorescent lights, or detect 1-nV strain gauge changes on a noisy factory floor.
The core operation is multiplication followed by low-pass filtering. You take your noisy input signal and multiply it by a reference sine wave at frequency f_ref. Using the trig identity cos(A)Β·cos(B) = Β½[cos(AβB) + cos(A+B)], signal components at f_ref get shifted down to DC, while everything else lands at a non-zero frequency. A low-pass filter (often very narrow, like 1 Hz) then strips away the high-frequency junk, leaving just the DC component proportional to your signal's amplitude.
The signal chain:
Real example: Optical absorption spectroscopy. A laser shines through a sample onto a photodiode. The laser is chopped at 3.7 kHz (an oddball frequency to avoid power-line harmonics). The photodiode sees milliwatts of room light plus microwatts of modulated laser light. The lock-in references the chopper signal and pulls out just the 3.7 kHz component β yielding a clean DC voltage proportional to laser power, immune to room lighting drift.
Rule of thumb β SNR improvement: The noise reduction relative to a wideband measurement is β(BW_input / ENBW). If your input bandwidth is 100 kHz and you use a 1-second time constant (ENBW β 0.25 Hz), you gain β(100,000 / 0.25) = β400,000 β 632Γ in voltage SNR, or about 56 dB. Double the time constant, gain another 3 dB.
Practical gotchas: Use a dual-phase (I/Q) detector to get magnitude β(IΒ² + QΒ²) without manually tuning phase. Avoid f_ref at sub-harmonics of 60 Hz. And remember: longer time constants improve SNR but slow your response β you can't measure faster than ~1/(5Ο).
Daily Engineering Lesson
2026-05-20
Yesterday's lesson covered prestressed concrete in general terms. Post-tensioning is the variant where the steel is tensioned after the concrete has cured β which flips the construction sequence and unlocks geometries that pre-tensioning can't touch.
In pre-tensioning, strands are stretched between bulkheads, concrete is poured around them, and once cured, the strands are released β they try to contract and compress the concrete through bond friction. This requires a precasting yard with massive abutments. Pre-tensioned members are made in factories and trucked to site.
In post-tensioning, the concrete is poured first with hollow ducts embedded along carefully designed curved paths. After the concrete reaches strength (typically 75% of f'c, around 7 days), high-strength strands are threaded through the ducts and stretched with hydraulic jacks against the hardened concrete itself. The strands are locked off with wedge anchors at the ends, transferring compression into the member.
The ducts are then either grouted (bonded system) for corrosion protection and load sharing, or left greased and sheathed (unbonded system) for future inspection and re-stressing.
Why post-tension instead of pre-tension?
Real-world example: Modern parking garages almost universally use post-tensioned slabs. A typical 60-ft Γ 60-ft bay uses Β½-inch 270 ksi seven-wire strands stressed to about 33,000 lb each (75% of ultimate). One strand per ~12 inches of slab width gives roughly 250 psi average precompression β enough to keep the slab in net compression under live load and crack-free against de-icing salt intrusion.
Quick calculation: Required jacking force per strand:
P = 0.75 Γ fpu Γ Aps = 0.75 Γ 270,000 psi Γ 0.153 inΒ² β 31,000 lb
Account for losses β friction in the duct, anchor seating (~ΒΌ inch slip), elastic shortening, plus long-term creep and shrinkage. Total losses typically eat 20β25% of initial jacking force, so design effective stress around 0.6 Γ fpu.
Failure modes to respect: anchor blowout (massive local force at the end zones requires spiral reinforcement), corrosion of unbonded tendons (water entry through cracked sheathing has caused parking-garage collapses), and never drilling into a PT slab without locating tendons β a severed strand releases tens of thousands of pounds explosively.
Forgotten Books
2026-05-20
Book: The New-England farriery, or, A compendium of farrier : in four parts, wherein most of the diseases to which horses, neat cattle, sheep and swine are incident, are treated, with medical and surgical observations thereon ... : intended for the use of private gentlemen and farmers by Paul Jewett (1806)
Read it: Internet Archive
Paul Jewett of Rowley, Massachusetts, was a working farrier β a horse-doctor and hoof-smith β who in 1806 did something quietly radical for his time: he threw out the European textbooks. In his introduction, printed by A. Stoddard in Hudson, New York, he explained that experience had given him "reasons to differ from most of the European theories, and confine my practice to observation only."
What follows in Part I is a short, almost throwaway passage on choosing breeding stallions. It is one of the earliest English-language statements of what we now call functional conformation:
"Such seed horses should be chosen as are large and well proportioned, straight limbed, moving in a right line, heedless of every thwarting object, of an even persevering temper, with short ears, hair and lively countenance."
Read that again slowly. In a single sentence, a 1806 New England farmer-veterinarian named the four traits that every modern horse-conformation judge, breed registrar, and sport-horse buyer still scores for:
What's striking is that Jewett offered this without the elaborate humoral theory European farriers of his era still leaned on. No talk of sanguine vs. phlegmatic temperaments, no astrological timing for breeding, no inherited Hippocratic categories. Just: pick the big, sound, calm one with a kind eye that travels straight.
This is the same checklist a modern pre-purchase exam runs through. A vet trots the horse on a hard surface (gait symmetry), palpates the legs (straight limbed), watches the horse react to a flapping tarp (heedless of thwarting objects), and notes the general bearing (lively countenance). Two hundred and twenty years later, the rubric has been instrumented with flexion tests, ultrasound, and genetic panels β but the headings on the form are Paul Jewett's.
Forgotten Darkroom
2026-05-20
Book: Pictorial photography; its principles and practice by Anderson, Paul, 1880-1956 (1917)
Read it: Internet Archive
In 1917, Paul L. Anderson β lecturer at the Clarence H. White School of Photography β wrote a book for a specific kind of photographer that essentially no longer exists. In his foreword, he describes his audience:
"those workers who, without wishing to undertake a study of the abstruse scientific phases of the art, nevertheless have passed beyond the elementary stages and feel a desire for pictorial expression."
That middle tier β the serious-but-not-scientific amateur striving for pictorial expression β was the foundation of an entire forgotten art movement: Pictorialism. From roughly 1885 to the 1920s, Pictorialists deliberately rejected the camera's sharp, mechanical realism. They used soft-focus lenses, hand-coated platinum and gum bichromate papers, and brushed-in pigments to produce photographs that looked like charcoal drawings, etchings, or Whistler paintings. The goal was not to record the world but to manipulate it into something painterly and emotionally evocative.
Arthur Hammond, in Pictorial Composition in Photography (1920), opens with a defense of the whole project that modern photographers would do well to revisit:
"To tell a photographer how to compose his pictures is like telling a musician how to compose music, an author how to write a novel or an actor how to act a part. Such things can only grow out of the fulness and experience of life. Yet the musician must learn harmony and counterpoint, the novelist must know the rules of grammar and the proper use of words, the actor must study elocution..."
This was the Pictorialist creed: technique is the floor, not the ceiling. They believed photography deserved to sit in the same room as painting, and they were willing to physically intervene on the negative β scratching, brushing, multiple-printing β to earn that seat.
What killed the movement was, ironically, success. By the 1920s, Modernists like Edward Weston and Paul Strand argued that photography's honesty β its sharp, unmanipulated realism β was its true art. Pictorialism came to look fussy and pretentious. The whole vocabulary of soft-focus expressive printing was abandoned, and the Clarence H. White School where Anderson taught faded into obscurity.
But notice what came back: every Instagram filter that adds grain, fog, or vignettes; every "film simulation" mode in a Fujifilm camera; every TikTok creator using a Glimmerglass diffusion filter. The modern impulse to make digital images look less digital β softer, dreamier, more "painterly" β is the Pictorialist project revived under different names. We've simply outsourced to algorithms what Anderson's readers did with bromoil brushes and platinum salts.
Forgotten Patent
2026-05-20
On December 26, 1933, Edwin Howard Armstrong filed four interlocking patents that would rewrite the physics of broadcasting. The most famous, US Patent 1,941,066 ("Radiosignaling"), described a radically different way of encoding sound onto a radio wave. Instead of varying the wave's amplitude β the technique used by every commercial broadcaster on Earth β Armstrong varied its frequency. The result was audio so clean that listeners thought the receiver was broken when the music stopped: there was no hiss, no crackle, no thunderstorm interference. Just silence, then a violin.
The orthodoxy Armstrong was overturning was monumental. In 1922, the mathematician John Carson had published a proof that frequency modulation was inherently worse than AM β it required more bandwidth and offered no benefit. The proof was correct, but it assumed a narrow frequency swing. Armstrong's insight was the opposite: deliberately use a wide swing (he proposed Β±75 kHz against the AM standard of a few kHz), and the noise-rejection properties of an FM detector improve dramatically. He had turned Carson's objection into the engineering parameter that made FM superior.
Armstrong demonstrated the system on November 5, 1935, at the Institute of Radio Engineers in New York. He played a glass of water being poured, then a paper being torn β sounds that AM radio simply could not reproduce because their high-frequency content was buried under static. The audience was reportedly stunned into silence.
Then came one of the saddest stories in invention. RCA's David Sarnoff, who had once been Armstrong's friend and patron, recognized FM as an existential threat to RCA's AM empire and its parallel television business (which Sarnoff wanted to use the FM-suitable VHF band). RCA stalled FM's rollout, lobbied the FCC to move FM's frequency allocation in 1945 (instantly bricking every existing FM receiver), and fought Armstrong's patents in court for over a decade. Armstrong, broke and exhausted, jumped from his 13th-floor New York apartment on January 31, 1954. His widow, Marion, spent the next 13 years winning every infringement suit, one by one.
The modern footprint of 1,941,066 is enormous and almost entirely invisible to consumers:
The deepest irony: the principle Armstrong proved β that trading bandwidth for signal-to-noise ratio beats brute amplitude β became Shannon's channel capacity theorem 15 years later, in 1948. Armstrong had built a working physical proof of information theory before information theory existed. Every modern wireless protocol, from Wi-Fi 7's OFDM to 5G's massive MIMO, is descended from the same insight: you can always spend spectrum to buy clarity.
Daily GitHub Zero Stars
2026-05-20
Language: Unknown
Among today's batch of mostly student projects and auto-generated repos, skier233/AI.Extensions stands out as something with a clear purpose and an interesting niche. The description β "AI Extensions for Cove" β is terse, but it points to a deliberate plugin architecture rather than yet another standalone chatbot wrapper.
Cove appears to be the author's broader project ecosystem (skier233 maintains several Cove-related repositories on GitHub focused on media organization and tagging workflows). This Extensions repo carves out the AI-specific functionality as its own module β a pattern that's worth paying attention to even before you read the code:
It's a zero-star repo pushed today, so this is genuinely early-stage. That's exactly when an extra set of eyes is most valuable to a solo maintainer β issues filed now shape the API before it ossifies.
Who would benefit:
Worth a star if extension architectures interest you β and worth a watch to see where it goes.
Daily Hardware Architecture
2026-05-20
Every cycle, a modern CPU's frontend dumps a fistful of decoded Β΅ops on the backend's doorstep and says "find them homes." The allocator (sometimes called the rename/dispatch stage) is the bureaucrat that hands each Β΅op the resources it needs to enter the out-of-order engine: a physical register, a reorder buffer (ROB) entry, a reservation station slot, and possibly load queue or store queue entries. If any one resource is exhausted, the entire frontend stalls. No half-allocation, no partial dispatch β it's all-or-nothing per cycle.
The trickiest resource is the physical register. Modern x86 cores have ~280 physical integer registers backing 16 architectural ones. The allocator pulls free registers from a free list β typically a circular FIFO of register IDs that aren't currently mapped to any architectural register or in-flight instruction. When an instruction commits and its old physical register is no longer needed (because a newer write to the same architectural register has also committed), that physical register returns to the free list.
The free list itself is usually a small SRAM with head and tail pointers. Allocating N registers per cycle means reading N entries from the head; freeing N means writing N to the tail. This sounds trivial until you realize a 6-wide machine might allocate 6 and free 6 in the same cycle β that's 12 ports on a structure that needs to stay fast. Most designs split it into banks or use a bitmap (one bit per physical register) with priority encoders to find free entries, trading area for port count.
Concrete example: Intel's Golden Cove allocates up to 6 Β΅ops per cycle. It has separate free lists for integer (~280 entries), vector (~332 entries), and predicate registers. If you're running AVX-512-heavy code, you can exhaust the vector free list while the integer one sits half-empty β the frontend stalls anyway. This is why mixing scalar and vector work can sometimes throughput-balance better than pure vector code: you're consuming separate resource pools.
Rule of thumb: Maximum useful in-flight instructions β min(ROB size, physical register file size β architectural registers). On Golden Cove, ROB is 512 but integer PRF is ~280, so for integer-heavy code you'll hit register pressure before ROB pressure. The PRF, not the ROB, is your effective window.
Resource exhaustion shows up in perf counters as RESOURCE_STALLS.RS, RESOURCE_STALLS.ROB, or vendor-equivalent events. If you see allocator stalls dominating, widening loop unrolling won't help β you need to shorten dependency chains so instructions retire and free their registers faster.
Hacker News Deep Cuts
2026-05-20
HN Discussion: 1 points, 0 comments
This is exactly the kind of post that should be lighting up the HN front page and instead got buried at one point with zero comments. GitHub's code search is one of the most quietly impressive pieces of search infrastructure in production anywhere β it indexes over 100 terabytes of source code across tens of millions of repositories, supports regex queries, respects symbol semantics, and returns results fast enough to feel like grep on your laptop. That isn't something you build with Elasticsearch and a prayer.
The post almost certainly digs into Blackbird, GitHub's custom Rust-based search engine that replaced their earlier Elasticsearch-backed system. The interesting bits a technical reader would want to see covered:
The reason this matters beyond GitHub: code search is one of the few large-scale search workloads where the corpus has structure the search engine can exploit. Every team building developer tools β from AI coding assistants doing retrieval over codebases, to internal "Sourcegraph for our monorepo" tools β is solving a tiny fraction of this problem. GitHub publishes how they actually did it at scale, in detail, and almost nobody noticed.
Posts like this also age well. Architecture writeups from Google, Dropbox, and Facebook from a decade ago are still cited; this is in that same lineage.
HN Jobs Teardown
2026-05-20
Source: HN Who is Hiring
Posted by: coinmetrics
Of the ten postings, Coin Metrics (ID: 22680221) is the most revealing β not because it says a lot, but because of what it conspicuously doesn't say. A crypto data company hiring an Infrastructure Engineer and listing PostgreSQL, Docker, Ansible, nginx, Git, and "virtual and bare metal" is making a quiet but loud statement about how institutional crypto actually gets built.
The stack tells the story:
What this reveals about stage and direction: Coin Metrics is positioning as the Bloomberg of crypto, not a crypto startup. The phrase "leading provider of crypto asset data for institutions" plus this stack means they sell to hedge funds, banks, and regulators who require traditional-finance-grade reliability. They're not building a consumer app; they're building a data pipeline that has to be defensible in a compliance review.
Skills/trends highlighted: The 2020 crypto labor market split into two camps β Solidity/smart contract engineers chasing DeFi yield, and infra engineers running boring pipelines for boring institutions. This posting is firmly in the second camp, and that camp is where the durable revenue actually lives.
Green flags: Remote-first in early 2020 (pre-pandemic norm). Concrete, specific skills rather than buzzword soup. No "rockstar ninja" language. Honest about needing operational depth (replication, backup) rather than greenfield glamour.
Red flags: The posting is extremely terse β one sentence and a careers link. Either they're confident enough in their brand that they don't need to sell, or they're under-investing in recruiting copy. No salary range, no team size, no mention of on-call structure for someone who'll clearly carry a pager.
Daily Low-Level Programming
2026-05-20
Modern x86 CPUs have a feature most engineers never hear about: the Loop Stream Detector (LSD). When the CPU notices it's executing the same small loop repeatedly, it stops fetching, decoding, and even reading from the micro-op cache. Instead, it locks the loop's micro-ops in a tiny buffer inside the Instruction Decode Queue (IDQ) and replays them directly into the back-end. The entire front-end goes idle.
On Intel Skylake-derived cores, the LSD can hold up to 64 micro-ops per thread (or 56 when hyperthreading is active). If your loop fits, you pay zero fetch energy and zero decode latency on every iteration after the first. The front-end can issue up to 6 Β΅ops/cycle from the LSD versus 4-5 from the Β΅op cache and 4 from the legacy decoders.
Concrete example. A hot SHA-256 inner loop hand-written in assembly:
This is why crypto and codec libraries (OpenSSL, x264, zlib's CRC routines) carefully count Β΅ops in their hot loops. A nop in the wrong place can demolish throughput.
The gotchas:
rep variants, certain divisions) falls back to the microcode sequencer and disables LSD.Rule of thumb: If your hottest loop is under ~60 Β΅ops and contains no microcoded instructions, you're getting LSD acceleration. Use perf stat -e idq.dsb_uops,idq.mite_uops,lsd.uops to confirm β if lsd.uops dominates, the front-end is asleep and you're CPU-bound on the back-end only.
Knowing this changes optimization priority: once a loop fits the LSD, further code size reduction yields nothing β focus on Β΅op port pressure and dependency chains instead.
Reddit Small Subs
2026-05-20
Subreddit: r/lowlevel
Discussion: View on Reddit (3 points, 0 comments)
This post kicks off a four-part series by u/_WinAsm dissecting one of the most fundamental β yet rarely explained β mechanisms in the Windows kernel: how the Object Manager creates kernel objects. Nearly every Windows primitive you've ever touched β files, processes, threads, mutexes, events, registry keys, sections β is a "kernel object" born through this exact code path. Yet most developers, even those writing drivers, treat ObCreateObject as an opaque black box.
Part 1 focuses on allocation and pre-initialization. The author walks through what actually happens between the moment a user-mode CreateFile or CreateMutex call enters the kernel and the moment the object body is handed off for type-specific initialization. Key topics covered across the series include:
OBJECT_HEADER structure that sits before every kernel object body, carrying reference counts, type info, and optional sub-headers (name info, handle info, quota info, creator info).\??\, \Device\, \BaseNamedObjects\ and how named objects are inserted.Why this matters: understanding the Object Manager is the prerequisite for everything interesting in Windows internals β rootkit detection, EDR hooking, handle hijacking attacks, privilege escalation via handle leaks, and even ordinary driver debugging. When you see a tool like Process Hacker enumerate handles, or a malware sample duplicate a SYSTEM token handle, this is the machinery underneath.
The series leans heavily on disassembly and the public ntoskrnl symbols, which makes it more rigorous than the typical "Windows Internals" textbook summary. If you've read Russinovich's book and wanted the next layer down, this is it.
RFC Deep Dive
2026-05-20
Most authenticated encryption modes have a foot-cannon footnote: "thou shalt not reuse a nonce." Reuse a GCM nonce twice with the same key and you don't just lose confidentiality of those two messages β you leak the authentication key, letting an attacker forge anything. In practice nonces get reused all the time: virtual machines fork, RNGs misbehave, counters reset on reboot, key-wrapping contexts have no obvious nonce at all. RFC 5297 specifies AES-SIV, a mode designed by Phil Rogaway and Tom Shrimpton (and standardized by Dan Harkins) that fails gracefully when this happens.
The core trick: the IV isn't random β it's derived deterministically from the plaintext and associated data. SIV runs in two passes:
The ciphertext is just tag || ctr_output. To decrypt, you run CTR with the embedded tag, then recompute S2V over the recovered plaintext and check it matches. Because the IV is a function of the plaintext, repeating an encryption call with identical inputs yields identical ciphertexts β and the only thing an attacker learns from "nonce reuse" is whether two plaintexts were equal. No key leakage, no forgery oracle. Rogaway called this misuse-resistant AEAD, and it's now the gold standard for any context where nonces are awkward.
The associated-data vector is the second clever bit. Most AEAD modes take a single AD blob. SIV takes a list of AD strings, each independently authenticated. This means you can stuff in a nonce, a header, a context label, and a timestamp as separate fields and the construction handles them unambiguously β no "length extension" pitfalls, no manual canonicalization. If you do supply a nonce as one of the AD strings and it's unique, SIV is also a conventional nonce-based AEAD with standard security. If the nonce repeats or is absent, you degrade to deterministic encryption rather than catastrophe.
Where it actually shows up:
The cost: two passes. SIV is not online β you can't stream encrypt without buffering, because you must compute the tag before you can encrypt. That's the price of misuse resistance. For high-throughput TLS-style streaming, you still want GCM or ChaCha20-Poly1305 with disciplined nonces. For key wrapping, database field encryption, deterministic search tokens, or any "encrypt this small blob safely" use case, SIV is almost always the right answer.
The RFC itself is unusually readable β it presents S2V with a worked example using the doubling-in-GF(2ΒΉΒ²βΈ) trick borrowed from CMAC, and the test vectors are reproducible by hand on a whiteboard if you're patient.
Stack Overflow Unanswered
2026-05-20
Stack Overflow: View Question
Tags: audio, webrtc, signal-processing, aec, echo-cancellation
Score: 0 | Views: 43
The asker is probing a real pain point: when acoustic echo cancellation (AEC) breaks down β reverberant rooms, double-talk, abrupt acoustic changes β commercial stacks like WebRTC's AEC3, Zoom, and Meet fall back to residual echo suppression that effectively half-duplexes the call (volume ducking, near-end gating). Their proposal: instead of ducking the whole spectrum, partition it. Allocate disjoint frequency sub-bands to the near-end and far-end speakers in real time, so they literally can't acoustically collide in the loop.
Why it's interesting: AEC fundamentally relies on estimating a linear echo path. When that estimate diverges, the residual is unbounded. Frequency-domain duplexing sidesteps adaptive filtering by enforcing orthogonality in a different domain β borrowing an idea from FDMA radio. The clever bit is that speech is sparse in frequency: voiced segments concentrate energy in formants below ~3.5 kHz, with gaps. So you don't need to discard half the band β you allocate based on instantaneous spectral occupancy.
Why it's hard:
Prior art to check: The closest published work is perceptually-weighted residual echo suppression (Valin et al., RNNoise lineage) and frequency-domain double-talk detection in AEC3. Sub-band AEC itself is standard (partitioned-block frequency-domain adaptive filter, PBFDAF). What the asker is describing is closer to cognitive-radio-style dynamic spectrum access applied to acoustic full-duplex β I'm not aware of it as a deployed AEC fallback, though academic "spectral duplexing" papers exist for hearing aids.
Direction: Prototype with WebRTC's APM. Tap the far-end render signal, compute its short-time spectrum, and on a double-talk detector trigger, apply a complementary mask to the near-end capture instead of a flat suppression gain. Compare PESQ/POLQA against AEC3's default suppressor under reverberant conditions (image-source simulator, RT60 = 0.6s).
Gotcha: If the far-end is also doing this, you've created a coupled control loop across the network with RTT-bounded stability. Allocation must be unilateral or negotiated out-of-band.
Daily Software Engineering
2026-05-20
Write-through caches keep cache and database in lockstep β every write hits both before returning. Safe, but slow: your latency is gated by the slower of the two. Write-behind (also called write-back) flips this: write to the cache, acknowledge the client, and asynchronously flush to the database later. You trade durability guarantees for throughput.
The mechanics: when a write arrives, you update the cache entry and enqueue a "dirty" marker. A background worker drains the queue in batches, coalescing multiple writes to the same key into a single database update. The client sees cache latency (sub-millisecond) instead of database latency (5β50ms).
Real-world example: A view-counter on a video platform. Every play increments a counter. With write-through, 10,000 plays/sec means 10,000 database updates/sec β your database melts. With write-behind, the cache absorbs all 10,000 increments in memory, and a worker flushes the coalesced total (one UPDATE with the new count) every 5 seconds. You've turned 10,000 writes into 1 β a 10,000Γ reduction.
The rule of thumb: if your write coalescing ratio (writes-per-key-per-flush-interval) is greater than 3, write-behind pays off. Below that, the bookkeeping overhead and durability risk aren't worth it. Counter-style and "last-write-wins" workloads coalesce beautifully; append-only logs do not.
The hard parts:
When to use it: high-volume writes where individual updates aren't independently valuable β counters, last-seen timestamps, session state, leaderboards. When to avoid it: financial transactions, anything regulated, anything where losing 5 seconds of writes would page someone at 3am. The pattern shifts the durability boundary; make sure you actually want it shifted.
Tool Nobody Knows
2026-05-20
You need to pluck data out of an HTML page. The usual options: pipe curl through grep and pray the markup never shifts, fire up Python with BeautifulSoup, or wire up a Node toolchain. There's a fourth option that has been quietly sitting in Debian since 2012 β xidel. One Pascal-compiled binary, no runtime, and it understands HTML, XML, and JSON through the same expression engine.
The simplest form looks like wget with a brain:
# Grab every story link off Hacker News
xidel https://news.ycombinator.com -e '//span[@class="titleline"]/a/@href'
# Same thing with a CSS selector
xidel https://news.ycombinator.com -e 'css("span.titleline a")/@href'
The -e flag takes XPath, XQuery, JSONiq, or CSS. xidel auto-detects HTML vs. JSON and parses accordingly β no flipping between jq and pup.
The real power shows up when you need multiple fields at once. XQuery lets you build structured records inline:
xidel https://news.ycombinator.com -e '
for $row in //tr[@class="athing"] return {
"title": $row//span[@class="titleline"]/a,
"url": $row//span[@class="titleline"]/a/@href,
"rank": $row//span[@class="rank"]
}
' --output-format=json-wrapped
One process, structured JSON output, no glue script. Now the killer feature β automatic link following:
# Front page β every comment thread β comment bodies, in one invocation
xidel https://news.ycombinator.com \
-f '//span[@class="titleline"]/a/@href' \
-e '//div[@class="comment"]//text()'
The -f flag means "follow these URLs and apply the next -e to each." Chain -f and -e arbitrarily β five levels deep, paginated archive crawls, login-then-scrape β all in one process. Cookies persist across the chain automatically.
It speaks JSON with the same engine:
# Every top-level dependency name from a package-lock.json
xidel package-lock.json -e '$json/packages/*/dependencies'
Need to log in first? It does forms and sessions:
xidel https://site.example/login \
--post='user=alice&pass=secret' \
--cookie-jar=cookies.txt \
-f '//a[text()="Dashboard"]/@href' \
-e '//table[@id="stats"]//tr'
Output formatters cover the cases you actually need. --output-format= takes adhoc, json-wrapped, xml, html, or bash. The bash mode is gold β xidel emits title="..." lines you can eval straight into your shell:
eval "$(xidel https://example.com/api/whoami \
-e 'user:=//span[@id="username"]' \
-e 'mail:=//a[@class="email"]' \
--output-format=bash)"
echo "$user $mail"
Why this beats the alternatives: grep can't parse nested HTML. jq can't read HTML at all. BeautifulSoup needs a Python interpreter and fifty lines for what xidel does in one expression. pup handles CSS but not XPath, and has no link-following or session handling. xidel collapses fetcher, parser, session manager, and serializer into one tool β and the expression language is a real, standardized one you already half-know.
What If Engineering
2026-05-20
Wind power scales with the cube of velocity. A surface turbine sees ~10 m/s; the jet stream at 10 km altitude routinely rips at 50β100 m/s. That cube relationship is the whole story β and the reason engineers keep returning to the idea of tethered airborne wind energy systems (AWES).
The power density gap is brutal:
So a kite at altitude sees 40Γ to 300Γ the wind energy flux of a ground turbine. A modest 500 mΒ² wing at 25 kW/mΒ² intercepts 12.5 MW. Apply the Betz limit (59.3%) and realistic system efficiency (~50% for yo-yo generators), and you get ~3.7 MW per kite β comparable to today's biggest offshore turbines, but with no tower, no foundation, and no nacelle hanging 150 m in the air.
The tether is the engineering centerpiece. At 100 m/s, aerodynamic drag on a 10 mm Dyneema tether (10 km long, Cd β 1.0) is:
F_drag = Β½ Γ 0.4 Γ 100Β² Γ 1.0 Γ (0.01 Γ 10000) = 200 kN
Dyneema's tensile strength is ~3 GPa. A 10 mm rope has ~78 mmΒ² cross-section β ~235 kN capacity. Just enough. The tether mass for 10 km is only ~760 kg β trivial compared to the wing's lift budget.
Yo-yo mode is the elegant trick: the kite flies a crosswind figure-eight, the tether reels out under huge tension while driving a ground-based generator, then the kite depowers and reels back in. Power flows down a rope, not a copper wire. No 10-km-long superconductor required.
Scaling to civilization: Humanity uses ~20 TW continuous. At 3.7 MW per kite and 40% capacity factor (jet streams meander), you need:
20 Γ 10ΒΉΒ² W Γ· (3.7 Γ 10βΆ Γ 0.4) β 13.5 million kites
That's a lot β but for comparison, we manufacture ~80 million cars per year. The kites themselves are cheap: ~500 mΒ² of carbon-fiber-reinforced fabric is maybe $50k in materials. The hard parts are the ground stations and grid integration.
The fatal complication is airspace. The jet stream lives at 8β12 km β exactly where commercial aircraft cruise. Each tether is a 10-km vertical guillotine. You'd need exclusion cylinders ~50 km wide, evacuating perhaps 5% of usable airspace globally. A single tether failure at 100 m/s releases a kinetic-energy bomb: a 2-tonne kite moving at jet-stream speed carries 10 GJ β equivalent to ~2 tonnes of TNT. So you site farms over oceans, deserts, and polar regions, then run HVDC lines to the load.
Iceland-to-UK HVDC already exists at 1200 km. A North-Atlantic AWES farm under the polar jet could plausibly deliver 500 GW to Europe β about its entire electricity demand β from a sea area the size of Ireland.
Wikipedia Rabbit Hole
2026-05-20
Wikipedia: Read the full article
Voyager 1 is currently more than 24 billion kilometers from Earth, still transmitting faint signals after nearly fifty years in the void. There are no solar panels out there β sunlight at that distance is a thousand times weaker than at Earth. So what's powering it? A lump of decaying plutonium-238 wrapped in silicon-germanium thermocouples, quietly converting heat into electricity with no moving parts whatsoever.
This is the radioisotope thermoelectric generator, or RTG, and it's one of the most beautifully boring pieces of engineering ever flown. A thermocouple, at its core, is just two dissimilar metals joined at a junction β heat one end, cool the other, and the temperature gradient pushes electrons across the junction, generating a voltage. This is the Seebeck effect, discovered in 1821 when Thomas Seebeck noticed a compass needle deflecting near a heated bismuth-copper loop. He thought he'd found thermomagnetism. He was wrong, but the effect bearing his name became the foundation of every thermocouple in your oven, your jet engine, and yes, our interstellar probes.
Why silicon-germanium specifically? Most thermocouples β the K-types and N-types found in industrial sensors β would melt or degrade at the temperatures inside an RTG, where the hot side runs around 1000Β°C. SiGe alloys keep their thermoelectric properties at these brutal temperatures and resist sublimation in vacuum. They're not particularly efficient (RTGs convert only about 6-7% of heat into electricity), but efficiency matters less than survival when your power source needs to outlive its operators.
The numbers are humbling:
Here's the connection that always gets me: the same physical principle that lets a backyard gas grill thermometer tell you it's 400Β°F is what's keeping humanity in contact with a spacecraft beyond the heliopause. Scale up, swap the materials, and the humble thermocouple becomes a 50-year power station.
There's a darker thread here too. Plutonium-238 isn't a weapons material β it's specifically not the bomb-grade Pu-239. It's a byproduct of weapons production, and the U.S. essentially stopped making it in 1988. NASA spent years rationing the remaining supply, and only restarted domestic production in 2015 at Oak Ridge. Every gram is precious. The Mars 2020 rover's RTG used some of the last Cold War-era plutonium.
Daily YT Documentary
2026-05-20
Channel: Bukedi Times TV (771 subscribers)
Note: today's batch of candidates was unusually weak β most entries were AI-generated sci-fi shorts, film-festival promos, or hashtag-spam trailers. This is the least bad pick: an actual documentary, by an actual local broadcaster, about an actual educational event.
Uganda's National Science Week is held annually at Kololo Independence Grounds in Kampala and showcases the country's homegrown research, university spin-outs, and STI (Science, Technology & Innovation) projects funded through the President's office. This documentary captures the 2025 edition β exhibits ranging from agricultural innovations and locally-built medical devices to renewable-energy prototypes and student engineering projects.
What makes it worth a watch isn't slick production β it's the window into a science ecosystem most Western viewers never see. African-led R&D rarely gets coverage on the global YouTube algorithm, and small regional broadcasters like Bukedi Times TV are often the only ones documenting it. You'll see what problems Ugandan engineers are actually solving (low-cost diagnostics, post-harvest losses, water purification) and how a developing-economy government tries to showcase that work to its own public.
Treat it less as polished edutainment and more as primary-source field footage β useful if you're curious about how science communication works outside the usual UK/US channels.
Daily YT Electronics
2026-05-13
Channel: STM32 Microcontroller and FPGA mini-projects (10 subscribers)
This is a student mini-project from a tiny channel (just 10 subscribers) that demonstrates a complete end-to-end wireless communication system built on the STM32F platform. Unlike the flood of 30-second Shorts clogging up the RF module space, this video actually walks through designing and implementing a working link: a 433 MHz transmitter paired with an STM32 microcontroller, with received data piped through to a PC display.
For anyone learning embedded development, this hits several useful intersections at once: bare-metal STM32 peripheral configuration, ASK/OOK-style RF module quirks (the cheap 433 MHz modules require careful handling of preambles, sync words, and timing because they have no built-in protocol stack), and serial communication out to a host. It's the kind of project that turns up in undergraduate electronics coursework, and seeing the actual hardware wired up and running is much more instructive than reading a datasheet.
Caveat: as a student project the production values are modest and the explanation may be brief, but the technical substance is real β and supporting a 10-subscriber channel doing actual engineering work is the whole point of curating from small creators.
Daily YT Engineering
2026-05-20
Channel: PEwise (15 subscribers)
Zoned earth dams are one of the most common β and most failure-prone β types of large embankment structures, and the placement of their internal drainage system is what separates a stable dam from one that quietly piping itself toward catastrophic breach. This video walks through a worked PE Geotechnical exam problem on exactly that topic, which means viewers get a structured, quantitative look at how drainage chimneys, blanket drains, and toe drains are positioned relative to the impervious core and shell zones.
What makes this video worth watching, even if you have no intention of sitting for the PE exam, is that exam-prep problems force the instructor to show the reasoning: where the phreatic line falls, how seepage gradients are controlled, and why drainage geometry matters more than drainage volume. You learn the underlying physics by following the constraints of a real design question rather than a hand-wave-y overview.
The channel is tiny (15 subscribers) and the production is likely modest, but the topic is genuinely technical and the framing β solving a specific licensure-level problem step by step β is the opposite of clickbait. Most other candidates in today's batch were Shorts, hashtag spam, or vague book promos; this one is the clear pick on substance.
Daily YT Maker
2026-05-20
Channel: GENESIIDEA (635 subscribers)
Note: Only one candidate was provided, and it falls squarely into the categories flagged as low quality β it's a YouTube Short with a hashtag-spam title, no description, and no indication of educational content. Picking it because it's the only option, not because it meets the quality bar.
The title suggests this is a quick clip showing a new 3D printing project from GENESIIDEA, a very small channel with 635 subscribers. Without a description or any context beyond the hashtags, it's impossible to know whether the video demonstrates a specific technique, walks through a design process, or just shows a printer doing its thing with music over the top. Shorts in this format almost always fall into the latter category β visual eye-candy rather than instructional content.
If you're interested in seeing what hobbyists at the small-channel level are printing, it might be worth the 30 seconds to glance at it. But viewers looking to actually learn something about 3D printing β slicer settings, design considerations, material choices, post-processing β should look elsewhere. The hashtag-heavy title (#funny #makeup #happy mixed in with #3dprint) is a strong signal that engagement metrics are the priority, not teaching.
A better use of time would be searching for longer-form videos from channels like Teaching Tech, CNC Kitchen, or similar small-to-mid creators who explain the why behind their prints.
Daily YT Welding
2026-05-20
Channel: AMR Motorsports (144 subscribers)
Honest note up front: this batch was unusually thin β most candidates were hashtag-spam shorts or thinly-disguised ads for modular 3D welding tables. This AMR Motorsports entry is the clearest example of someone actually making something on camera.
The video continues an ongoing welding cart build, with this episode focused on cutting mounts for a MIG welder and plasma cutter using a cold-cut EVO saw. That's a practical fabrication problem worth watching: a welding cart isn't just a rolling shelf β the mounts have to hold heavy, top-sided equipment, route cables sensibly, and keep gas bottles secure without rattling loose. Watching someone lay out and cut those brackets shows the kind of decisions (material thickness, hole placement, weld access) that distinguish a usable cart from a wobbly hazard.
The EVO saw itself is also worth a look if you've only ever cut steel with an abrasive chop saw or angle grinder. Cold-cut metal saws produce clean, square, burr-light cuts with almost no sparks and reusable blades β a big quality-of-life upgrade for a home shop, and seeing one in actual use is more useful than any spec sheet.
At 144 subscribers, this is a small builder documenting a real project rather than producing polished tutorial content, so expect rough edges β but the fabrication itself is genuine.
