Avoid html_safe with Tag Helpers, safe_join, and sanitize
When you need to build HTML outside of a template, it’s tempting to concatenate strings and call html_safe on the result. This bypasses Rails’s built-in XSS protection entirely: any user input in…
Flow exception handling (Part 1)
You may have heard that “No try/catch inside Flow” or “Only use catch() operator”. But why? Let’s explore from the beginning. Here is a very simple setup: fun main() =…
SONiC Part II: Deploy a SONiC Switch Clos Topology
Introduction This chapter explains how to create and deploy a simple SONiC-based Clos topology in WSL using Containerlab. First, we open VS Code from WSL to create and edit a topology definition…
Anki VN Sorter
Hi I vibe coded this addonGitHub - bee-san/anki_sorter: Anki add-on for prioritizing new Kiku cards with VN-focused new-card sorting.Anki add-on for prioritizing new Kiku cards with VN-focused…
Mature card exporter for anki
hi i vibe coded this super simple anki addonGitHub - bee-san/anki_mature_words_exportContribute to bee-san/anki_mature_words_export development by creating an account on GitHub.GitHubbee-sango to…
Your AI Problem Is a Documentation Problem
Your development team is using AI coding agents. Subscriptions are paid, some developers use them actively, others are still stuck at chat-completion. And the productivity gain the tool vendors…
Use string-backed enums
Because sometimes you're worth a few extra bytes.
Your Scientists Were So Preoccupied
That they forgot to ask whether SSHing into an AI coding agent from a phone was a good idea.
On the Micro-Parallelism of FPGAs, Simulating AXI Busses, and Blinking LEDs
Field-Programmable Gate Arrays and the languages for programming (ahem, configuring them) have the reputation of being difficult to master. I still remember when I heard for the first time: at the…
Per-project VS Code coloured windows
Following on from my trick to change my terminal colour based on the project (git repo) I’m in, Simon Späti shared that he does the same for his editor, Neovim. Which got me thinking, could I…
A Virtual Agent Team at Docker: How the Coding Agent Sandboxes Team Uses a Fleet of Agents to Ship Faster
This post was originally published on the Docker Blog on May 1, 2026. I work on Coding Agent Sandboxes, aka “sbx” at Docker. The project provides secure, microVM-based isolation for…
Slices, Maps, and Channels
So far in this series we’ve looked at the parts of the Go runtime that orchestrate execution — the memory allocator, the scheduler, the garbage collector, sysmon, the netpoller. Today…
Developing internal skills for recurring documentation processes like release notes
My hypothesis this year around AI was that if I develop some agent skills to speed up repeatable processes, it might clear up my bandwidth and free up time for me to work on non-repeatable doc tasks.…
Browser in Javascript
A Proof-of-Concept Browser written in Javascript for minimal Web 2.0 browsing experience. This DOES NOT depend on any browser engine like Blink, Gecko or Webkit. Use an existing HTML rendering engine…
Jumping to errors in Evil
Recently I realised that it'd be really nice if jumping to errors would store the previous location in the Evil jump list. These definitions do just that (evil-define-motion mes/evil-goto-next-error…
What is Swift Concurrency?
Greetings, traveler! Swift Concurrency was introduced to address a long-standing problem in application development: writing concurrent code that remains correct as systems grow in complexity.…
Compiling the Past and Linking the Dots
"You can't connect the dots looking forward; you can only connect them looking backward." When Steve Jobs said that, he was talking about calligraphy classes and typography. For me, it was buffer…
Efergy Engage Resurrection
Contents The Efergy Engage Hub False Starts Fake Efergy Server Hacking the Receiver Hub Software Defined Radio OmniOS the pain Compiling Passing a USB device to a zone rtl_433 Bonus Round: Wait What…
Compartmentalized Vibe Coding
Vibe coding is the latest technological breakthrough related to AI assisted software development. It truly changes how we think about the software engineering discipline. The crucial question is can…
Mozart: Orchestrating AI Agents with Discipline
Most AI agent orchestrators fail in the same predictable way. They throw every persona at every problem. You get planning, coding, security review, UX critique, infrastructure checks, and validation…
The Valley of Calm
A few months ago I wrote about the new calculus of AI-based coding, how 10x velocity gains require corresponding investment in testing, deployment, and coordination, or the bottleneck just moves.…
AI for Bio has a Fuzzy API problem
“AI for bio” is getting hot again. Given the excitement in the current moment, I thought I’d share a bit about what actually makes biology uniquely hard as an application domain for machine learning.…
Adding a feature to a closed-source app
Who needs source code?I use Audiobookshelf (abbreviated ABS) for all my legal audiobooks that I bought legally, and I really like it. I also use the Smart Audiobook Player (abbreviated SABP) Android…
May The Source Be With You
The roots of the OpenVox community are open source, and we’ve built our company and our products on that foundation. On this fine Star Wars Day I thought it would be a good time to talk a bit about…
Architecture by Autocomplete
There’s a specific code smell that shows up in AI-generated code, and once you see it you can’t un-see it: primitive obsession all the way down to the domain core. string for emails.…
PyCamp 2026, it’s a wrap
NoteSummary PyCamp is the kind of community event that recharges your batteries and restores your hope that another way of relating to one another, beyond stressful competition and selfish goals, is…
Superpowers 5.1.0
I'm pleased to announce Superpowers 5.1.0. The biggest changes in this release are: -A reworking of how we use git worktrees, now that Claude Code and Codex have first-class support for them.…
Console Press
I decided to open source the blog engine, not much of one to begin with, but still people want a simple blogging system without the cruft that happens to go with most blogging engines. The moment its…
Links to CSS colour palettes
A while back I decided to stop using Tailwind for new projects and to just write vanilla CSS instead. But one thing I missed about Tailwind was the colour palette ( here as CSS ). If I wanted a light…
Daily GitHub Stars: May 4, 2026
Today’s starred repositories:
On Agentic Tools and Lock-in
A response to Lars Faye's 'Agentic Coding is a Trap': LLMs have the lowest vendor lock-in of any tool I've used in 20 years.
Zero Hydra Failures towards 26.05 NixOS release
NixOS-26.05 is around the corner! The schedule says it should happen around 25 May. Today the release process entered ZHF phase. There most packages with build failures are expected to be addresses…
Introducing Jellyboard: A Collaborative Sticky-Note Board for Workshops
When Google retired Jamboard, a lot of facilitators lost the tool they’d been quietly relying on. It wasn’t fancy. It just worked in a room full of phones, laptops, and a projector, with…
The --i-tell-you-shut-up flag
Earlier this weekend, while attempting to hook up a fast background noise remover to a fast subtitle re-aligner, Gemini gave me what might be my new favorite AI hallucination: ### The Fix Try this…
Day 181: What I learned with a Claude SEO Skill
I tested Claude-SEO (MCP) to audit Writizzy after days of declining traffic. My deep dive into technical optimizations (JSON-LD, E-E-A-T, Nuxt) and the mystery of Google's 'Discovered - Currently Not…
Adoption Is the Bottleneck
A recent Medium article titled “The AI Inventory Trap” argues that AI has made engineering so fast that downstream stations — code review, QA, security audit, product validation — now…
Arrow: Error handling without flatMap
Arrow: Error handling without flatMap The Arrow library is quite poorly known. As Kotlin 2.4.0 is around the corner, bringing stable context parameters, it is time to brush a few misconceptions.
Shipping WebGPU translation via Babulfish
Turning the translation feature from this site into a library.
Five Models, One React Stack: Why Every LLM Builds the Same App
Claude, GPT, Gemini, DeepSeek, Qwen, v0, Lovable, Bolt. Ask any of them to build a React app and you get the same answer: Next.js or Vite, TypeScript, Tailwind, shadcn/ui. A look at the convergence,…
Ten Years of Frinkiac
Ten Years of Frinkiac: A Few Months of Modernization with AI It’s been just over ten years (February 2, 2016) since we launched Frinkiac to the public. In those first few months after release we…
Best Oh My ZSH Plugins for 2026
A practical list of Oh My Zsh plugins that actually improve your terminal workflow.
Best Open Source LLMs to Replace Opus 4.7 or GPT-5.5: Affordable AI Coding Alternatives 2026
Discover the top 6 open source language models that can replace Claude Opus 4.7 or GPT-5.5 for coding tasks at a fraction of the cost: GLM-5.1, Kimi K2.6, Qwen 3.6 Plus, MiniMax M2.7, MiMo V2.5 Pro,…
Comparing R's {targets} and dbt for Data Engineering
I’m getting more and more into data engineering these days and having used R for a long time, I’m seeing a lot of problems that look nail-shaped to my R-shaped hammer. The available tools…
Session #12: GVA to AJA Apr 30 2026 EZS1359
Tracks on a Plane is back for a short episode. A short electronic music session recorded mid-flight from Geneva to Ajaccio. Entirely improvised and played live, nothing prerecorded. Used in this…
Looking for answers without outsourcing to LLM
Some examples of where i get limited by a specific programming language/framework’s syntax/particular way of doing things, and how I navigate it by trying to see if i can solve it myself based…
The Operations CEO Doesn't Wait for the Dashboard
What happens when the forward-deployed engineer is the CEO himself. - Seven a.m. Tuesday. Andrew, the CEO of the operations company we’re forward-deployed with, is at his desk, running a forecast…
Running Gemma 4 Locally
I tried to replace my Claude Pro subscription by running Gemma 4 locally on my MacBook. Here's what actually worked, what didn't, and the hybrid workflow I landed on.
The quest for equivalent Exchange
Towards the end of the summer of 2023 my team at MZLA Technologies Corp, the Mozilla Foundation subsidiary that looks after Thunderbird, started discussing a fairly ambitious project: adding support…
CDS expressions in CAP - notes on Part 6
See the series post for an overview of all the episodes. Introduction 00:00 Introduction and recap. 05:47 Patrice takes over and looks at the syntax diagram in the CXL topic of Capire and the…