Ahead-of-Time Code Compilation in HotSpot — John Rose (JEP 544)

JEP 544, owned by John Rose, extends HotSpot’s AOT cache to store optimised native code produced during a training run, so that peak-quality code is available the moment a production JVM starts. It is the third step of Project Leyden: JEP 483 moved class loading and linking earlier (JDK 24), JEP 515 moved method profiling earlier (JDK 25), and this moves compilation itself. The thesis is stated plainly — the way to improve startup and warmup is to do the work earlier rather than just in time. ...

September 12, 2026 · 3 min

I Expected Better From Google — Nicolas Dehandschoewercker

Minitap published mobile-use under Apache 2.0 as a research experiment in getting agents to reliably drive phones. In September the team opened Google’s Artemis repository and recognised their own work immediately: “What the fuck? We wrote this.” Nicolas Dehandschoewercker’s essay is a first-person account of what was taken, and an argument that open source depends on people being willing to keep sharing — which depends on how that work is treated once it travels. ...

September 12, 2026 · 3 min

A Few Good Ideas in Programming Languages — Pranoy Dutta

Pranoy Dutta’s short essay is three language features with a minimal code sample each: Crystal’s flow typing, Rust’s borrow checker, and contract programming in D. The thread connecting them is placement — the check lives where the invariant does, declared once and enforced by the compiler or runtime, instead of being restated in every caller and re-verified in review. Flow typing. In Crystal a variable can change type over its lifetime, and the compiler tracks the type at each program point: ...

September 12, 2026 · 2 min

Designing for Dual Screen and Foldable Devices with CSS — Stephanie Stimac

Stephanie Stimac’s post covers the two web-platform primitives that let a layout respond to the physical hinge of a foldable: viewport-segment media queries, and the environment variables that expose each display’s geometry. She frames it as a reminder that the capability exists rather than a tutorial — the deeper walkthrough lives in her companion Smashing Magazine article. Targeting the fold: @media (horizontal-viewport-segments: 2) — screens side by side, device held like a book. @media (vertical-viewport-segments: 2) — screens stacked, folding like a laptop. Her PowerPoint example: slides on top, speaker notes underneath. Reading the geometry: ...

September 12, 2026 · 2 min

QueryBrew: System-Agnostic SQL-to-SQL Query Optimization — Schmidt, Reif, Birler & Neumann

Storage and execution engines have gotten much faster over the last two decades. The query optimizer has not kept up — and a VLDB demo paper from TU München argues the reason is organizational as much as technical. Optimizers are entangled with a system’s statistics, operators, and physical plans, and changing one can break workloads that depend on accidental behavior, so vendors approach them risk-averse. Even Google’s SQL systems share a frontend without sharing an optimizer. ...

September 12, 2026 · 2 min

Microcode in Intel's 8087 Floating-Point Chip: The FSCALE Instruction — Ken Shirriff

Ken Shirriff opened up an Intel 8087 with a microscope and reverse-engineered the microcode for FSCALE, the instruction that scales a floating-point number by a power of two by adding to its exponent. He expected something close to trivial. It is not: FSCALE runs 140+ micro-instructions and three levels of subroutine calls, almost all of it handling special cases. What the chip has to cope with: 80-bit “temporary real” values: sign, 15-bit biased exponent, 64-bit significand Hidden tags per register — valid, special (inf/NaN/denorm), zero, empty Four rounding modes, signed zeros, projective/affine infinity, denorms, and an entire family of NaNs Exceptions that can be masked (keep computing, return best-effort value) or unmasked (interrupt) The actual work is small. The normal path is about 22 micro-instructions: bail if either argument is zero, convert the scale argument from float to integer by shifting right 0x403e - exponent bits (the exponent is biased by 16383, hence the constant from a dedicated exponent constant ROM), add that integer to the other operand’s exponent, then let the exponent converter check for overflow. Everything else is edge cases, and they are shared machinery: ...

September 12, 2026 · 2 min

Retrospectively Reverse-Engineering Apple's Neural Engine — Eileen Yoon

Eileen Yoon shelved her reverse-engineered Apple Neural Engine driver three years ago, concluding the block was too opinionated to build a general-purpose accelerator platform around. She restarts the project now that the M5 has folded ANE cores into the GPU cores, reading that as the beginning of the end for the standalone NPU. The goal is no longer to run workloads on the ANE but to map the architecture, on the theory that its internal decisions reveal what Apple was willing to commit to silicon in 2017 — and what the shift from CNNs to transformers did to those commitments. ...

September 12, 2026 · 2 min

Testing Race Conditions with Memory Access Tracing and Stack-Based Delay Injection — Jann Horn

Race conditions are the bugs you cannot prove. They need one specific interleaving to go wrong, so a hand-found candidate often cannot be confirmed, and a fix usually cannot be accompanied by a regression test that reliably fails before it and passes after. Jann Horn’s post describes MAccConc, tooling that makes the interleaving itself something you can specify and replay in the Linux kernel. The old workarounds are all trial and error: ...

September 12, 2026 · 3 min

Re-Engineering YouTube for the Living Room: Bringing Chrobalt to RDK — Santosh Mahto

Every YouTube app on a Smart TV or set-top box runs on Cobalt, Google’s deliberately minimal HTML5 engine built for devices where a full browser was never an option. Look at Settings → App Version and 25.lts is classic Cobalt; 27.lts or later is Chrobalt, the same product rebuilt as a Chromium embedder. Collabora spent over a year porting it to an RDK reference platform on Amlogic chipsets, and their write-up is a useful map of where that kind of work actually goes. ...

September 11, 2026 · 2 min

Better AI Code Comment Detector — Chris (kqr)

Chris (kqr) rebuilt his LLM code-comment classifier on public data and a sturdier foundation, then wrote up the parts that were actually hard. The classifier — logistic regression over stylometric and part-of-speech features — is the least interesting component. The dataset work and the deployment constraint are the story. The numbers, with the caveat attached: Balanced accuracy 77% under cross-validation, rising to 88% on a smaller non-synthetic set of real human/robot comments. Aggregate error rate is ~25% either way, which sounds bad — but predictions are calibrated, so at ≥80% confidence the false-positive risk drops to about 5%. The verdict’s own percentage is the useful signal; the confusion matrix is mostly there because readers expect it. The dataset recipe is where the cost landed. Sample pre-2021 commits from permissive/copyleft repos for human comments, strip the comments, have LLMs regenerate them — and balance token counts per file across classes so the model can’t learn which repository instead of which writing style. Mistakes that forced full recollections (twice, at real expense): ...

September 11, 2026 · 3 min

A Design Space Exploration of Async/Await — Gavin Gray

We say “async/await” as if it were one feature. A Brown CEL team (Gavin Gray, with the accompanying paper) treats it instead as a design space of nine independent decisions, and shows that seven Runtimes — Python/Asyncio, Trio, Tokio, Smol, JavaScript, C#, Swift — disagree on all of them in observable ways. They call the paradigm straight-line asynchrony: concurrency that looks like straight-line code. The demo program is trivial. One function logs “A”, sleeps, logs “B”; another spawns it without awaiting; main sleeps a second and logs “C”: ...

September 11, 2026 · 2 min

Measuring the Sloppiness of Code — Sebastian (Earendil)

The premise is refreshingly unromantic. Code passing its tests is not the same thing as code being good, and only the first of those has a cheap reward signal. Generate, run hidden tests, score — that is why models write correct slop. Sloppiness needs judgment, so it stays unmeasured, and in projects adding millions of lines a month the humans quietly lose the ability to keep up. The author, a physicist turned eval engineer, went looking for how the industry measures it and came back disappointed. “With the exception of a few insightful research papers, I was disappointed at how vibes based the industry seems at the moment.” ...

September 11, 2026 · 3 min

Native Is Now the Future of Mobile at Shopify — Mustafa Ali

Shopify went all-in on React Native in 2020 and got exactly what it paid for: one implementation instead of two, developers contributing across the stack, no permanent feature-parity chase. This week they announced the migration back to Swift and Kotlin. The framework did not get worse — the cost of building twice did. That is the interesting kind of engineering reversal. Shopify is explicit that they do not hold on to a decision just because it was successful, and that when a core assumption changes, the decision re-opens. The assumption here was that native means building and maintaining software on two platforms. By late 2025 agents had taken enough of the implementation, translation, testing, and review work that the cost stopped being the deciding factor. ...

September 11, 2026 · 3 min

Python Dicts and Sets Can Be Quadratic — Daniel Lemire

Daniel Lemire takes apart the claim everyone absorbs in a first data structures course: that Python’s dict and set are O(1). His answer has two halves, and the second one is the part that touches normal code. The first is adversarial. Generate keys as multiples of 2^61 - 1 and they collide in CPython’s hashing scheme, so the hash table degrades toward a linear scan per operation. On an M4 Max with Python 3.14, the runtime roughly quadruples every time n doubles: ...

September 11, 2026 · 2 min

Software Drives People Insane — Graybeard

Graybeard’s thesis is that software drives people insane — not in a pathological sense, but structurally. The conditions around it are unusually effective at making competent adults lose their sense of proportion, and he has watched it happen from enough angles to stop believing it is a personality problem. The mechanism is invisible cost. Move a kitchen mid-build and everyone sees the boarded walls and rerouted plumbing; the expense is physically undeniable. Move a kitchen in software and the cost hides inside systems that are already hard to reason about, accumulating quietly through context switching, regression risk, and architectural erosion. ...

September 11, 2026 · 2 min

Simple Is Not Small — jyn

jyn opens by rejecting their own answer. After a talk about a bug that took nine months to debug, a friend asked how to build tools so those epics would not be necessary, and they said: prioritize simplicity. The rest of the essay is an explanation of why that answer was empty — “simple” is usually used as a synonym for “small,” and small is a size, not a design property. ...

September 10, 2026 · 2 min

Stop Using Conventional Commits — Sumner Evans

Sumner Evans argues Conventional Commits is not just an annoying convention but a backwards one, in a specific and describable way: it makes the commit type mandatory and puts it first, while the commit scope — the subject of the change — is optional. His case, short version: Everyone who reads a log wants scope, not type. Contributors catching up, debuggers bisecting, incident responders scanning the commits around an error spike: all want to know what area changed. Bugs arrive through commits of any type, including bugfixes. Type is redundant. fix(compiler): prevent namespaced SVG style elements from being stripped already reads as a fix from the description alone, and subject-line space is scarce. Type is restrictive too. A commit that updated a component to handle two entry points was a fix, a refactor, and a feature at once — but it only touched one scope. Scope being optional is the tell: “having a commit without a scope is like having a sentence without a subject.” Then he walks the spec’s official selling points and finds none of them hold: ...

September 10, 2026 · 2 min

AI Is Breaking This Thing We Call Trust — Matheus Lima

Matheus Lima points at an assumption most of our work habits still rest on: producing something means you understood it. Send me a PR and I assume you read the code. Send me a brief and I assume you did the research. Generated output breaks that — code, docs, and answers to review questions can all look finished, and often be correct, without the author having checked any of it. ...

September 10, 2026 · 2 min

Genuine Creativity is Your New Moat — Ted Hayes

Ted Hayes built Flash microsites at a small Manhattan agency in 2006, and he uses that era to make a point about AI. Flash was genuinely bad — inaccessible, unskippable intros, broken back buttons — and it also enabled a decade of people making strange, new things because the tool made experimentation cheap. Roughly 98% of web-connected PCs had the player by 2006, and the Flashpoint archive still catalogues 157,509 preserved works. Most of it was junk. You do not get new good ideas without sifting through piles of bad ones. ...

September 10, 2026 · 2 min

How to build a f**king printer — Nishant Joshi

Nishant Joshi wanted to load documents onto his Xteink X3 e-ink reader without joining its hotspot and clicking through an upload page. His reasoning: if the thing looks like paper, it should accept a print job. That turned into a working printer server, called penguin, running on the reader itself. Making the host believe there is a printer at the other end: IPP (Internet Printing Protocol) carries operations like Get-Printer-Attributes and Print-Job over HTTP He advertised only what the hardware could do: monochrome, 300 dpi, one copy, one-sided, A5 and Letter Accepted formats were Apple raster and PWG raster, which pushes rasterization onto the Mac Bonjour advertised _ipp._tcp, and macOS driverless discovery additionally required the _universal subtype — obtained by calling ESP-IDF’s mDNS API directly, since the Arduino wrapper did not expose it The hard part was memory. A Letter page at 300 dpi is about 8.4 MB uncompressed. The chip has 400 KB of RAM, and after Wi-Fi and the page image were allocated, 6.8 KB of heap remained. The C3’s memory mapping covers flash, not SD card files, so swapping to storage was off the table. So he used the display as the buffer instead: ...

September 10, 2026 · 2 min