
Clojure and D-Bus
》Background
I was looking for a way to store secrets — specifically web API credentials — in a secure way for use with command-line tools. Using a dotfile is a terrible idea, and rolling my own secure storage is just as bad.
Freedesktop.org has a secret service API which looks like a smarter way to go about this. There is also KDE Wallet Manager, and since I’m using KDE, it might be a good option.
This post is about exploring how to use D-Bus with Clojure, with the eventual goal of storing and retrieving a test secret.
Clojure, Babashka, and Web CGI
》Why Bother?
My house is filled with all kinds of weird projects. Even moreso my computers are filled with homegrown projects. I self-host a good few services. Many of the projects need data and sometimes that data needs a simple web interface.
Also, I like to make generative art. But more specifically I like taking sources of data and making them "artful." Some of that data has to be maintained, and image data is not always a great fit for the command line.
The System Wayfinder
》What Is Wayfinding?
Subways, airports, grocery stores - even cities and the sea. Wayfinding is about reading the environment to get where you are going. In the past this would involve knowing the stars, following migrations, using a map and compass. Now wayfinding is GPS and a multitude of signs. More than that, it’s a sort of language to help guide people. Think about color coded parking garage levels or neighborhoods with matching street signs throughout.
In some ways, this exists in cyberspace with iconography, typography, and color on the web. But often those elements are in the service of branding more than wayfinding. That said, most sites have their own wayfinding elements such as site maps, searches, breadcrumbs, and other navigation aids.
Fountainvoid
》Starting from Ogham
The idea started out with Ogham - animating Ogham as the symbols follow curves, and to use that for displaying informaiton on-screen.
In case you don’t know, Ogham is an alphabet that started out to write early Irish. Here is "nundrum" using the alphabet so you can see how it looks:
That is a striking look, but would be utterly indecepherable! I don’t want to refer to a code chart just to read the screen.
So I started playing around with writing the Latin alphabet connected by a baseline. That was also a great reason to break out the new fountian pen and bottle of ink. Yes, I have a glowing fountain pen and journal.

Introducing XScreenBane
》Gotta Love XScreenSaver
From my earliest days of using Linux, I was delighted by all of the hacks in XScreenSaver. My favorite was Substrate. Even now I wish I had a clue how it worked.
Off an on I had played with data art / generative art / data visualization and in general trying to make pretty or eye-catching displays. At one job I even used the Phosphor hack in XScreenSaver to turn my workstation into a low-tech monitor for a bunch of internal processes. And it had an ASCII version of the local radar map, too!
Then one day I had an idea for writing my own hack. Grabbed the source, read the docs, hacked hacked hacked, and came up with PidGrid. I’m pretty happy with it! It’s in rotation on most of my computers, even my tiny DevTerm rPi-based device. If you are a Mac-lover and could help make it run on MacOS, hit me up!
I thought about turning some of my other projects into XSS hacks, but trying to translate them to C would be an incredible slog. So of course I looked for ways to write hacks in other languages. You can read all about my journey in trying to make Clojure work with XScreenSaver in this post.
Now I’ve wrapped up all that work into a package: