Open source

Whenever I have a need or annoyance, if I create a tool to solve it, I publish the code, no matter how small the potential audience might be. I have been surprised that the most niche things end being used by one other person, or even two! :)

You can find all my open source projects in Source Hut and GitHub.
Below I highlight a few I am fond of. And there's a section for my Emacs packages.

Datum (Python)

A CLI database client. It uses ODBC for maximum compatibility, and has minimal dependencies. It includes an Emacs module for sql-interactive-mode.
I use this one all the time, for work stuff.

Apex 7 TKL CLI (Common Lisp)

A CL system, with a command line tool, to control the SteelSeries Apex 7 TKL keyboard. Allows changing RGB colors and writing text or send an image to the small LCD.
It also helped me realize how useless the screen was >_> after using it to display errors for compilation-mode.
I have since moved to a different keyboard, but I have fondness for this thing, as it was one of my first complete CL solutions.

NordVPN client (Common Lisp)

A desktop client for NordVPN (I don't use Nord anymore). I realized I forgot to enable the VPN all the time. And figured that having a startup window would help me remember. And it did!
The ahem beautiful UI was built with Tk, drawing from my experience with Tkinter, using nodgui

Emacs packages

I became an Emacs user in 2016, and my first package was a tool to work with Team Foundation's source control: the only thing that kept me anchored to Visual Studio at the time.
I haven't revisited that code (I sincerely hope no one needs it nowadays, TFVC is terrible), but I am sure it is pretty unidiomatic: it was my first Lisp code :)
I wrote a few other packages since then.

Sharper - dotnet CLI wrapper

A Transient-based wrapper for dotnet. This was great in my .NET days, and I still maintain it, although it sees little movement. I assume it works as intended in most cases.

Panda - Bamboo client

This package uses the Bamboo API to trigger builds and deploys. When I built it, I became the team's go-to deploy guy: a few keystrokes and BAM, deploy underway.
I wonder if Panda still works, Bamboo's API had changes between versions. But no one complained, so it is either unused, or Just Works (tm).

confluence-reader.el

I ran out of """clever""" names, apparently. This is a...Confluence reader. Lets you get the content of a Confluence page in Emacs, rendering an HTML export of it with shr, the same package that powers EWW.
It also includes a somewhat crude search, and ability to add bookmarks.

Cambalache - WebDAV client

As a Fastmail user, I have access to beautifully simple tools. For example, their file storage solution is just a WebDAV server. It can be easily mounted in Gnome (I am told, haven't tried), but I found no easy way to make it work on Windows, where I spend my work hours. So I decided to create a little package for it.
The UI is based on another proto-package that navigates Azure blob storage using azcli. And the bindings try to be as Dired-like as possible (^ to go up a level, D to delete, etc.).
I know this one will have changes because of an unfortunate design decision that makes it very hard to use it interactively with more than one server.


Back to top

Back to homepage