Blog
568 posts on software development, newest first. Browse by topic:Rust, Go, Python, JavaScript & web, AI & data, DevOps & tooling, Mobile & Android, .NET & C#, C++ & systems, LaTeX, Investing, Everything else.
What Changed in Claude Code in 2026Claude Code's 2026 releases, from Opus 4.6 to Fable 5.2: agent teams, background sessions, workflows, plugins and skills, auto mode and new usage limits.
AI in Fall 2026: Gated Frontier Models, Computer Use and a Stateless MCPAnthropic, OpenAI and Google all shipped new model generations from September to November 2026. What changed, what got cheaper, and what it means for builders.
AI Investing Research Systems: ai-berkshire and the Agents Built on BuffettHow ai-berkshire turns Claude Code into a four-analyst value investing team, how it compares with TradingAgents, and what research says about LLM stock picking.
Static Recompilation: How Old Games (and Old Software) Become Native AppsHow N64Recomp, XenonRecomp and the 2026 wave of recomps turn console binaries into native PC ports, why nobody recompiles Photoshop, and where AI fits in.
Vue 3 Frameworks in 2026, and What Changed in AstroWhere Nuxt, Quasar, VitePress, Pinia and Vue Router stand in late 2026, what Vite 8 changed under them, and the Astro 6 and 7 features this blog runs on.
Vue 3 Six Years On: What Changed from 3.0 to 3.6Vue 3.0 shipped in September 2020. What each minor release added since, from script setup and defineModel to 3.5's reactivity rewrite and 3.6's Vapor Mode.
Recording API Traffic in Chrome: HAR Files, the Recorder and Replaying It in TestsCapture a web app's API calls with Chrome DevTools, Puppeteer, Playwright and the DevTools MCP server, scrub secrets from HAR files, and replay them in tests.
Docker and Local Dev EnvironmentsHow I use Docker and docker-compose for local development, mail capture, test stacks and scraper/OCR services.
Maintaining a Legacy PHP CodebaseWhat it takes to keep the YellowSheet PHP site running, including upgrade attempts, Stripe, crons, tests and migrations.
Building Afterlight, a 2D-HD JRPG, with Claude CodeOne long-running Claude Code session, eleven helper agents and a usage limit or two. How a three.js JRPG went from a one-paragraph prompt to a public repo overnight.
Rebuilding FriendlyUser: A Three.js Homepage and a Starlight BlogThe homepage is now a scroll-driven three.js city built from my career and every post on this blog, and the blog itself moved to Astro Starlight without changing a single post URL. Here is what changed, with before and after recordings.Beyond the Whale: The Architecture, Trade-Offs, and Implementation of Post-Docker Container FrameworksDitch Docker Desktop. Explore modern OCI-compliant alternatives like Podman, containerd, OrbStack, and native host engines including Windows wslc.exe and Apple's native container toolchain without daemon overhead.
© 2026 David Li · Home · Blog · RSS ·Classic site · Built with Astro, Starlight and three.js · Logos:Font Awesome Free (CC BY 4.0)