Front-page articles summarized hourly.
AI Engineering from Scratch is a free, open-source curriculum by Rohit Ghumare with 435 lessons across 20 phases in Python, TypeScript, Rust, and Julia. It teaches AI by building every algorithm from first principles—backprop, tokenizer, attention, and agent loops—before introducing frameworks. Each lesson follows a consistent loop: state the problem, derive the math, write code, run tests, and produce an artifact. No lectures or copy-paste demos; it runs on your own laptop. The full curriculum is on GitHub at rohitg00/ai-engineering-from-scratch.
The Ebola outbreak in DRC’s Ituri province has surged to about 750 suspected and confirmed cases with 177 deaths, making it the third-largest on record and still rising as it spreads rapidly. The Bundibugyo virus, ongoing conflict, weak health systems, and hunger hinder containment; there are no approved vaccines or therapeutics, so case finding, isolation, and contact tracing are essential. The WHO has raised the national risk to very high. Critics blame U.S. funding cuts and withdrawal from WHO for delays, urging sustained funding for prevention and response.
Italy will acquire six Airbus A330 MRTT tankers for about €1.39 billion including logistics, with the contract signed in April 2026 and published 19 May 2026. The move ends a 2022–25 process that saw Boeing KC-46 canceled, leaving Airbus as the sole viable bid. Italy becomes the 19th MRTT operator, boosting Europe’s defence industry and NATO interoperability. The multi-role aircraft will refuel fighters and transport personnel/materiel; final configuration and Italian industry involvement remain to be defined.
Ken Shirriff reverse-engineers a Mitra 125 MS-based Spacelab computer used in European Space Shuttle missions. Spacelab carried three Mitra computers (Subsystem, Experiment, Backup) managed via a Data Display System. The Mitra 125 MS was a 16‑bit minicomputer built from TTL bipolar chips, with no microprocessor. Its 32-bit ALU spanned three boards using eight 54S181 4‑bit units, multiplexers, and two 54S182 carry-lookahead parts, plus three 12‑bit registers. The article details one ALU/register board’s function and its place in the broader 32‑bit path. It notes dense, fixed-grid PCBs and later IBM AP‑101SL upgrades in 1991.
An experienced PHP developer argues PHP’s reputation is outdated, focusing on two major oddities: arrays and class property types. Arrays in PHP are not true arrays but an ordered key-value map; mutating them with functions like array_filter wrecks numeric indexing, often requiring array_values to reindex and avoid subtle bugs. This makes simple ordinal collections awkward. The typed property system is also confusing: properties can be uninitialized, and accessing them can trigger fatal errors rather than simple null checks. Despite quirks, PHP is versatile and practical, with Laravel and low development friction, and the author still appreciates it.
The author argues that with LLM-assisted coding, the traditional model of thoroughly reading and approving code must shift. If leadership mandates using LLMs to reduce coding time, organization-wide processes should change: move from reading code to evaluating a formal spec and tests. LLMs produce non-deterministic output; not every diff can be reviewed. Amdahl’s law implies efficiency requires reorganized structures—reduce humans-in-the-loop, eliminate gatekeeping, empower autonomous teams with endless requirements. The practical rigor should reside in a standardized Markdown spec and associated tests, checked into the repo and enforced by automated PR checks, not the code itself.
Book Freak #210 summarizes P.T. Barnum's 1880 guide The Art of Money Getting, distilling a lifetime of hustle into 20 rules. It notes Barnum, age 70, had built a museum, popularized General Tom Thumb, led Bridgeport, recovered from a failed clock investment, and helped launch the circus. The first four Core Principles are: 1) don’t mistake your vocation; 2) avoid debt; 3) do it with all your might; 4) preserve your integrity. The piece adds practical Try It Now prompts and the quote: Money is like fire—an excellent servant, a terrible master.
WIRED’s security roundup highlights the FBI’s plan to gain nationwide, near real-time access to license-plate-reader data from roadside cameras; Google published a working exploit for a Chromium flaw enabling persistent service workers; the DOJ arrested two men for distributing thousands of AI-generated nude images; Take It Down Act enforcement expands and ALPR restrictions advance; the FTC warns nudifying services; a GitHub breach is linked to TeamPCP; Europe pushes for US-free tech alternatives, led by France.
Overview of Lisp development in Vim using Slimv and Vlime. Both plugins connect to a Swank-like server to provide interactive evaluation, REPL, and debugging inside Vim. Slimv is older and feature-rich: it bundles Swank and Paredit, supports SBCL, CLISP, ECL, MIT/GNU Scheme, and Clojure, offers rainbow parentheses, top-level and current-expression evaluation, describe-symbol, macro expansion, and cross-reference. Vlime is newer, relies on Quicklisp to install Swank, works with SBCL, CLISP, ECL; its REPL is non-editable, with an optional interaction mode. The article compares workflows and features and ends with a quick Slimv recommendation, advising trying both.
This post explains Rendezvous hashing (Highest Random Weight, HRW) as a stateless alternative to ExHashRing for distributing keys across Elixir nodes. HRW is simple and deterministic across machines, with no stateful rings, but its naive owner function is O(n). Benchmarks show ExHashRing is faster at small scales, while HRW can be dramatically slower as nodes grow unless optimized. A prebuilt HRW skeleton (and alternative hashes) improves performance, bringing lookup times close to ExHashRing for large node counts. The author compares distribution quality and suggests using ExHashRing or HRW.Skeleton for many nodes, otherwise plain HRW, and notes extra HRW strategies.
z386 is an open-source 80386 implemented on FPGA around original Intel microcode. It aims to reproduce enough of the 386 control ROM to boot and run real software, and now runs DOS 6/7, protected-mode apps, and Doom. The design uses eight units (prefetch, decode, microcode sequencer, ALU/shifter, segmentation, protection, paging, BIU/cache). The front end outputs a 37-bit decoded word to the microcode ROM; there is a two-cycle minimum per instruction. A 16 KB VIPT L1 cache reduces SDRAM latency. It’s educational archaeology plus a usable CPU, with ongoing Doom testing and broader OS work, and comparisons to ao486.
Oura, the health wearable maker, says it receives government data requests but won’t disclose counts. The article notes that Oura data is not end-to-end encrypted, allowing access at points along the path and by staff, which could let prosecutors or hackers reach data. Despite earlier inquiries, Oura would not share how often it turns over data or what is requested and has not committed to a transparency report. Eight months later the company has not replied. The author argues Oura should publish numbers to maintain user trust.
An enthusiastic Zork player investigates whether “zork” was MIT jargon for unfinished code. Tracing sources from The New Zork Times, The Boston Globe Magazine, IEEE Computer, Infocom, and others, the author finds inconsistent claims and edits over the years, with several sources describing “zork” as a generic nonsense word rather than a programmer’s mark of unfinished work. Attempts to reach contemporaries yield no definitive evidence. The author invites readers to provide proof, considers proposing a Wikipedia edit, and continues his Zork playthrough, planning the sequel.
An HTML guide to the <dl> (description list) and its children <dt> (term) and <dd> (description). It explains marking up name–value pairs, including multiple <dd> per <dt>, and wrapping groups in a div for styling. It argues that semantics aid accessibility, enabling screen readers to announce group counts, positions, and allow skipping patterns, while noting not universal support yet. Through examples like book details and a D&D kobold statblock, it shows the <dl> pattern’s versatility across different name–value layouts.
At Los Alamos, the FPUT experiment on MANIAC revealed nonlinear systems can retain memory and resist simple thermalization, disproving naive linearity. This sparked nonlinear dynamics and the idea of deterministic unpredictability, including solitons and chaotic transitions. Feigenbaum quantified universal period-doubling constants, showing common patterns across systems. The Lab’s Center for Nonlinear Studies expanded these ideas to earth, fluids, materials, and astrophysical phenomena, and researchers now seek to apply nonlinear insights to quantum materials and future quantum computing, highlighting emergent behavior beyond linear models.
An affectionate meditation on how memories linger like furniture in the brain, sparked by Terry Pratchett. The piece recalls reading Pratchett at sixteen in a back-row French class and how his pocket editions treated teenage readers as intelligent, offering a playful, expansive cosmology with Rincewind, the City Watch, and the Witches. Pratchett’s death in 2015 is mourned, and the author laments the current lack of similarly accessible on-ramps to reading for teens, hoping a new reader finds a sentence that won’t leave them.
Microsoft's .NET Blog describes a major enhancement to C# memory safety: a new opt-in safety model (C# 16) that redefines unsafe as a caller contract rather than a scope, making memory-safety obligations explicit. Unsafe code is now governed by two mechanisms: inner unsafe blocks that wrap unsafe operations, and unsafe signatures that propagate obligations to callers. Developers write safety documentation with a <safety> block (and optional // SAFETY notes) to declare the contract. The runtime libraries will migrate, and compilers enforce the contract; legacy code continues under compat mode. Aiming for stronger safety, parity with Rust/Swift.
Deep learning performance hinges on three regimes: compute, memory bandwidth, and overhead. If memory-bound, increasing FLOPs won’t help; if compute-bound, optimize matrix ops and use Tensor Cores; if overhead-bound, reduce Python/PyTorch dispatch or use a real JIT/graphs. Operator fusion cuts memory traffic, often doubling speed; some fusion happens automatically (NVFuser, XLA), others require custom kernels (Triton). Profiling and scaling batch size reveal the regime. Rematerialization can trade recomputation for memory to reduce bandwidth and runtime.
Ken Shirriff shared a high‑resolution image of the 80386 microcode ROM (94720 bits), enabling an effort to disassemble it. Through image processing, AI, and human-assisted automation, they extracted a binary blob, mapped μ-ops vs μ-op bits, and deciphered the decode flow. The 80386 uses microcode for every instruction and has 215 entry points in the decoding ROM, far more than the 8086. Many instructions use hardware accelerators (multiply/divide, barrel shifter, protection unit). They note a possible IO-permission bug and an unused routine. Learn more via nand2mario posts and the x86 microcode repo on GitHub; start with parts.txt or microcode_10.txt.
Made by Johno Whitaker using FastHTML