Demystifying StartupWMClass

Demystifying StartupWMClass
Eventually, every Linux user opens an app and finds a generic placeholder icon staring back from their dock/panel. It looks like the dock is broken, but it almost never is - the cause is a single line in the app’s .desktop file, and it only takes a minute to fix. Here’s how to find it and fix it yourself, on any desktop.
Read more →

s 0.7.5 - A Maintenance Release

s 0.7.5 - A Maintenance Release
Today I released version 0.7.5 of s, a terminal tool that opens web searches in your browser. No flashy new features, just the kind of maintenance work that keeps open source projects alive.
Read more →

Dream Prompter 1.2.0: The Evolution Continues

Dream Prompter 1.2.0: The Evolution Continues
A few months ago, Dream Prompter launched as a GIMP plugin for AI-powered image generation and editing, supporting just one model: Google’s Nano Banana. Version 1.2.0 brings the total to nine. Here’s what changed and how it all came together.
Read more →

Building Celestial: A GTK Theme Journey

Building Celestial: A GTK Theme Journey
I spend a lot of time on the computer, using a lot of software. This makes me acutely aware when things don’t quite work right. A button that renders incorrectly. Inconsistent padding. Unthemed dialogs. Even the best themes out there had small bugs that annoyed me. I care deeply about a smooth, consistent desktop experience.
Read more →

Dream Prompter: Bringing Nano Banana to GIMP

Dream Prompter: Bringing Nano Banana to GIMP
I’ll be honest - I’d never written a GIMP plugin before. I’m also fairly new to Python, having only dabbled with a few small projects. While I’ve been doing development for decades, this was uncharted territory for me. So when I decided to bring Google’s new Gemini 2.5 Flash Image Preview model (nicknamed “Nano Banana”) directly into GIMP, I knew I’d need some help. Enter Claude, to help me fill in the missing knowledge gaps.
Read more →