Codec2 neural enhancer tests
To keep the post short, I will only focus on what kind of work has been done so far and provide a few samples for your judgment. Rationale: we often hear that Codec2 does not sound good, or that it…
58 Days to Merge: Getting Native Delta Lake Into DataFusion Comet
In August, I wrote about what the native Delta read path does: why Comet turned away every Delta table, and how a Delta query can reuse Comet’s parquet scan with deletion vectors (the bitmaps…
M17 WPSD fork now supports SMS
In July 2025, G4KLX removed M17 from MMDVMHost and M17 was removed from WPSD. The M17 Project responded by creating forks of the code that kept M17 working, but those forks had fallen behind…
SMLib is open-sourced. Why would one care?
OpenCascade is no longer the only kernel in town. That's a big one. While people are vibe-coding new B-rep kernels or vibe-fixing the old one, the classic SMLib has come out:…
An end to typographic widows on the web | Clagnut by Richard Rutter
A few years ago, [Wayback/Archive] An end to typographic widows on the web | Clagnut by Richard Rutter talked about the CSS style text-wrap:balance and wished for text-wrap:pretty. By now, most…
Margaret Hamilton on software engineering
Link: Margaret Hamilton on Software Engineering NASA software engineer Margaret Hamilton passed away this month at 90 years old . My favorite story about Hamilton is how she found and fixed “the…
No one cares about your reverse-engineered Photoshop clone
PhotocraftA couple of weeks ago, someone released PhotoCraft, an open-source reimplementation of Adobe Photoshop written in Rust.The internet immediately exploded with excitement. People were clai
Building Visual Tools with Antigravity UI Extensions
Explore how UI Extensions in Google Antigravity 2.22.0 let you build custom visual workspaces, from multi-layer drawing canvases to live 2D game debuggers, in the side panel.
CSS ::before and ::after Pseudo-Elements (With Examples)
How CSS ::before and ::after work: the content property, the difference between them, and practical examples like icons, custom bullets, overlays, tooltips and decorative shapes.
Managing multiple Git repos with AI: How I keep up with Fedora's sprawl
No single person can know everything happening in Fedora at any given time. I say this often in our community, half as a warning and half for comfort. For a while, I did not really believe it applied…
Array Languages #7: X_eTaL-gpu, Array Programs on GPUs Old and New
X_eTaL states a computation as whole-array operations, c ← a + b, '+ r̲/ c, and those operations already say what can run in parallel. X_eTaL-gpu takes that literally: the same typed program runs on…
A deep dive into LangChain and LangGraph
Learn LangChain and LangGraph with TypeScript: models, prompts, tools, agents, memory, streaming, RAG, graphs, persistence, and human approval.
Sharing the Technical Details on Genomic Large-language "Toy Model"
This is a follow-up of yesterday’s post titled “High-schooler Builds Test Program to Understand Genomic AI Papers”. I like to share information on how to train and run this program, and some of the…
Real emoji and icons in your terminal, even over SSH and tmux
qc and hqtui 0.9.0 draw our OpenEmoji and OpenIcon artwork as real images in Kitty and Ghostty, even over SSH and tmux.
A week ahead
In AI developer tools, we now count any advantage in “weeks ahead”. If we get a feature out a week ahead of the zeitgeist discovering it, that’s a win. The week is where all the capital comes from.…
My learning bits for Tuesday of 13th October 2026
Three things I learned today: a secret hidden in plain sight, why Garfield is orange, and why Elixir has MapSet.
pnpm Store Loader on M4 Mac: virtual paths, native addons, and Vite resolution
Tested pnpm 12.11.2 Store Loader with Node.js 26 and 24 on an M4 Mac. Verified ESM imports, fs.readFileSync ENOENT on virtual paths, and Vite resolution barriers in Astro.
Claude Code Cheat Sheet, October 2026: the complete state of play
All of Claude Code v2.1.296 on one page: 120 commands, 33 hooks, 243 settings, 391 environment variables☕ Found this article useful? You can support the blog by buying me a coffee on Ko-fi.
What can you build with the Untold Engine?
The Untold Engine is an open-source 3D engine built with Swift and Metal, designed for creating interactive 3D experiences on macOS, iOS, and Apple Vision Pro. In this video, I'm showcasing a…
Gemini 4 and Rust TUIs
We last looked at Ratatui and VCR back in July. I recently had a need for VCR and it reminded me that Ratatui was something I demo’ed but never really tried to use. With Google Gemini 4 Argon…
The Two-Commit Rename Bridge and Keyless Instruments
When an AI coding partner takes a shortcut to please your preferences—like squatting inside an existing template file just so its work shows up as a red-and-green diff instead of an all-green file…
Sensory Coherence and the Synchronized Workspace Airlock
I wanted my virtual workspaces to announce themselves cleanly upon boot, pairing an unmistakable ASCII station-identification card with an immediate spoken cue. Chasing that polish forced us to solve…
Should You Still Learn to Code?
With AI doing so much of the heavy lifting, does it still make sense to learn how to code? Car factories and cameras already ran this experiment, and their history says yes, for a different reason…
Moving Picos from Mesh to Mesh
Summary: Software that can’t leave the machine it was born on isn’t really yours. Version 1.7 of the pico engine lets a pico and its subtree move between engines while its relationships keep working,…
How does one find "signal"?
Something that data scientists are supposed to do but it's hard to even describe.
Faithfully reimplementing an obscure Estonian Flash game for modern browsers: GTA õppesõit
...and then ruining it completely.
Running RAG with a (small) language model in the browser
My blog does semantic search in your browser. Now it also runs a (small) language model in your browser.
Randomizing array indices
I mentioned in my last post that I’m working my way through Practical Deep Learning by Ronald Kneusel. The math so far has been straightforward, and the code is written in Python, which I find easy…
Cool tmux trick: scratch popup
One thing I love about the i3 window manager is what’s called the scratchpad. The scratchpad lets me toggle the visibility of a floating window with a hotkey. It’s great for keeping notes…
Beware: isNull() Can Lie About a Query Column
isNull() on a query column gives different answers on Adobe ColdFusion and Lucee, with or without null support, and even depending on how you write it. I tested every way of asking on both engines;…
Your .md File Is Not a Specification
Using Formal Analysis to Find Requirements Gaps
The Smart Rubyist #1: I prefer to be in the top 10% developers who train AI with new ideas
The Smart Rubyist #1: I prefer to be in the top 10% developers who train AI with new ideas https://x.com/AndyObtiva/status/2109689588474163310?s=20 The Smart Rubyist #1: I prefer to be in the top 10%…
How to Get Started Contributing to Open Source
"I hear, and I forget I see, and I remember I do, and I understand." I was recently asked how to get started contributing to open source. The following is my step-by-step recommendation: Pick an…
Thompson Sampling for the Price of an SGD Step
Exploration at Scale · Part 1 of 2. Part 2 shows why d log T particles are enough and what carries over to neural networks. Based on Ensemble++ (NeurIPS 2025) and HyperAgent (ICML 2024). Thompson…
I built a chess puzzle plugin for Kobo
A KOReader plugin that puts Lichess puzzles on my e-reader, so I can do a few before bed without picking up my phone.
Collection Expression Arguments Fix the Comparer Problem in C# 15
C# 15 adds with(...) arguments to collection expressions, so you can finally set a comparer or capacity without abandoning the [a, b] syntax.
Swap System.Text.Json for REDox in a Minimal API
Plug the REDox serializer into an ASP.NET Core Minimal API in place of System.Text.Json, then benchmark both to see if the throughput win is real.
gg, weeks 8 to 11: a pond, fog, night, and a month on a laptop
Four weeks on a laptop with an integrated GPU: the pond gets a surface, fog becomes a medium, the goldens leave git, and night stops being black.
Load All Ancestor direnv Files
Make direnv load every .envrc file in a directory's ancestors, not just the closest one. direnv has a built-in source_up function for this, but it must be added to every .envrc file and I…
Introducing Fence: A Markdown Editor in Elm
Fence is an Elm and Electron Markdown editor with live preview, workspace search, and export. Version 0.7.0 adds ELK diagram layout, theme-aware Mermaid rendering, and pan and zoom.
Tree RL
An unbiased policy gradient estimator for branching rollouts
Devoxx Belgium Mutants Talk Posted
My talk from Devoxx Belgium, “Kill All Mutants! (Intro to Mutation Testing)”, has been posted at https://www.youtube.com/watch?v=AsVt_dzTmN4.
Architecture decision records for coding agents
Evolu now writes down the decisions no single file owns as short architecture decision records, adapted for AI agents working in parallel: named, not numbered, with proposals agents must not…
How to use Vue DevTools with Void
With this quick Promise-based utility, it's easy to write type-safe unit tests for Vue composables.
Zig: the language built by removing things
Andrew Kelley was trying to write a digital audio workstation — software where a millisecond of unexpected latency translates directly into an audible glitch — when C, as C tends to do, quietly…
Compose SwiftData Filters Without One Giant Predicate
Combine ownership, optional relationships, search, and archive filters with Predicate(all:) and Predicate(any:), then drive a SwiftData query safely.
Cleaning up after a Camel
Now that my port of CamelForth-80 to the Sega SG-1000 is sort of working, it’s time to get it working better. There’s a lot of undone odds and ends and little bugs that I need to take care of before…
agent-shell 0.87 updates
It's October. New month, new agent-shell update. If you missed the last post, have a look at the 0.78 update. While the latest changes are focused primarily on bugfixes and polish, we have a handful…
Scroll-triggered animation as the missing piece for scrollytelling on the web
Scroll-driven animations are one of my favourite things in CSS. But if you have ever tried to build an interactive story with them, you probably noticed that scrubbing is not always what you want.…