26 newsletters today.
Abandoned Futures
2026-06-18
On April 3, 1986, engineers at Argonne National Laboratory-West in Idaho did something that should have rewritten nuclear history. With the EBR-II reactor running at full power, they shut off the primary coolant pumps and deliberately disabled the automatic scram system. By every conventional metric, this was a recipe for a meltdown. Instead, the reactor's temperature rose briefly, the metallic fuel expanded, neutron leakage increased, the fission rate dropped, and the reactor quietly shut itself down. Then they repeated the experiment, this time killing the heat sink. Same result. Twenty-three days later, Chernobyl exploded.
The reactor that proved it could not melt down was the prototype for the Integral Fast Reactor (IFR) — a program directed by Charles Till at Argonne from 1984 to 1994. The IFR was not a paper concept. It was an engineered, demonstrated, complete nuclear fuel cycle.
The design solved nuclear power's three hardest problems simultaneously:
By 1994, Argonne had: a 20-MW operating prototype with three decades of run time, a working pyroprocessing facility, demonstrated passive safety, and a full-scale commercial design (the ALMR/PRISM, a partnership with General Electric) sitting at the NRC.
Then in October 1994, the Clinton administration — pushed by Secretary of Energy Hazel O'Leary and senators including John Kerry — canceled the program. The stated reasoning was nonproliferation policy and the assertion that the U.S. didn't need plutonium-based fuel cycles. Congress appropriated $32 million to terminate a program that was three years from a commercial demonstration. EBR-II was defueled and entombed.
Why it works in 2026: Every objection has dissolved.
The IFR existed. It worked. The engineering was done. Restarting the program today means finishing a job that was 90% complete when it was deliberately stopped.
ArXiv Paper Digest
2026-06-18
Authors: Daichi Tokuda, İsmail Emir Yüksel, Tatsuya Kubo, Ataberk Olgun
ArXiv: 2606.19119v1
PDF: Download PDF
For decades, computers have followed a simple division of labor: memory stores data and processors compute on it. The problem? Constantly shuttling data back and forth between the two is slow and burns enormous amounts of energy — sometimes more than the computation itself. This bottleneck has a name: the "memory wall."
One promising end-run around this wall is called Processing-using-DRAM (PuD). The clever idea: DRAM chips are already massive grids of cells arranged in rows and columns. If you activate multiple rows simultaneously, the electrical interactions between them naturally produce logical operations (AND, OR, NOT) on the bits stored in those rows. In other words, your memory becomes a giant, free computer — no data movement required.
This paper asks an uncomfortable question: does PuD actually work reliably on real, modern DRAM chips? The authors took commercial DRAM and ran extensive experiments. Their finding, which they call PuDGhost, is troubling:
The implications are significant. PuD has been pitched as a transformative architecture for AI workloads, databases, and any application that grinds through large amounts of memory. But if running PuD operations can corrupt the very data they're supposed to operate on — or worse, data belonging to other processes — then the whole paradigm needs guardrails before it can ship in real systems.
The authors don't just diagnose the problem; they sketch implications for future systems: error-correction schemes, data-placement policies that keep "computational" rows away from sensitive ones, and refresh strategies that account for the disturbance PuD introduces. The takeaway is that researchers can't just simulate PuD on idealized models — the physics of real chips is messier than the theory assumes.
Daily Automotive Engines
2026-06-18
The hub-to-tip ratio on a turbine wheel is the ratio of the hub diameter (the solid center boss the blades attach to) divided by the tip diameter (the outer swept circle) at the exducer — the discharge side where exhaust exits axially. It looks like a throwaway number on a spec sheet, but it controls how much exhaust energy the wheel can actually extract before choking.
Why it matters: exhaust gas enters radially at the inducer and exits axially at the exducer. The annular flow area at the exducer equals π/4 × (tip² − hub²). A fat hub shrinks that annulus, restricting discharge flow and raising backpressure. A skinny hub opens flow area but leaves less material to anchor the blades against centrifugal load — and at 150,000 RPM with blade tips seeing 500 m/s, that material has a job.
Typical ranges:
Real-world example: The Garrett GTX3582R Gen II turbine wheel runs roughly 65mm tip / 28mm hub, giving a hub-to-tip ratio around 0.43. Compare to a Cummins HE351VE diesel turbine at roughly 60mm tip / 33mm hub — ratio near 0.55. The diesel wheel runs higher backpressure tolerance, lower EGTs, and lives in a torque-dominated rev band; the gas wheel needs to flow hard up to 8,000+ RPM and accepts a slightly more restrictive annulus to gain rotor stiffness.
Rule of thumb: For a target horsepower (gas), pick exducer tip diameter at roughly 1 mm per 12 HP, then size the hub for a ratio between 0.40 and 0.50. Below 0.38, blade root stress climbs sharply; above 0.55 on a gas turbine, you're choking flow at high RPM.
Engineers also watch the exducer trim (exducer² / inducer² × 100). Hub-to-tip and trim work together — a high-trim wheel with a fat hub looks flowy on paper but bottlenecks at the discharge annulus. Always check both numbers before believing the marketing.
Daily Debugging Puzzle
heapq Tie-Breaker Trap: The Priority Queue That Crashes on Equal Priorities2026-06-18
This scheduler pushes (priority, task) tuples onto a heap and pops them in priority order. It works perfectly in every unit test. Then production starts throwing TypeError at 3 a.m.
import heapq
class Task:
def __init__(self, name, payload):
self.name = name
self.payload = payload
def schedule(tasks):
queue = []
for priority, task in tasks:
heapq.heappush(queue, (priority, task))
order = []
while queue:
_, task = heapq.heappop(queue)
order.append(task.name)
return order
# Tests pass — all priorities are distinct
print(schedule([
(3, Task("backup", {"size": 100})),
(1, Task("alert", {"level": "high"})),
(2, Task("cleanup", {"files": 50})),
])) # ['alert', 'cleanup', 'backup'] ✓
# Production: two alerts fire in the same second
print(schedule([
(1, Task("alert_a", {"id": 1})),
(1, Task("alert_b", {"id": 2})), # same priority!
(2, Task("cleanup", {"files": 50})),
]))
# TypeError: '<' not supported between instances of 'Task' and 'Task'
Python's heapq orders tuples lexicographically. When two priorities tie, it falls through to compare the next element — the Task object itself. Task has no __lt__, so Python raises TypeError.
This is one of the nastiest bugs in the Python standard library because it is data-dependent and silent until the data collides:
Task with a dict or list would also fail — dicts aren't orderable, lists compare element-by-element and may recurse into the payload.dataclass(order=True) "fixes" the crash but introduces a worse bug: heap order now depends on attribute values, so identical-priority tasks pop in arbitrary semantic order, breaking FIFO guarantees callers may rely on.The correct fix is the same trick Python's own queue.PriorityQueue docs recommend: insert a monotonically increasing tiebreaker between the priority and the payload, so ties resolve by insertion order and the payload is never compared.
import heapq
import itertools
def schedule(tasks):
queue = []
counter = itertools.count() # unique, monotonic, cheap
for priority, task in tasks:
heapq.heappush(queue, (priority, next(counter), task))
order = []
while queue:
_, _, task = heapq.heappop(queue)
order.append(task.name)
return order
itertools.count() yields integers, integers are always orderable, and ties are now broken by insertion order — giving you a deterministic, stable priority queue. next(counter) is atomic at the bytecode level, so it's safe even under the GIL with multiple producers, though a true multi-threaded queue should use queue.PriorityQueue anyway.
If you want LIFO behavior for ties (e.g., newest-first within a priority class), negate the counter: (priority, -next(counter), task). Either way, the payload never participates in the comparison — which is the whole point.
Daily Digital Circuits
2026-06-18
Every time a CMOS gate switches, it pays a tax: E = ½CV² per transition, dumped into the substrate as heat. Charge a 10 fF node to 1 V and you've burned 5 fJ — gone forever the moment the PMOS pulls it high through a constant supply. Adiabatic logic refuses to pay that tax. Instead of switching against a fixed rail, it charges the load through a slowly ramping power-clock, then recovers the stored charge back into the source on the way down.
The physics: dissipation in a resistive charging path scales as (RC/T) · CV², where T is the ramp time. Make T much greater than RC and the energy dissipated per cycle approaches zero — asymptotically. The price is speed. You're trading frequency for energy, and the recovery is incomplete in practice (10–50% of CV² is typical), but that's still 2–10× better than static CMOS at the same activity factor.
How it actually works: replace VDD with a trapezoidal or sinusoidal power-clock φ. A standard CMOS gate is rewired so its pull-up network connects to φ instead of VDD. As φ ramps up, the output follows through the pull-up. As φ ramps back down, the charge on the output capacitance flows backward through the same network into φ — which is now a falling rail acting as a charge sink. The power-clock generator (typically a resonant LC tank with a small inductor) catches that returning charge and reuses it on the next cycle. The inductor is the trick: it converts the charge sloshing back and forth into a near-lossless oscillation, with only the inductor's series resistance and switch losses to make up.
Real-world example: 2QN2P and Positive-Feedback Adiabatic Logic (PFAL) families have shipped in passive RFID tags and implantable medical devices, where the entire chip runs on microwatts harvested from an RF field. A PFAL-based 13.56 MHz NFC tag can run its logic at 100 kHz on 1–2 µW — roughly 5× lower than a static CMOS equivalent. The slow ramp isn't a problem because the harvested RF carrier is the power-clock — you get the sinusoid for free.
Rule of thumb: energy savings ≈ 2RC/T compared to static CMOS. If your gate's RC is 100 ps and you ramp φ over 10 ns, you dissipate roughly 1/50th of CV² per transition — assuming an ideal resonant driver. Below T ≈ 5·RC, recovery collapses and you're back to dumping heat.
The catch: routing four-phase overlapping power-clocks across a chip is brutal, leakage doesn't recover at all (it just leaks), and the resonant tank adds area. Adiabatic logic lives in the ultra-low-power niche, not the mainstream.
Daily Electrical Circuits
2026-06-18
Hall effect sensors are the workhorses of magnetic sensing, but when you need to detect weak fields — the Earth's magnetic field for a compass, a tiny bias magnet on a wheel for ABS speed sensing, or current-induced fields below 1 mT — you reach for a magnetoresistive sensor instead. These devices change their electrical resistance in response to a magnetic field, and they're roughly 100× more sensitive than typical Hall elements.
There are three flavors you'll encounter:
The classic AMR sensor (like Honeywell's HMC1001 or NVE's AA-series) is built as a Wheatstone bridge of four magnetoresistive strips arranged so the field affects opposite arms differently. Power the bridge with 5 V, and you get a differential output of a few millivolts at full-scale field. Feed that into an instrumentation amp with a gain of 100–500, and you have a usable signal.
Real-world example: An automotive wheel speed sensor uses a GMR bridge facing a ferromagnetic tone wheel. Each tooth passing the sensor swings the local field by a few hundred microtesla, producing roughly 50 mV peak-to-peak at the bridge output. A Schmitt-triggered comparator converts this to clean digital pulses for the ABS controller — reliable down to 0 RPM, unlike inductive variable-reluctance sensors that go silent at low speed.
The flipping problem: AMR sensors suffer from polarity ambiguity. A strong field perpendicular to the easy axis can flip the magnetization domains, swapping the sensor's output polarity. The fix is a set/reset strap — an on-chip coil you pulse with ~3 A for a few microseconds to realign all domains before each measurement. This is essential for electronic compasses.
Rule of thumb: For sensitivity, TMR > GMR > AMR > Hall, roughly by factors of 10. For ruggedness and dynamic range, the order reverses. Pick AMR for ±2 mT precision work (compasses, low-current sensing), GMR for ±30 mT industrial speed/position sensing, and Hall for >10 mT applications where you don't need high resolution.
Daily Engineering Lesson
2026-06-18
Before Bourdon tubes and digital transducers, engineers measured pressure by watching how high a fluid climbed in a tube. The manometer is still the most fundamental pressure instrument: it has no moving parts, no calibration drift, and its accuracy depends only on fluid density and gravity — both knowable to many decimal places. It's the reference standard everything else gets calibrated against.
The three common configurations:
The governing equation is just hydrostatics:
ΔP = ρ · g · h
where ρ is fluid density, g is gravity, and h is the height difference between the two fluid columns.
Quick rules of thumb (at standard gravity, room temperature):
Worked example: An HVAC technician connects a water-filled U-tube across a filter to check for clogging. The water on the upstream leg sits 1.2 inches lower than the downstream leg. Pressure drop = 1.2 × 249 Pa = 299 Pa, or about 0.043 psi. If the filter's clean-condition spec is 0.25 inches w.c. and the dirty-replacement threshold is 1.0 inch w.c., this filter is overdue.
Why fluid choice matters: Water is cheap and visible but limited to a few psi (a 10 psi reading needs a 23-foot tube). Mercury is 13.6× denser, so the same column measures 13.6× more pressure — that's why blood pressure and barometers historically used mercury. Lighter oils (specific gravity 0.8) extend resolution for very low pressures.
The catch: manometers are slow, fragile, orientation-sensitive, and only practical for gauge or differential measurements where one side can vent. Above ~30 psi or in vibrating environments, switch to a Bourdon gauge or transducer.
Forgotten Books
2026-06-18
Book: Elementary household chemistry; an introductory textbook for students of home economics by Snell, John Ferguson, 1870- (1914)
Read it: Internet Archive
Buried in the preface of a 1914 textbook is a pedagogical philosophy that today's education-reform crowd thinks they invented. John Ferguson Snell, Professor of Chemistry at Macdonald College, McGill University, opens his textbook with this declaration:
The principle which has been kept constantly in mind is to introduce the applications of chemistry to household affairs as early and as often as possible and to present only such portions of the subject matter of theoretical chemistry as is essential to the comprehension of these applications. In this way the student's interest is enlisted and maintained — a most important consideration in the teaching of an applied science.
That's "problem-based learning" and "just-in-time theory" delivered straight, more than a century before they became conference-circuit buzzwords. Snell is openly inverting the standard chemistry curriculum: don't drill students on the periodic table and stoichiometry until their eyes glaze over, then promise that one day it'll be useful. Start with why the bread rises, then introduce only the theory needed to explain it.
The context makes it more interesting. Snell explains that this book exists because:
The recent development of courses of instruction in Home Economics in America has created a field for textbooks prepared to meet the special needs of this new class of students.
So who were these students? Women. Home Economics in 1914 was the back door through which serious science education reached women in American and Canadian universities at scale. The "household chemistry" framing was partly genuine pedagogy, partly a cultural compromise — you could teach a woman acid-base chemistry as long as you called it "laundry." And under that compromise, Snell ended up doing something pedagogically radical: he stripped chemistry of its theory-first scaffolding and rebuilt it around real problems.
What modern readers should notice:
The thing that's been forgotten isn't a recipe or a remedy — it's an entire curricular philosophy. Snell built a working applications-first chemistry course in 1914, watched it succeed with students who'd never seen a test tube, and wrote down exactly why it worked. A hundred-plus years later, ed-tech companies are charging tuition to rediscover the same principle.
Forgotten Darkroom
2026-06-18
Book: Photography in a nut shell; or, The experience of an artist in photography, on paper, glass and silver by M. P. Simons (1858)
Read it: Internet Archive
Open the table of contents of Montgomery P. Simons's 1858 manual and you find a sequence of chapter titles that read less like a photography book and more like a small alchemy textbook:
CLEANING AND POLISHING THE PLATE 17
COATING THE POLISHED PLATE 19
TIMING THE PLATE IN THE CAMERA 21
TO MERCURIALIZE THE PLATE 23
CLEARING THE PLATE WITH HYDRO-SULPHATE OF SODA 24
GILDING THE PICTURE 25
...
CHEMICAL BOXES IN WINTER 32
CHEMICAL BOXES IN SUMMER 33
Simons was a Philadelphia daguerreotypist and a teacher of the craft, also known for his earlier Plain Instructions for Coloring Photographs. His "little manual" was, as he put it in his own dedication,
TO THE Memory of the Immortal DAGUERRE, TO WHOSE BRIGHT GENIUS AND GENEROUS HEART, THE WORLD IS INDEBTED FOR THE BEAUTIFUL ART OF PHOTOGRAPHY.
What is genuinely forgotten here is not a single recipe but an entire vanished profession. To make a photograph in 1858, a working artist had to:
The single line "TO MERCURIALIZE THE PLATE" hides a daily occupational hazard that modern photographers cannot imagine. Mercury vapor is now a regulated industrial poison; the studios of the 1850s were essentially low-grade mercury workshops, and tremor, irritability, and tooth loss among veteran daguerreotypists are now recognized as classic signs of chronic mercurialism — the same "mad hatter" syndrome that afflicted felt-makers.
Equally forgotten is the seasonal craft buried in the chapters CHEMICAL BOXES IN WINTER and CHEMICAL BOXES IN SUMMER. Iodine and bromine sublime at very different rates at 5°C versus 30°C, so a photographer's exposure times, coating times, even the geometry of the sensitizing box had to be re-tuned twice a year. Simons's contingency table — TOO MUCH BROMINE, TOO LITTLE BROMINE, TOO LITTLE IODINE — is essentially a diagnostic flowchart for a process whose chemistry drifted with the weather.
The modern echo is unmistakable. When a phone photographer complains that night-mode looks "off," a silicon image-signal processor is doing in milliseconds what Simons did by sniffing a vapor box and counting Mississippis. The chemistry got hidden, not eliminated; we just outsourced the seasonal recalibration to firmware.
Forgotten Patent
2026-06-18
In 1839, a 19-year-old physics apprentice named Alexandre-Edmond Becquerel was tinkering in his father's lab at the Muséum National d'Histoire Naturelle in Paris. He built a deceptively simple device: two platinum electrodes coated with silver halide (silver chloride or silver bromide), immersed in a mild acidic electrolyte. When he shined sunlight on one of the electrodes, a current flowed. In the dark, it stopped. He had just discovered the photovoltaic effect — the direct conversion of light into electricity.
Becquerel published his findings in Comptes Rendus de l'Académie des Sciences that same year, calling it the "effet électrique sous l'influence des rayons solaires" (electric effect under the influence of solar rays). Patents in France at the time treated such academic discoveries as scientific priority claims rather than industrial filings, but his published apparatus is the prior-art root of every solar cell that followed. The mechanism he stumbled into was nothing less than quantum: photons knocking electrons across an energy barrier at the electrode–electrolyte interface — though quantum mechanics wouldn't exist for another 86 years.
What he actually built:
The forgotten decades. Nobody knew what to do with it. Becquerel went on to invent the phosphoroscope and discover fluorescence; his son Henri would discover radioactivity in 1896 (winning the 1903 Nobel with the Curies). The photovoltaic effect sat dormant for 44 years until Charles Fritts built a selenium solar cell in 1883 (~1% efficiency) — and then another 71 years until Daryl Chapin, Calvin Fuller, and Gerald Pearson at Bell Labs filed the silicon p-n junction solar cell in 1954 (U.S. Patent 2,780,765, ~6% efficiency).
The modern echo is uncanny. Becquerel's wet cell — a liquid electrolyte sandwiched between a light-absorbing electrode and a counter-electrode — is structurally identical to the dye-sensitized solar cell (DSSC) patented by Michael Grätzel and Brian O'Regan in 1991 (U.S. Patent 5,084,365). Grätzel cells use titanium dioxide coated with a light-absorbing dye, immersed in an iodide electrolyte. They're the direct conceptual descendant of Becquerel's 1839 apparatus — a "wet" photovoltaic that bypasses expensive silicon. Grätzel cells now power calculators, IoT sensors, and indoor light-harvesting devices, hitting ~13% efficiency in lab settings.
Even more striking: the perovskite solar cells sweeping research labs today (efficiencies above 26% as of 2025) often borrow the dye-sensitized architecture — a thin absorber layer on a mesoporous scaffold with a charge-transport medium. The cells the world is racing to commercialize for next-generation photovoltaics are, in their lineage, Becquerel's apparatus with better chemistry.
A teenager in 1839, with platinum, silver salts, and a jar of acid, sketched the architecture that humanity would spend the next two centuries refining — and is only now learning to mass-produce.
Daily GitHub Zero Stars
2026-06-18
Language: Python
joy2midi is a delightfully practical little Python utility that bridges two worlds that rarely talk to each other: gamepads and MIDI. The premise is simple — plug in any joystick or controller, and the tool maps its buttons, triggers, and analog sticks to MIDI messages that any DAW, synth, or hardware instrument can understand. No proprietary software, no expensive MIDI controllers, just a $15 thrift-store gamepad turned into an expressive musical instrument.
What makes this interesting:
The repo just landed today with zero stars, so the documentation is probably sparse and the code likely needs polish — but the concept is the kind of thing that hobby DAW users, chiptune artists, and modular synth tinkerers love to fork and extend. It's also a great learning project: Python, pygame (or similar) for joystick input, mido or rtmidi for MIDI output. Small surface area, clear value.
Worth grabbing if you make music in Ableton, FL Studio, Reaper, or any DAW that accepts virtual MIDI input — or if you're learning Python and want a project where the output is genuinely fun.
Daily Hardware Architecture
2026-06-18
Inside every DRAM chip, the actual storage is a 2D grid of capacitors organized into rows (typically 8KB wide) and columns. But you can't read a capacitor directly — the charge is too small. Instead, every bank has a row buffer: a strip of sense amplifiers that latches an entire row at once. All reads and writes actually touch the row buffer, not the cells themselves.
This creates three dramatically different access scenarios:
That's roughly a 3x latency swing based purely on whether the previous access touched the same row. And because activating a row is destructive (it drains the capacitors and refreshes from the sense amps), you literally cannot skip the precharge step on a conflict.
Concrete example: Walking a 1GB array sequentially gives you ~128 row buffer hits per row (8KB / 64B cache line). Random access into the same array gives you almost guaranteed row conflicts on every access — the DDR5 spec lists tRC (row cycle time) around 45ns, so you're capped at ~22M accesses/sec per bank. Sequential streaming on the same hardware hits 100M+ accesses/sec per bank. Same bytes, same chip, ~5-10x throughput difference.
Why banks exist: Modern DRAM has 16-32 banks per rank precisely so the memory controller can overlap the precharge/activate latency of one bank with column accesses on another. This is why memory controllers aggressively interleave addresses across banks — a 4KB page typically spans multiple banks so even "random" access within a page gets some parallelism.
Rule of thumb: If your working set's stride matches the row size (often 8KB), you'll get worst-case row conflicts. The classic pathology is striding through a column of a large matrix where each element lands in the same bank but a different row. Either tile your access pattern, or transpose.
The page policy the memory controller uses matters too: open-page keeps rows open speculating on locality (great for sequential), close-page precharges immediately (better for random). Server BIOSes often expose this.
Hacker News Deep Cuts
2026-06-18
Link: https://fredrikbk.com/publications/deegen.pdf
HN Discussion: 1 points, 0 comments
Building a fast virtual machine for a dynamic language is one of the most labor-intensive undertakings in systems programming. V8, LuaJIT, PyPy, and HHVM each represent person-decades of work — hand-tuned interpreters, tiered JITs, inline caches, deoptimization machinery, garbage collector integration. The dirty secret is that most of this complexity is mechanical: once you've decided your bytecode semantics, the interpreter loop, the baseline JIT, and the inline cache plumbing follow predictable patterns. But "predictable" doesn't mean "easy" — getting them all correct and fast has historically required a small army of compiler engineers.
Deegen attacks this problem at the meta level. Rather than writing yet another VM, the authors built a generator that takes a high-level bytecode semantics description and emits a complete VM, including a tiered JIT compiler. The paper is from the same research line as LuaJIT Remake (the previous Deegen-adjacent work that produced a Lua interpreter outperforming LuaJIT's interpreter despite being auto-generated).
Why this matters to a technical audience:
The PDF is from Fredrik Kjolstad's group, which has a strong track record in compiler-generation research (TACO, the tensor compiler, came from the same lab). That pedigree alone makes it worth a read for anyone interested in compilers, language runtimes, or the gap between declarative specification and machine-code-quality output.
This is the kind of paper that sits at one upvote on a Wednesday morning and then resurfaces six months later when someone notices a startup or research group built something on it.
HN Jobs Teardown
2026-06-18
Source: HN Who is Hiring
Posted by: ssk2
Of the eleven postings in this thread, Airbnb's is the most revealing — not because it says the most, but because of what a hyperscaler chooses to emphasize when fishing for senior talent on Hacker News.
The role: Staff Software Engineer on Cloud Infrastructure, onsite in San Francisco/San Jose. The team owns "compute clusters, cloud deployments and service discovery infrastructure" serving ~1,500 internal product engineers and "many tier 0 services."
1. Tech stack (by inference): The posting deliberately avoids name-dropping, but the vocabulary is telling. "Compute clusters" + "service discovery" + "tier 0" is the standard Kubernetes-plus-service-mesh dialect of 2020-era infra teams. Airbnb famously runs on AWS with a heavy Kubernetes investment (their SmartStack/Synapse service discovery tooling was open-sourced years ago and they've been migrating off it). The fact that this team still exists as a distinct org — rather than "Platform" or "Developer Productivity" — signals they're still operating their own abstractions on top of EC2 rather than going all-in on managed services like EKS/Fargate.
2. Stage & direction: The 1,500-engineer figure is the real headline. That's not a startup problem — that's a platform-team-as-internal-SaaS problem. They need a Staff engineer because the org has outgrown the "smart senior who knows everything" model and needs someone who can set technical direction across multiple squads. The "strict requirements for scale and robustness" framing suggests they've had recent reliability incidents — tier 0 language usually shows up in postings after a postmortem.
3. Skills & trends: Cloud infra at FAANG-adjacent scale is increasingly about multi-tenancy of internal customers, not raw scale. The ideal candidate isn't a distributed-systems researcher — it's someone who can negotiate SLOs with 1,500 product engineers and ship migrations without breaking them. This mirrors the broader 2020 trend of "Platform Engineering" emerging as a discipline distinct from SRE.
4. Flags:
Daily Low-Level Programming
2026-06-18
You run 50 VMs on one host, each booting the same Linux image. Each has a kernel text segment, glibc, sshd — identical bytes sitting in 50 different physical pages. KSM (Kernel Same-page Merging) is the kernel daemon that finds those duplicates and collapses them into one shared, copy-on-write page.
The mechanism: a kthread (ksmd) periodically scans pages that processes have voluntarily registered via madvise(MADV_MERGEABLE). It maintains two red-black trees:
When ksmd scans a candidate page, it computes a checksum. If the checksum is stable across two scans (meaning the page hasn't changed), it looks in the stable tree for a byte-exact match. Match found? The PTE is rewritten to point at the shared page, marked read-only, refcount bumped, and the original physical page is freed. No match? It's added to the unstable tree to wait for a future twin.
The catch is the write fault. The moment any process writes to a merged page, the CPU traps, the kernel allocates a fresh page, copies, and rewires that one PTE — classic COW. So KSM trades CPU (scanning, hashing, comparing) for RAM. On a host running identical VMs, savings of 30-50% of guest memory are routine; KVM enables it by default for guest pages.
Concrete example: A QEMU process backing a VM calls madvise(guest_ram, size, MADV_MERGEABLE) on its allocated guest RAM. Twenty VMs each have a 4 KB page containing the zeroed BSS of init. ksmd finds them, leaves one physical page, and frees nineteen. That's 76 KB recovered from one merge — multiply across millions of pages.
Rule of thumb: KSM's cost is roughly proportional to pages_to_scan × scan_frequency_hz. Default tuning (/sys/kernel/mm/ksm/pages_to_scan = 100, sleep 20 ms) scans ~5000 pages/sec ≈ 20 MB/sec — under 1% of one core. Bump pages_to_scan to 1000 on a busy hypervisor and you'll see one core pinned at 15-25%, but merge-rate climbs proportionally.
Security wrinkle: Merging is observable. A write to a merged page is measurably slower than a write to a private one (the COW fault). This is the basis of the Flush+Reload-class cross-VM attacks; production hypervisors often disable KSM across security domains or use merge_across_nodes=0 to at least confine it within a NUMA node.
RFC Deep Dive
2026-06-18
If you've ever wondered how your iPhone's Calendar app talks to your work calendar server, or how Thunderbird syncs with Fastmail, or how a Nextcloud instance shares events with macOS — the answer, almost certainly, is CalDAV. RFC 4791 is the protocol that quietly powers most non-Google, non-Microsoft calendaring on Earth.
The problem. By the mid-2000s, calendar data had a standard format (iCalendar, RFC 5545) but no standard way to share it. Every vendor had its own proprietary server protocol: Exchange used MAPI/RPC, Lotus Notes had NRPC, Oracle had its own thing. Open-source clients couldn't interoperate, and users couldn't move between platforms without losing their data. What was needed was an open, HTTP-based protocol that any client could speak.
The clever design decision: build on WebDAV. Rather than invent a new protocol from scratch, the authors layered calendaring on top of WebDAV (RFC 4918) — HTTP's extension for collaborative file management. A calendar becomes a collection (think: directory), and each event or task is a resource (think: file) containing an iCalendar object. To create an event, you PUT an .ics file. To delete it, you DELETE it. To list events, you use WebDAV's PROPFIND. This means CalDAV inherits HTTP authentication, TLS, ETags for conflict detection, and all the existing tooling for free.
The novel parts. CalDAV adds a few essential pieces WebDAV alone can't provide:
MKCALENDAR method — a new HTTP verb to create a calendar collection (distinct from a generic WebDAV collection).REPORT method extensions: calendar-query lets clients ask "give me all VEVENTs between July 1 and July 31 that match these filters" without downloading the entire calendar. calendar-multiget fetches a known set of resources in one round trip.VFREEBUSY, enabling "find a time" features across users.Why it matters today. Apple bet heavily on CalDAV — macOS Calendar, iOS Calendar, and iCloud all speak it natively. Google supported it until 2024 when they restricted it to Workspace accounts, but the protocol still underpins essentially every non-Microsoft, non-Google calendar service: Fastmail, Nextcloud, Radicale, SOGo, Baïkal, Posteo, Mailbox.org, and self-hosted setups worldwide. Its sibling CardDAV (RFC 6352) does the same for contacts. If you own your data and aren't paying Microsoft or Google, you're almost certainly using CalDAV.
The quirks. The XML payloads are verbose — a simple query is hundreds of bytes of namespaced XML. The recurrence expansion rules in RFC 5545 are notoriously hard to get right, and CalDAV servers have historically disagreed on edge cases (timezones around DST transitions, EXDATEs on infinite recurrences). And because every event is a separate HTTP resource, syncing a large calendar can mean thousands of requests — though the sync-collection REPORT (RFC 6578) later helped enormously.
The history. Lisa Dusseault was a key WebDAV editor at the IETF; Cyrus Daboo went on to author the CardDAV spec and now works at Apple on calendaring; Bernard Desruisseaux came from Oracle, which had a major calendaring product. The collaboration across vendor lines is part of why CalDAV won where proprietary protocols stalled.
Stack Overflow Unanswered
2026-06-18
Stack Overflow: View Question
Tags: caching, architecture, arm, hardware, arm64
Score: 2 | Views: 122
The asker wants to validate DDR by writing a value then reading it back, mapping the page as Normal Non-Cacheable (Normal_NC) — a "write-combining" attribute commonly used for framebuffers and device memory. Their test code issues a store, a dsb sy, then a load, and they're trying to reason about whether the load is guaranteed to see DRAM (not a merge buffer) and whether the barrier is sufficient.
This question is interesting because Normal_NC sits in a confusing middle ground of the ARM memory model. Unlike Device memory, Normal_NC accesses can be gathered, merged, reordered, and speculatively prefetched — but they are not cached in L1/L2. So intuition from x86 WC memory only partially carries over.
Key technical points:
dsb sy drains the write buffer to the point of coherency/serialization, but the architectural guarantee is that prior memory accesses are complete with respect to the shareability domain — not that they've physically reached the DRAM cell. For most SoCs the memory controller acknowledges the write before the DRAM array commits.Direction for an answer:
dsb sy between the store and load is the correct barrier; adding isb doesn't help (ISB is for context-synchronization, not data ordering).Gotchas: write-combining behavior is implementation-defined within architectural limits, so two different SoCs (even both ARMv8.2) can give different observable results for the same code. And on real hardware, the DDR controller's own write buffer and refresh cycles further blur "did it reach the cell."
Daily Software Engineering
2026-06-18
In a lock-free data structure, one thread can be reading a node while another thread wants to delete it. If you free the memory while the reader is still dereferencing the pointer, you get a use-after-free. Garbage-collected languages dodge this entirely. In C++, Rust (with raw pointers), or any kernel code, you need hazard pointers.
The idea is small: before a thread accesses a shared pointer, it publishes that pointer in a per-thread "hazard slot" — a single-writer, multi-reader location. When another thread wants to free a node, it doesn't free it immediately. It puts the node on a retire list. Periodically, the retiring thread scans every other thread's hazard slots. If the node isn't published by anyone, it's safe to free. If it is, leave it on the list and try again later.
Concrete example — a lock-free stack pop:
top, gets node X. Before dereferencing X to read X->next, it writes X into its hazard slot.top to confirm X is still there (the publish must happen-before the use). If it changed, retry.retire(X).Rule of thumb on overhead: set the retire-list threshold to 2 × (number of threads) × (hazard pointers per thread). With 16 threads and 2 hazards each, you scan when the retire list hits 64. That keeps the amortized scan cost O(1) per retire — each retired node is examined a constant number of times before being freed.
Hazard pointers beat the alternatives in specific ways. Reference counting on every access destroys cache lines under contention. RCU (read-copy-update) is faster for reads but requires quiescent-state detection, which is awkward in user space. Epoch-based reclamation is simpler but a single stuck thread blocks all reclamation forever — a memory leak waiting to happen. Hazard pointers bound the unreclaimed memory per thread, so one slow reader can't starve the whole system.
The catch: hazard pointers require discipline. You must publish before dereferencing, and you must re-validate after publishing. Forget the re-read, and you've published a pointer to a node that was already freed before you announced your interest. C++26 standardized std::hazard_pointer precisely because rolling your own is a footgun.
Tool Nobody Knows
2026-06-18
Every time you've added up the RSS column from ps and gotten a number bigger than your actual RAM, that's because RSS double-counts shared pages. Two processes both linked against libc.so? Each one's RSS includes the full library. Sum across hundreds of processes and the books no longer balance.
The kernel has known the answer since 2007: PSS (Proportional Set Size) divides each shared page by the number of processes sharing it, and USS (Unique Set Size) is the memory only this process holds — i.e., what you'd actually reclaim by killing it. Both live in /proc/<pid>/smaps. Almost nothing exposes them sanely. smem does.
Install: apt install smem / pacman -S smem. It's about 1,000 lines of Python.
Top processes by what they actually cost:
$ smem -k -s pss -r | head
PID User Command Swap USS PSS RSS
4821 shaun /usr/lib/firefox/firefox 0 842.3M 891.4M 1.4G
5102 shaun /opt/google/chrome/chrome 0 612.1M 698.7M 1.9G
5103 shaun /opt/google/chrome/chrome 0 410.5M 473.2M 1.7G
Note Chrome: RSS says 1.9G, PSS says 698M. The PSS column is what disappears from free -m if you kill it. The RSS column is fiction.
Group by user, with totals that actually sum correctly:
$ smem -u -k -t
User Count Swap USS PSS RSS
root 89 1.2M 1.4G 1.7G 3.9G
shaun 124 2.1M 5.8G 6.4G 12.1G
www-data 12 0 312.0M 367.0M 624.0M
-----------------------------------------------------------
225 3.3M 7.5G 8.5G 16.6G
Per-library breakdown — find the shared libraries that are actually heavy:
$ smem -m -k -s pss -r | head -5
Map PIDs AVGPSS PSS
[heap] 198 18.2M 3.6G
<anonymous> 847 2.1M 1.8G
/usr/lib/x86_64-linux-gnu/libxul.so 3 201.4M 604.3M
Filter to a process tree, get a real number:
$ smem -k -P chrome -t
PID User Command Swap USS PSS RSS
5102 shaun chrome --type=renderer 0 612.1M 698.7M 1.9G
5103 shaun chrome --type=renderer 0 410.5M 473.2M 1.7G
5099 shaun chrome --type=gpu-process 0 89.2M 102.4M 384.1M
-----------------------------------------------------------------------------
0 1.1G 1.3G 4.0G
The killer feature: charts in your terminal, no DISPLAY required when paired with cairo:
$ smem --pie name -o memory.png # who owns the RAM, visually
$ smem --bar pid -c "command pss uss" # bar chart of top consumers
Running inside a container where /proc/meminfo lies about the host? Pass the real cgroup limit:
$ smem -k --realmem=2G -p # show PSS as % of actual limit
And the most under-used flag: --capture-mode writes a tarball of /proc you can analyze later, on a different machine, with the same tool — perfect for postmortems where the OOM has already happened and you only have a snapshot from sosreport.
Why not pmap, ps, top, or htop? pmap -x shows mappings but no PSS sum. ps/top have no PSS column at all. htop finally added it, but only per-process — no group-by-user, no per-library aggregation, no totals that match free. smem's sums always match reality because the math is correct.
smem reads /proc/<pid>/smaps and gives you PSS and USS, the only per-process numbers that actually add up to your real RAM usage.
What If Engineering
2026-06-18
Magnetohydrodynamic (MHD) generators extract electricity directly from a flowing ionized gas — no turbines, no moving parts. You shove hot conductive plasma through a magnetic field, and the Lorentz force separates positive and negative charges onto electrodes. The Soviets actually ran a 25 MW MHD topping cycle (U-25) in Moscow in the 1970s. The problem has always been that you need 3,000 K exhaust to get meaningful ionization, and at those temperatures your channel walls vaporize in hours.
So: what if we built a single colossal MHD channel — a 500-meter-tall chimney, 30 m in diameter, sitting atop a 1 GW coal plant — and used the entire flue-gas stream as our working fluid? Could we recover the 35% of fuel energy currently dumped as heat?
Flue gas at 1,800 K is essentially non-conductive. To get usable conductivity (~10 S/m), you seed it with cesium or potassium carbonate, which ionize easily. Cesium gives the best yield but costs ~$60,000/kg. A 1 GW plant pushes ~1,200 kg/s of flue gas; seeding at 1% mass fraction means 12 kg/s of cesium. That's $43 million per hour. Potassium at 0.5% is more realistic: ~$200/hour in seed, plus a downstream electrostatic precipitator to recover 99% of it (the Soviets managed 95%).
Power density in an MHD channel scales as P = σ·u²·B²·(1-K)·K, where σ is conductivity, u is gas velocity, B is magnetic field, and K is the load factor. Plug in σ = 10 S/m, u = 800 m/s (subsonic flue gas), B = 5 T (a serious superconducting magnet wrapping the chimney), K = 0.5:
P = 10 × 800² × 5² × 0.25 = 40 MW/m³
The channel volume is roughly π × 15² × 500 = 350,000 m³, but only the first ~50 meters runs hot enough for real conductivity. That gives an active volume of ~35,000 m³ and a theoretical output of ~1.4 TW — which is absurd. In practice you're limited by the gas's thermal energy: 1,200 kg/s × 1,200 J/kg·K × 800 K cooling ≈ 1.15 GW of available heat. At MHD efficiency of ~25%, that's 290 MW of bonus electricity stacked on top of your existing steam cycle.
Wrapping a 30-meter-diameter superconducting solenoid is, frankly, unhinged. ITER's 13 m bore central solenoid stores 6.4 GJ. Scaling roughly with B²·V, our chimney coil stores ~150 GJ — equivalent to 36 tons of TNT in magnetic field energy. A quench would vaporize the chimney. You'd need a segmented array of warm-bore resistive magnets instead, eating ~50 MW just to run, dropping net gain to ~240 MW.
Slag from coal ash deposits on electrodes, shorting them out. The Soviets never ran U-25 continuously for more than 250 hours. With modern ceramic-matrix composites (HfC coatings, melting point 4,200 K) you might reach 5,000 hours — still a maintenance nightmare versus a steam turbine's decade-long runs.
Plant efficiency would jump from 35% to roughly 47% — comparable to a modern combined-cycle gas plant, but applied to coal. Which is the real irony: we'd be making the dirtiest fuel almost as efficient as the cleanest, just in time for nobody to want it.
Wikipedia Rabbit Hole
2026-06-18
Wikipedia: Read the full article
Put a heated metal mesh inside a glass tube, and under the right conditions the tube will scream — a pure, sustained tone loud enough to hurt your ears, powered by nothing but a temperature difference. This is the Rijke tube, a parlor demonstration from 1859, and it's also the gateway to one of the strangest corners of engineering: machines that pump heat with sound, and machines that make sound from heat.
Thermoacoustics is the physics of how pressure waves and temperature gradients feed each other. In a normal sound wave, gas parcels compress (warming slightly) and expand (cooling slightly) as they oscillate. Usually this is a footnote. But if you place those oscillating parcels against a solid surface with a steep temperature gradient — a "stack" of thin plates or a porous ceramic — something remarkable happens. The gas picks up heat at one end of its swing and dumps it at the other. Run it one way and you have a heat pump driven by sound. Run it the other way and a temperature difference spontaneously generates a roaring acoustic wave, which can drive a piston or a linear alternator.
The clever part: there are no moving parts in the hot zone. No pistons, no rotating shafts, no sliding seals. The "working fluid" oscillates itself. That makes thermoacoustic engines astonishingly reliable — Los Alamos has built ones that ran for years without maintenance — and it makes them attractive for places where moving parts are nightmares:
The connection to the Stirling engine is intimate — a thermoacoustic engine is essentially a Stirling cycle where the displacer and piston have been replaced by a resonant standing wave. Robert Stirling patented his hot-air engine in 1816 thinking about coal mine safety; two centuries later, his cycle is running silently in the form of sound waves bouncing between mesh screens.
There's a dark twin to all this: combustion instability. When the flame inside a rocket engine or gas turbine happens to release heat in phase with a pressure oscillation in the chamber — what's called a positive Rayleigh index — the chamber becomes its own thermoacoustic amplifier. The F-1 engines on the Saturn V suffered exactly this, and engineers spent years tuning baffles to prevent self-destructive screaming at thousands of hertz.
So the same physics that lets you build a fridge with no moving parts can also tear a rocket apart. The only difference is whether the heat release and the pressure wave are in love, or just acquaintances.
Daily YT Documentary
2026-06-18
Channel: MASKE (631 subscribers)
Note: this batch was thin — most candidates were trailers, hashtag-spam shorts, or logo compilations. This one wins by default, but the underlying topic is genuinely interesting.
The video tackles a real and underappreciated piece of neuroscience: the intrinsic cardiac nervous system, sometimes called the "little brain in the heart." The human heart contains roughly 40,000 sensory neurons that form their own semi-autonomous network, capable of processing information and influencing rhythm independently of signals from the brain. It's why a transplanted heart — completely severed from the central nervous system — keeps beating and adapting.
The Turkish-language description frames the question directly: is the heart just a pump, or does it have a mind of its own? Expect coverage of vagal feedback loops, the heart-brain axis, and how cardiac neurons store a kind of "memory" that influences emotional regulation and sleep.
The hashtag-spammed title is unfortunate, and the production is clearly a small-channel effort, but the science being discussed is legitimate and rarely covered outside specialist channels. Worth a watch if you're curious about why "gut feelings" and "heart feelings" aren't just metaphors.
Daily YT Electronics
2026-06-18
Channel: RLC-EEE (516 subscribers)
Wokwi is one of the most useful tools to enter the embedded developer's toolkit in recent years — a browser-based simulator that models microcontrollers, peripherals, and even timing-sensitive interactions with surprising fidelity. This tutorial walks through setting up a Raspberry Pi Pico project inside Wokwi from scratch, including wiring up components on the virtual breadboard, loading MicroPython or C code, and stepping through execution to verify behavior before committing to physical hardware.
For hobbyists and students, the appeal is obvious: you can iterate on a design in seconds rather than minutes, catch logic bugs without burning flash cycles, and share fully reproducible projects via a single URL. The video covers the practical workflow — creating a new simulation, adding peripherals like LEDs, buttons, and sensors, debugging code interactively, and understanding where the simulator's limitations lie (analog behavior, RF, and certain timing edge cases don't always match silicon).
What makes this worth watching over the official docs is the hands-on framing: rather than enumerating features, the presenter shows the typical develop-test-debug loop you'd actually use when prototyping. If you've been hesitant to commit to a Pico project because you don't have parts on hand, or you want a faster feedback loop while learning, this is a low-friction entry point. The channel is small (516 subs) but the production is clean and the content is focused on practical EE education.
Daily YT Engineering
2026-06-18
Channel: WWIDO Infinite Learning (690 subscribers)
Honest caveat: this week's candidate pool was thin. Most entries were Shorts, hashtag spam, day-X CAD vlogs from an 11-subscriber channel, or generic AI-narrated "explore the science" compilations. This Bf 109 prototype deep-dive is the only candidate with substantive engineering content, so it wins by default — but it's a genuinely worthwhile watch on its own merits.
The episode focuses on the design philosophy behind the Bf 109 prototype rather than its combat history. Willy Messerschmitt's team made a series of unconventional trade-offs that became foundational to modern fighter design: an airframe deliberately built smaller than the engine it was designed around, flush-riveted stressed-skin monocoque construction, automatic leading-edge slats, and an undercarriage attached to the fuselage rather than the wings (which made wing removal trivial for field maintenance, at the cost of a notoriously narrow track).
What makes the video useful is that it explains why each compromise was made — the weight-to-power calculus, the manufacturing constraints of mid-1930s Germany, and how each "flaw" was actually a deliberate optimization for a specific mission profile. It's a concrete case study in how requirements drive geometry, which is a lesson that translates directly to any engineering discipline.
At 690 subscribers, the channel is exactly the kind of overlooked technical creator worth supporting.
Daily YT Maker
2026-06-18
Channel: LearnWithPeet (159 subscribers)
Peet introduces Zed, a custom Raspberry Pi desktop companion built entirely from scratch. Unlike the typical Pi tutorial that just walks through flashing an SD card, this project sits at the intersection of physical fabrication, embedded electronics, and software design — the kind of multi-discipline build that's genuinely instructive to watch from a small maker channel.
Desktop companion projects are a great vehicle for learning because they force you to make real decisions about enclosure design, display selection, power delivery, and interaction patterns. A Raspberry Pi gives you enough horsepower to run animated faces, voice processing, or even small local models, but it also forces you to think carefully about heat, mounting, and how to expose GPIO without breaking the form factor.
The understated title — "I Made Something" — and the modest framing of "what it can do right now" suggest this is an honest progress update rather than an over-polished reveal, which usually translates into more candid explanations of trade-offs and dead-ends. For viewers interested in starting their own desk-companion or smart-object builds, seeing someone at the 159-subscriber level walk through their work is often more replicable than a slick channel's six-figure build.
Note: the candidate pool was unusually weak this round — many entries were Shorts or hashtag spam. This one stood out as the only substantive maker project on offer.
Daily YT Welding
2026-06-18
Channel: Roll Former LLC (354 subscribers)
Roll Former LLC brought their FHA Drip Edge Machine to the Florida Roofing & Sheet Metal Association expo, and this clip shows the portable roll former producing finished drip edge profiles on the show floor. Drip edge is the L-shaped (or T-shaped) sheet metal flashing that runs along the eaves and rakes of a roof — its job is to direct water away from the fascia and into the gutter rather than letting it wick back under the shingles and rot the deck.
The "FHA" profile is a Florida-specific high-wind variant with a longer kickout leg, designed to meet the state's tightened roofing code after the post-Andrew rewrites. What's worth watching here is the roll forming process itself: instead of bending each piece on a brake, a coil of pre-painted aluminum or galvanized steel is fed through a series of staged rollers that progressively form the profile as it travels through the machine. It's a great example of continuous forming vs. discrete bending — higher throughput, consistent geometry, and on-site production from a single coil.
For roofers, sheet metal fabricators, or anyone curious about job-site machinery, it's a quick look at how specialty trim gets made where it's installed rather than shipped pre-formed.
