Blog Posts

Fixing HDMI Audio After Suspend on Linux
A small systemd service that restores HDMI audio after suspend/resume on PipeWire systems.
Published:
Keywords:
linux
Markdown for Agents on the Cloudflare Free Plan
How to serve clean Markdown to AI agents from your origin, with caching that works on Cloudflare's free plan.
Published:
Keywords:
ai, webdev
First Week with Jujutsu VCS
Configuration tips and Emacs integration for Jujutsu after a week of use.
Published:
Keywords:
emacs
Announcing eglot-python-preset
A new Emacs package for Python LSP support with PEP-723 scripts.
Published:
Keywords:
emacs
Managing AI Like You Manage People
Lessons from people management that apply to AI agent workflows.
Published:
Keywords:
ai
New CachyOS Guides for Gaming and Server Setup
Two new guides for CachyOS covering gaming setup and server installation.
Published:
Keywords:
cachyos
ty: A Fast Python Type Checker and LSP for Emacs
Fast Python type checking and LSP with Eglot and Astral's ty in Emacs.
Published:
Keywords:
emacs
My Emacs AI Setup
How I use AI tools in Emacs: minuet for completions, gptel-fn-complete for rewrites, OpenCode for most else.
Published:
Keywords:
ai, emacs
Improving Performance by Reducing API Data Size
How tailored API responses can prevent 5+ second load times.
Published:
Keywords:
performance
Automatic Arrow Characters in Emacs
How to set up automatic conversion of "-" and ">" to "→" in Emacs.
Published:
Keywords:
emacs
Ghostty + tmux uniform copy and paste
Configure Ghostty and tmux for consistent copy/paste behavior across terminal sessions.
Published:
gptel-manual-complete: AI function completion in Emacs
Complete entire functions in Emacs using AI with gptel-manual-complete.
Published:
Keywords:
emacs