monarch butterflies
I grew up in Southern California, amidst orange groves (all gone now) and eucalyptus trees. There were always monarch butterflies around. Sometimes there were only a few. Other times, during their…
The Security Model of Not Being Single
A semi-personal note on how security, privacy, and self-hosting change when your life is no longer designed for one user.
I built a crappy video podcast player
2005 birthed the iPod Video and YouTube.
Signum Can Now Be Installed in Codex App as a Plugin
What changes when a contract-first agent workflow becomes an installable Codex App plugin, not just a Claude Code command.
Walking between Ueno and Nippori
Towards the end of April, my husband and I went for a walk between Ueno and Nippori stations. After going on a walk between Shibuya and Harajuku last year, I'm half-inclined to attempt to do mini…
Start With Data Stakeholders Already Trust
Building analytics on well-known public datasets earns stakeholder credibility before you write a single custom pipeline. Once the framework proves itself on familiar ground, automation and analytics…
Stask
To my surprise, I have a new app to announce. That’s it. That’s all it is. Stask is a task tracking app that uses a stack to manage all manner of work items, from massive projects to tiny…
Tapped In
Can someone explain TikTok algo-crafting to me? Seriously, I think it might just be an insanely massive cope for screen addiction, but at the same time it's such an easy way to stay Tapped In—so I…
Vanity Metrics in Engineering, From Lines of Code to AI-Generated Percentages
Garry Tan, CEO of Y Combinator, announced that 25% of Winter 2025 startups had 95% of their code generated by AI. The internet applauded. I read it twice to make sure that was actually the claim.…
🎵 New Release: Float Away
sparkly, ethereal, jam session
Laptops all have built-in security tokens these days
I’ve been a fan of security tokens for a decade now and have accrued quite a collection. This redundancy isn’t a bad thing, as security tokens are easily misplaced and the only way to…
HomogeneousTools website
Together with Javier Fernández Píriz, a PhD student at the University of Luxembourg, we are working on HomogeneousTools, a collection of packages meant to efficiently deal with homogeneous varieties…
Emacs coaching with Amin Bandali
I met with Amin Bandali to talk about Emacs, specifically Amin's upcoming ffs.el package.
One Shape Across the Eignex Stack
Three months on from the last status update , three posts shipped, and the Eignex rewrite, splitting one experimentation library into focused pieces, has actually moved. This is a quick checkpoint:…
Securing the Agentic Enterprise
Enterprises run on AI agents. So do the attackers. What does it mean to build, secure, and operate AI systems when both sides - defenders and attackers - are automated? Jonathan Jaffe, CISO at…
Cost of Knowing
Some happiness depends on not knowing, and once you know, you can’t get back. The child’s joy, the contented spouse, the loyal citizen—each rests on something unexamined, and examination…
Indieweb Webring Button
Inspired by The Online Webring , I made an Indieweb webring button that has mapped clickable regions for previous , next and webring links. < area shape =" <span style="color: #B8BB
Second year of UT is in the books!
Halfway done.
Incidental UI, essential UI
What the rise of agents means for software UIs
When is your birthday? - The Math Behind Hash Collisions
Note: This post turned out a little different from the previous ones. It's more of an essay than a dialogue. I tried restructuring it multiple times, but it kept wanting to be linear. And you know,…
Converting Tailwind to PandaCSS using OpenCode
Recently I had an idea while exploring a new project that had some Tailwind components - why be forced to use UI I don’t want to use? In this age of LLMs, is it possible to take a component created…
Sefira and Other Betrayals by John Langan [Reading]
I did not enjoy this short story collection quite as much as I’ve enjoyed some of Langan’s other work. Horror is not really my genre of choice – although I am coming to appreciate…
CCC 2026
Tentative topics Runxi Yu An introduction to applied cryptography: post-quantum primitives, protocol design, and further research directions Emily & Gladys Western Feminism vs. Asian Reality:…
Using Epilogue Retrace app with iPhone 13 Pro and Ubuntu
When Epilogue announced the Retrace app for iOS and Android I was over the moon excited. In theory this meant I could archive ROMs from the GB Operator directly to my iPhone where I play the games…
Twelve years
Now seems as good a time as any to reflect on my career, such as it is, and such as it has been, so far. In truth, I've been trying to get myself to write this post for months, if not years. I…
New MVP...
My first in a decade, sort of.
Hello site migration, my old friend
Paying homage to a tradition, this time, with a more radical change.
AlBasmala: @@html: <br>@@ Blogging with Emacs & Org-mode (•̀ᴗ•́)و
How my blog is setup (•̀ᴗ•́)و
Masonry of the Body fanart
Drew fan art for the awesome horror comic, Masonry of the Body (it’s scarier than my drawing, I assure you).
Monsterhearts PCs
Drew the player characters in the Monsterhearts campaign I’m running! I’m having a blast in the game. Full drawings under the cut.
Hidden Technical Debt of AI Systems: Agent Harness
Whatever you bolt onto the model today is what the next model will eat. - If you have been building agentic products in the last twelve months, you have been writing harness code: system prompts,…
AI-Native Pods and the Shrinking Number of Seats
This week's tech layoffs aren't just about cost-cutting. They're a structural reorganization toward AI-native pods — the working shape solo builders have lived in for years. The seats disappearing…
Building a custom NAS with Fedora CoreOS
for free! (with used disks and parts from a previous PC)
"Respectful" YAML patching in Rust
Patching a YAML file programmatically is straightforward in principle: parse, modify, serialize. Ideally the process should also be respectful — that is, preserve the following properties of the…
I don't own anything anymore.
I don't own anything anymore.
Credential isolation and least privilege for AWS agents
A proxy that holds real AWS credentials, gives agents fake keys, re-signs outbound requests, and generates a least-privilege policy from observed behavior.
Entering textjam spring 2026
I decided to participate in Jack Harrhy's "game jam-like" for text-based projects, textjam . It's my first time participating in any kind of a jam. The requirements are pretty permissive. We just…
Shooting yourself in the foot with AI
Today I had a fun one, where I finally dove into something that was bothering me for days: since a couple of days I had been getting questions from my different GitHub Copilot sessions to close some…
A popover backdrop anti-pattern [blog]
After attending recent conferences and learning that I can swap out buckets of JavaScript for the HTML native popover property, I've been using it liberally throughout my own projects. For little pop…
signatory
A CLI and MCP server that aggregates trust signals about open-source code, projects, and the people behind them — so humans and LLM coding agents can decide, on evidence, whether to adopt a…
Tracing PostgreSQL Using eBPF and Hardware Breakpoints
Hardware breakpoints can trigger eBPF programs when specific memory addresses are accessed, leveraging CPU hardware support for low overhead. By utilizing these hardware breakpoints, we can…
Sun Tzu: The Highest Victory Is Not Stepping Onto the Battlefield
Two product managers fought head-to-head for two weeks over the same project. The line got cut. Sun Tzu left three retreats 2,500 years ago: don't step onto the field, don't fight head-on, don't drag…
Notes on the Hantavirus Outbreak
Cruise ships are bad for the world.