Front-page articles summarized hourly.
Justin McGuire recounts debugging assembler with an application-programmer mindset, revealing three big missteps: 1) forgetting a naked function’s ret, causing control flow to misbehave and misleading debugging by tracing callers; adjacent assembly mattered. 2) using a too-large type in a packed struct, where C abstractions hid the mismatch but assembler offsets failed. 3) a __attribute__ typo that surprisingly compiled. The core lesson: abstractions don’t exist in assembler; memory lives on registers/stack, so adjacent code matters. He recommends the Operating System in 1,000 Lines tutorial and notes ChatGPT’s limits in bug-finding.
Despite New Zealand's reputation as a safe haven, its own midcareer population is leaving in record numbers. Over four years, emigrants aged 30–50 rose from 18,000 to 43,000, driven by high living costs, a weak job market and a housing crash. Though NZ still posts net migration gains, the outflow erodes talent and productivity as the population ages. About 60% of leavers move to Australia, attracted by jobs and higher wages; others relocate to the UK, US or Europe. Anecdotes include Jacinda Ardern moving to Sydney and the Thorn family relocating to Melbourne.
Exclusive: This Week in Worcester reports a Claude-based AI system used by the U.S. military likely caused a missile strike on the Shajareh Tayyebeh girls’ school in Minab, Iran, with Iran’s ambassador asserting up to 150 students killed, though unconfirmed. The Pentagon is investigating and says there’s no evidence of intentional targeting. Anonymous DoJ/DoD sources say the AI relied on older intelligence and that Claude use has been scaled. The administration has moved to limit Claude and has contracts with OpenAI. The piece also cites AI errors in Epstein-file handling.
Helix is a post-modern, terminal-based text editor written in Rust that emphasizes built-in features over plugins. It offers multiple selections/cursors as a core primitive, with Tree-sitter for robust syntax trees, highlighting, indentation, and code navigation. It includes language-server features (auto-complete, go-to-definition, docs, diagnostics) with no extra configuration. Built-ins include fuzzy finder, project-wide search, themes, auto-closing brackets, and surround. It runs over SSH/tmux in a battery-friendly way, with no Electron/VimScript/JS. GUI frontend and plugins are planned for the future.
The article explains a kernel swap redesign to use a single, virtual swap space instead of per-device swap tables. A virtual swap table (array of swp_desc entries) decouples swap slots from physical devices, allowing pages to move between devices, and simplifying removal of a swap device (no sweeping page tables). It also supports zswap and paves the way for future swap tiers. Drawbacks include higher memory overhead and added complexity, plus some benchmark regressions; broader adoption awaits further refinement. A related swap-tier patch set could pair with this approach.
Explains editing a single Jujutsu change with jj diffedit and a custom patch-editing tool (edit-patch) to overcome the built‑in editor’s limits. The script compares left (pre-change) and right (post-change), lets you tweak the patch, and applies it to produce a new change. It uses diff/patch with a temp dir and a jj config entry to enable jj diffedit --tool=patch. Useful for targeted find/replace within one change.
Explores querying 3 billion 768-d vectors against 1k queries to gauge scalable similarity search. A naive on-disk brute force approach is slow; vectorized numpy dramatically speeds it (~0.01s for 3k vectors; ~12.8s for 3 million). However, memory limits loom: 3B float32 vectors would require about 8.6 TB, causing OOM. Potential fixes include streaming with generators, batch processing, memory-mapping, or reimplementing in Rust/C or using SIMD. The key point: the hardest part isn’t the math but clarifying requirements (in-memory vs on-disk, top-k, hardware, compression, GPUs, return format).
The piece condemns the US-Israel war on Iran, highlighting a deadly school attack and mocking “no stupid rules of engagement.” It argues Anthropic’s Claude is central to targeting, while WaPo praises AI and Bezos’ interests, linking media hype to the oligarchic use of AI in war. It notes banks show AI added little to growth, while straining infrastructure and raising costs. The author warns of an undemocratic, unstable AI-driven economy that harms the vulnerable and urges resistance and alternatives through Creative Good.
Could not summarize article.
transAct is an open-source robot fleet management dashboard by Transitive Robotics. It demonstrates building web-based fleet management systems, integrating Transitive capabilities into dashboards, and serves as a reference implementation to fork and customize. Standard features include Remote Teleop (low-latency video), web-based Terminal, ROS Tool (ROS topics), Configuration Management, and Health Monitoring for fleet and devices. To use: fork and clone, set up with Transitive portal, copy sample.env to .env, configure VITE_TRANSITIVE_USER and JWT_SECRET, run npm install and npm run dev, then add robots and capabilities (e.g., webrtc-video). Uses ShadCn UI and Tailwind; Apache-2.0 license.
Proposal to add a standard library package crypto/uuid for generating and parsing UUIDs (versions 3, 4, 5). Rationale: ubiquity of github.com/google/uuid and UUID standard; Go would align with other languages via stdlib support and a stable interface. Addendum notes Go’s relative lack of stdlib UUID support. A pinned 2026 update proposes more permissive Parse, Nil and Max as vars, and RFC 9562 referenced in the docs.
Six vignettes examine how transformative technologies—Gatling’s rapid-fire gun; Oberth’s spaceflight concepts and the early VfR rockets; the century-long debate over airplanes (Santos-Dumont’s pacifism); nitroglycerin and dynamite; Kalashnikov’s rifle; and Szilárd/Einstein’s atomic threat—emerge from scientific imagination yet are entwined with war. Each reflects a recurring pattern: powerful tools promised progress but tend toward destruction, while scientists and advocates oscillate between peaceable aims, ethical unease, and the push for control that often lags behind invention.
yare.io is a cat-themed multiplayer shooter. You move (move()) and pew() to kill enemy cats and climb the leaderboard. Play against humans or bots (muffin-bot, cleo-bot, clowder-bot) in an AI arena, or study the example bot code that moves toward the closest enemy and shoots. The objective is to kill all enemy cats to win. The page includes login/signup prompts, audio controls, a console, and sample client/server scripts with docs.
LLMs often produce plausible but incorrect code. The article benchmarks an LLM-generated Rust rewrite of SQLite, noting it compiles and passes tests yet is orders of magnitude slower and semantically wrong. Two bugs harm performance: missing is_ipk check makes WHERE id = N scan the whole table (O(n) vs O(log n)); per-statement fsync on inserts adds huge overhead. Other anti-patterns (per-call AST cloning, to_vec copies, schema reload) compound inefficiency. It argues you must define acceptance criteria and measure real workload performance; correct code isn't determined by looks. SQLite patterns—zero-copy paging, prepared statement reuse—show what correct looks like.
Go context cancellations often lack a cause; Go 1.20–1.21 added cause-tracking APIs to attach a reason to cancellation. WithCancelCause provides a CancelCauseFunc to record a cause when cancel occurs; context.Cause(ctx) returns the specific reason, e.g., inventory check failed: connection refused. However, WithTimeoutCause only labels the timeout when the timer fires; normal returns discard the cause because the CancelFunc is plain. To cover every path, use WithCancelCause exclusively and drive the timer manually, or stack WithCancelCause with WithTimeoutCause to preserve DeadlineExceeded semantics. Context.Cause and ctx.Err() serve different purposes for logging and control flow.
Kula is a zero-dependency, self-contained Linux server monitoring tool (single binary) that collects metrics every second from /proc and /sys, stores them in a built-in tiered ring-buffer, and serves them via a real-time Web UI and a terminal UI. It tracks CPU, memory, swap, network, per-device I/O, disks, system uptime, entropy, and processes. Features include a REST API and WebSocket streaming, optional Argon2id authentication, and an embedded frontend. Installation is straightforward (amd64; ARM/RISC-V builds, deb/rpm/tar packages), with systemd/openrc/runit service options and config.yaml.
Proposes a fast, stable Gram-side method to compute the orthonormal polar factor of a tall matrix G by approximating B = G^T G^{-1/2} on the small n×n side and forming Ũ = G B̃^{-1/2}. Following Polar Express, it uses minimax-polynomial iterations with Jacobi preconditioning and online coefficient selection, plus a final rectangular multiply. Replaces AOL with SPD congruence scaling D B D for conditioning. Online certification via E = Z^T B Z − I gives σ_i(Ũ) in [√(1−η), √(1+η)]. A two-phase, bf16-safe scheme (global safe scaling then local around 1) uses only two rectangular GEMMs.
Could not summarize article.
Volume 2, The Engine of Empire follows Marcus and his master Gaius as Pompeii’s destruction triggers ruin and famine in Campania. With wool workers killed or injured and wool rotting, Marcus turns to Ulysses and designs the first machines, boosting production speed. The community is saved, but the new industrial scale creates a surplus the old world isn’t prepared to handle.
Made by Johno Whitaker using FastHTML