Front-page articles summarized hourly.
CTO Craft leaders say the AI adoption free-for-all is ending and ROI must be proven, not assumed. Cognitive debt is the new technical debt as faster code creation outpaces governance and maintenance; firms lack predictable token-based cost models and need baselines before investing more. Hiring splits AI-focused engineers from system designers; interviews increasingly emphasize code review and product thinking. AI-enabled speed raises management, promotion, and accountability questions. To cope, teams should standardize tooling, build verification rails and UI wrappers, pursue radical small-team autonomy, and boost triage for PRs. More at Shift conference.
macOS has two path separators: slash (/) and colon (:). Files can appear to have slashes in their names because macOS translates between the two depending on context, a relic of combining classic Mac OS (which used :) with Unix (which used /). A Usenix 2000 paper explains how the translation layer can make names appear differently to Carbon apps, BSD/Cocoa, or AppleScript. After APFS in 2017, the dual separators remain for backward compatibility. The author finds it brain-bending, noting that filesystem conventions vary and Unix’s dominance is a historical anomaly.
An overview of how Windows evolved file-type associations. Windows 386/2.11 offered no UI to configure associations (only WIN.INI). Windows 3.1 added a basic dialog with an extension field and a program list, plus Browse. Windows NT 3.1/Workgroups 3.11 were similar. Windows 95 introduced an in-dialog chooser, letting you pick a program directly; this persisted through 98, ME, and 2000. Windows XP hinted at a web-service for app recommendations, details unclear. Windows 10 uses a flat UI with Store integration and options like “Other Apps” and “Look for a different App on this PC.”
Could not summarize article.
Google reports IPv6 reaching 50% of its users, signaling IPv6 maturity at a global scale; APNIC Labs, using Google Ads-based measurements, finds about 42% worldwide IPv6 capability. Differences stem from weighting and sampling: Google provides totals, APNIC weights economy populations to reflect Internet usage. At economy level, APNIC’s figures align with Google and others, but global totals diverge. APNIC notes Asia Pacific hits ~50% in its data. The Internet currently runs a mix of IPv4 with NAT and IPv6; while the milestone is real, adoption continues unevenly worldwide.
pve-microvm is a Debian package that adds QEMU’s microvm as a Proxmox VE guest. It patches qemu-server to boot a host-provided kernel (vmlinuz) with a root filesystem from OCI images, delivering VM isolation with container-like boot times. No BIOS/GRUB; PCIe virtio devices; a single host kernel across all guests. It supports 21 OS types, works with standard Proxmox storage, snapshots and offline migration, and uses Proxmox networking. Trade-offs include patch maintenance, no VGA/USB, and upgrade fragility. Start/install instructions are provided in the post.
AVoxel Game is a voxel game written in Dyalog APL with SDL3. Move with WASD, jump with space, look with the mouse, and use keys to toggle render info, noclip, lock the mouse, and place blocks. It requires Dyalog APL 20.0, a C compiler, CMake, and Vulkan/DirectX12/Metal. Build on macOS/Linux with cmake/make; Windows uses SDL3 DLLs. Shaders are in shaders/glsl and built via compile_shaders.sh (needs glslc and spirv-cross). Known issues: Windows performance regressions, DX12 not supported, and no replay in a session. MIT license; textures by Madeline Vergani.
Go nil checks can prevent panics but often obscure code invariants and defer responsibility. The author distinguishes dependencies vs request-scoped data. Guarding a nil dependency (e.g., Redis client in RateLimiter) often means the nil came from construction, not runtime, so later checks hide initialization errors and spread uncertainty. Prefer fail-fast: initialize with valid dependencies or wrap unavailable ones so the outer type remains non-nil. Validate inputs at the boundary (e.g., HTTP handler) and let inner layers operate on trusted data. Nil checks are okay to enforce true boundaries or optional state, but not to mask broken invariants.
James Bach argues against presenting AI-written work as one’s own. He never lets AI draft anything with his name and warns that claiming AI helped while doing the actual work is a lie that harms professional credibility. He discusses ghostwriting and collaboration, noting that when AI deeply co-authors, attribution must be transparent. In a trust-based field, misrepresenting AI involvement undermines reputation and the value of one’s work; it’s a step toward laziness that the professional community will discount.
Advises setting a user-agent and respecting the site's robots policy; points to related resources at https://w.wiki/4wJS and Wikimedia Phabricator ticket T400119.
An exclusive look at Alan Turing’s wartime Delilah voice-encryption project (1943–45) based on the Bayley papers sold in 2023. Turing and assistant Donald Bayley built a portable, ~39 kg Delilah device at Hanslope Park, using a key generator with eight multivibrators and a five-wheel system to scramble speech via noncarrying addition of a pseudorandom key; the system could encrypt and decrypt Churchill’s voice from a recording. The collection includes Turing’s lab notebook, notes on the Nyquist–Shannon sampling theorem, and Bayley’s lectures, revealing Turing as a practical electrical engineer who bridged theory and hardware and foreshadowed his ACE computer work.
Argues that distinguishing human vs AI text isn’t reliable; LLMs are strong statistical models of language, but not all debates are honest. Demonstrates with a collage of about 150 “100000 whys” Amazon book covers showing AI-generated slop in nonfiction; many titles and covers share patterns, implying quasi-deterministic outputs from similar prompts. The point is that LLM writing is marked by a common repertoire of mannerisms across prompts, not unique individual style. In casual settings, instincts matter as online interactions rely on fast content generation. PS: blogging with LLMs risks turning publications into 100,000 Whys.
Kapoulkine investigates speeding up zigzag decoding in meshoptimizer with AVX-512. He explains zigzag encoding/decoding and tests two approaches: (A) a predicated, branchless decode using AVX-512 masks to conditionally invert the shifted value, and (B) a GF(2) affine transform via GFNI (gf2p8affineqb) for 8-bit values. Both reduce instruction counts, but gains depend on path: latency-bound code often sees little improvement, while throughput-bound loops (e.g., meshlet codec) can improve (~3%). GCC/Clang quirks and hardware limits affect results. GFNI is promising but width-limited; AVX-512 opens new decoding avenues.
PRINCE, Bayer and Thoughtworks’ cloud platform, turns preclinical data into an intelligent, auditable research assistant using agentic RAG. Its LangGraph-driven architecture orchestrates Clarify Intent, Think & Plan, Researcher, Reflection, and Writer agents. It blends unstructured data (PDF reports) via RAG with structured data (metadata in Athena) via Text-to-SQL, storing state in Postgres and DynamoDB, and using OpenSearch for the vector store. The system emphasizes context and harness engineering, transparency with citations, continuous evaluation, monitoring, resilience, and an iterative, production-ready approach in a regulated pharma setting.
Guide to the TD4 4‑bit CPU explains building a tiny 2‑register, 16‑byte ROM machine from a cheap kit. The author details soldering tips (USB power, diode orientation) and how the circuit works: a 16-switch ROM provides opcodes (ADD, MOV, IN, OUT, JNC, JMP) and 4-bit immediates; a demux address decoder (IC11) selects the active ROM bank; a buffering stage (IC12) feeds a ROM output into a 4-bit adder; a command-decoder generates LOAD signals and SEL_A/SEL_B; registers A,B,Out,PC plus a carry flip-flop enable conditional jumps. Includes simple programs, a Python assembler/simulator, and reflections on the project’s limits and related kits.
Humans evolved to attend to threats, but our brains aren’t built for nonstop global bad news. The negativity bias makes negative information more salient, and the 24/7 news cycle floods us with distressing content that provokes stronger physiological reactions and drives engagement. This helps explain widespread news fatigue and Problematic News Consumption, with notable US prevalence and greater impact on minority groups. The fix isn’t avoidance: limit viewing windows, favor deep, trustworthy reporting, turn awareness into action, and watch for rage bait to protect mental health while staying informed.
Urges crawlers to declare a user-agent and adhere to the site's robots policy, with links to the policy page and a related Wikimedia Phabricator task.
Article analyzes fork/exec cost in Linux and a proposed 'spawn templates' to speed repeated launches of the same executable. Chen's patch would create a cached template via spawn_template_create() and later spawn it with spawn_template_spawn(), using argv/envp and an actions array to adjust FDs, CWD, and signals. Checks remain, but startup is faster; benchmarks show ~2% improvement. The piece also discusses posix_spawn as a better overall approach, with Brauner advocating a pidfd-based API and user-space posix_spawn. Ultimately, there are no kernel spawn templates; future work may push posix_spawn into userspace.
Many developers don’t understand CORS, a gap highlighted by Zoom’s localhost vulnerability. Zoom ran a local webserver (localhost:19421) to command the native client; they used an image request to bypass cross-origin checks, exposing risks because any site could potentially trigger Zoom. A secure fix would be: have the localhost service expose a REST API with Access-Control-Allow-Origin: https://zoom.us and block unauthorized contexts via CSP, plus prevent iframe-based rendering. The issue reflects broader CORS confusion across developers and popular but insecure examples; better education is needed.
Made by Johno Whitaker using FastHTML