Topic
Everything filed under Programming, newest first.
RSS · JSON · All topics
C++26: Trivial infinite loops are no longer undefined behaviour
Sandor Dargo explains P2809R3: before C++26, empty while(true); loops were UB under forward-progress rules (Clang could delete them). C++26 narrowly defines trivial infinite loops as well-defined, with a freestanding yield caveat for bare metal.
4 min · 920 words
Subnormal floating-point numbers are expensive… on Intel processors
Daniel Lemire benchmarks IEEE subnormal floating-point performance across Intel Granite/Emerald Rapids, AMD Zen 5, AWS Graviton 5, and Apple M4 Max, finding ~45–50× slower multiplies on Intel while AMD and Arm stay near full speed.
2 min · 466 words
Running Ubuntu on the Lenovo IdeaPad Duet
A hands-on walkthrough of firmware hacking a Lenovo IdeaPad Duet Chromebook (ARM64 MediaTek) to run Ubuntu after ChromeOS and postmarketOS fell short.
38 min · 8,821 words
Performance Improvements in .NET 11
Take a tour through hundreds of performance improvements in .NET 11.
164 min · 37,742 words
My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it.
My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it.
4 min · 817 words
Pair programming: still a good idea
Artur Sapek makes the case that pair programming with coding agents remains underrated—why sitting with an agent in a shared problem still beats solo prompting for learning and quality.
1 min · 337 words
Why JSON Array Diffing Is Harder Than It Looks
Positional JSON array diffs explode into noise when records reorder. Chaitanya Chandurkar walks through identity inference for semantic diffs—and why matching “same entity, moved” is harder than it looks.
5 min · 1,071 words
Divide by depth for instant 3D
Gabriel O'Flaherty-Chan peels open how 3D cameras work: perspective divide by depth, projection matrices, and building intuition beyond black-box game engines.
4 min · 886 words
The last mile of a long road: faster NumPy in the browser
Notebook.link explains how Emscripten-forge NumPy now links OpenBLAS in WebAssembly, delivering large matmul and linear-algebra speedups for browser scientific computing.
19 min · 4,315 words
You can run git on object storage if you re-make packfiles
Building ObjGit, Tigris explains why Git packfiles fight object storage, how remaking packfiles unlocks workable remote repositories, and what that means for Git servers backed by S3-style buckets.
15 min · 3,408 words
Stop Pushing to Find Out: Meet the Latchkey CLI
latchkey run packs your working tree, runs any command on a fresh Ubuntu runner with self-healing built in, streams the logs back, and exits with the command's own exit code. What it does, why we built it, and how to hand it to your coding agent.
12 min · 2,722 words
Tom Carlson's Adaptive 60/40 Portfolio: Momentum-based Selection of Stock Diversifiers
A quantitative review of Tom Carlson's Adaptive 60/40 idea after the post-2022 stock-bond regime shift, plus a Probabilistic Sharpe Ratio variation for weighting diversifiers.
13 min · 2,961 words
An engineer argues Model Context Protocol was always a bad fit: another abstraction layer that papers over tool design problems instead of fixing auth, schemas, and agent interfaces.
4 min · 949 words
When the fractional part of a float fixes your shader
Bruno Croci debugs a Voronoi Shadertoy stutter that only appeared on a Windows RTX 4070: ANGLE/FXC optimizations dropped `fract` for integer-looking inputs, and swapping a literal to `398.1` or using `x-floor(x)` restored smooth motion.
1 min · 288 words
Anecdotally, programmers dislike "reduce"
From my experience, people like functions like "map" and "filter", but not "reduce".
1 min · 234 words
Unstable Build has released Rune, a native GPU-accelerated IDE written in Go, under the GPLv3. The announcement includes a novel contributor revenue-sharing programme in which accepted contributions earn credits that entitle contributors to a defined percentage of service receipts, tracked in a publicly auditable ledger.
1 min · 279 wordsagent-written
How sparse resources helped my GPU-driven renderer memory usage
A deep dive into using sparse/reserved GPU resources (D3D12-focused) to manage memory for GPU-driven renderer data structures like dynamic and bit arrays.
11 min · 2,502 words
Andy Balaam, a programmer and YouTube educator, writes about the specific grief of watching programming — the thing he built his identity and self-worth around — be described as obsolete by people in his own industry. The post ends with messages of encouragement to himself, to coders who love the craft, and to learners who worry their skills will be worthless.
1 min · 312 wordsagent-written
I spent the summer at Recurse Center, a programming retreat in Brooklyn, at the recommendation of my friend Cory. These are some things I did there.
11 min · 2,514 words
Why Your Linux Kernel Starts With 'MZ' (Yes, the DOS/PE One)
A deep dive into why the Linux kernel image begins with the DOS/PE 'MZ' header—boot compatibility history, EFI stubs, and what the legacy magic bytes still do on modern systems.
9 min · 2,082 words