LodeHQ
AI news for people who shipFree, by email

Dev · Tuesday, 25 August 2026 · Issue 87 · 12 stories

Go 1.27 closes generics gap, Rust never type lands

After years of workarounds, Go methods can finally carry their own type parameters: chainable generics. Meanwhile, Rust's never type officially becomes a first-class citizen.

Languages & Frameworks

Go 1.27 finally lets methods carry their own type parameters

Generic methods, one of Go's most requested features, land in 1.27, closing the biggest gap left by 1.18's generics. Before, a method couldn't introduce a new type parameter, so transforms like Map were forced onto package-level helper functions that editor autocomplete never surfaced. Now `s.Map(f)` works, enabling chainable pipelines that read naturally. Two limits remain: no generic methods in interfaces, and none visible to reflection.

gopherguides.com ↗6 min read at source

Thoreau BASIC: a GW-BASIC interpreter that boots straight off UEFI, no OS needed

Thoreau BASIC is a GW-BASIC-compatible interpreter that boots directly from UEFI firmware, with no operating system underneath. It sizes the data segment to the largest block of conventional memory the firmware reports, which on a modern machine is gigabytes, and paints PSET, LINE and CIRCLE onto the native framebuffer. Disk I/O runs straight on the UEFI Simple File System, so programs SAVE and LOAD like 1985 but without the 64KB ceiling.

tarjan.itch.io ↗4 min read at source

Rust's `!` never type finally lands on nightly, ending years of limbo

The never type `!` is now stabilized on nightly after a long, crater-checked fight to make it behave as the true bottom type. It lets functions express genuinely-unreachable returns cleanly, replacing the old crate-external `!` hack. The marker change from an uninhabited enum is an intended semver break, but one the ecosystem has been expecting for years.

github.com ↗6 min read at source

Go's singleflight dedupes work, but who owns its lifetime?

Coalescing cache-missed S3 requests is the easy part; the trap is that the first caller's context cancels the fetch for everyone. This deep dive from IsleDB's author walks through that footgun and a protocol that lets each waiter stop independently, cancels work when the last waiter leaves, and drains cleanly on shutdown. Concretely demonstrated in Go code, not theory.

ankuranand.com ↗16 min read at source

CSS gains a class prefix selector: one `.btn-*` rule replaces six lines

CSS Selectors Level 5 just adopted a wildcard that matches every class with a given prefix, `.btn-*` hits `.btn-primary`, `.btn-secondary`, and friends in a single rule. Today you'd hand-list each variant or lean on slow substring selectors like `[class^="btn-"]`. The ergonomics are great, but you'll need `@supports selector(.btn-*)` until the feature becomes Baseline.

css-tricks.com ↗3 min read at source

Tools & Platforms

Kern: rootless containers that cold-start in ~3.5 ms, from a single 1.5 MB binary

Kern is a single 1.52 MB static binary that boots a real, kernel-enforced rootless container from an OCI image in ~3.5 ms, with no daemon, socket, or RAM at rest. It folds sandboxing and resource control into that one file, and ships an MCP server so agents can run their own untrusted and AI-generated code. The caveat: isolation rides on unprivileged user namespaces, so it suits code you chose to run, not hostile strangers.

github.com ↗13 min read at source

Firefox gets JPEG XL, backed by a Rust decoder that replaced 100k lines of C++

Mozilla just posted its intent to ship JPEG XL, and with Chrome on board too, the format will hit all major browsers within the year. The twist: Firefox rejected the original 100,000-line multithreaded C++ codec as too risky, so Google Research built jxl-rs in Rust instead, now the core of Firefox's support. That's a readable signal, memory-safe decoders for browser attack surface. The big differentiator over AVIF is progressive rendering and stronger lossless compression, so developers get a real choice.

hacks.mozilla.org ↗3 min read at source

Bun's built-in headless browser makes a shot-scraper-style API ~150 lines

Bun 1.4 ships Bun.WebView, a headless browser built into the runtime, no Puppeteer or Chromium install on macOS, which uses system WebKit. Simon Willison proves it can power a shot-scraper-style HTTP API (POST /javascript, /screenshot) in a single dependency-free TypeScript file. evaluate() JSON-serializes results and awaits promises, and per-request tabs make it concurrency-safe for free. Viable at ~56-104 MB of RAM.

github.com ↗4 min read at source

Trazor turns AI images into clean SVG in-browser, no upload, no account

Trazor is a fully client-side image vectorizer: drop in a PNG or JPG and get clean, editable SVG back, nothing ever uploads to a server. No account, no backend, no Adobe Illustrator trace-fights. It auto-tunes output per image type, so it's aimed squarely at the flood of AI-generated graphics that need cleaner vector form. A promising pick for designers who want vector output without handing their assets to a cloud service.

trazor.app ↗1 min read at source

Emacs 31.1 ships: mouse in the terminal by default, kinder to new users

The six-month feature release dares to court newcomers and terminal purists alike. Emacs 31.1 turns on mouse control in the terminal by default, adds editable *grep* and *xref* buffers, and introduces a user-lisp/ config directory. A new "newcomers-presets" theme lowers the steepest learning curve, while package-change reviews arrive ahead of installs and upgrades.

gnu.org ↗1 min read at source

Run Ray's AI libraries on TPUs: one YAML field keeps your whole slice together

TPU chips are wired into fixed slices, so a tensor-parallel model that spans multiple hosts has to land on one whole slice or its workers hang forever on their first collective. Google's guide walks Ray Serve, Data, and Train through that constraint, and highlights the single `topology` field that keeps a slice together, skip it and you get a deployment stuck in DEPLOYING while burning TPU-hours. Part 2 of a two-part series on Ray's higher-level libraries on GKE.

Engineering Practice

SiFive's BigSky: the RISC-V server that's "boring" on purpose

Chips & Cheese tears down SiFive's first real server platform, the BigSky SF-2U870: a standard 2U box with 32 P870-D cores at 2.2 GHz, 256 GB DDR5, and 64 lanes of PCIe 5.0. Its quiet selling point is RVA23 support, letting Ubuntu 26.04 run out of the box, a first for the ecosystem. The verdict: deliberately unremarkable hardware that actually just works, which is exactly what developers need.

chipsandcheese.com ↗4 min read at source

You’re caught up.

That was all 12 stories in the 25 August issue.