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.
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.
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.
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
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.
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.
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).
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.
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.