I host most of my more recent projects on Sourchut. Some
of the projects listed under my profile are forks, but the active ones I’ve
authored are:
-
Rook
is a lightweight, stand-alone, headless, reasonably auditable (minimal
dependency) secret service tool backed by a Keepass v2 database.
-
Claptrap
is a small but feature-rich Go flags library. Claptrap features: getopt-ish
flags; sub-commands; long and short flags; –flag=value syntax; invertable
boolean flags; short-flag combination; variadic arguments; typed arguments/flags
(int, bool, string, float, Duration); global flags; mandatory arguments;
positional arguments; Levenshtein(ish) command matching; Usage text; and no
external dependencies. Claptrap is a single, stand-alone Go source file.
-
legume tracks issues in sourcecode TODO/FIXME
comments
-
ostui
is a hard fork of stmps with many new features.
-
lbb
is a fast address book lookup tool that uses a directory of .ics files (such as
sync’ed with vdirsyncer) as the DB. I wrote it as an alternative to khal, which
is slow on large address books; lbb is about 144x faster than khal.
-
changelog (re)generates changelog files from
commit comments. Inspired by changeloguru, but works on Mercurial repositories
as well.
-
tjot, a terminal renderer for
DJOT.
-
kanto if you like Kanban development, kanto
provides you with a micro-tool Kanban board in your CLI, based on todo.txt
-
tdp lets you manage todo.txt files with fzf,
including: sorting, adding, completing, editing, and convenience bindings for
incrementing and decrementing the priority of tasks. The repo talks about
distributed development, but this is where the fzf README and code lives.
-
A few years ago, I took over maintenance and development of
gotop, a popular cross- platform,
terminal top
application
Projects which might be useful, but which are mostly dormant:
-
quasiauto is an autotype tool. It was
written to add autotype functionality to
kpmenu (you’ll need my fork for the
integration).
-
gocryptkeeper provides a systray applet
for mounting & unmounting gocrypt shares
-
i3quake is a lightweight hotkey popup system
for i3, originally developed to provide i3 with a Quake terminal
-
kbplug tries to be a non-root udev system,
designed to run programs when smart keyboards are plugged in.
-
todotxt-merge is a utility for merging
todo.txt files, like the sync conflicts created by SyncThing.
-
importicals is a short script that helps
keep icals in sync with remind events. May be useful in a
vdirsyncer/khal/remind toolchain.
-
invoice is a PDF invoice generator from TimeWarrior records
-
i3-tracker is a script to track time in
TimeWarrior based on which i3 workspace is displayed
-
orgchart generates organization charts from
spreadsheet data, written originally out of frustration watching an admin
manually maintain one in Powerpoint
-
An implementation of the MARS voting system, an
explatory improvement on STAR
-
Restic/BackBlaze backups, config files
and a how-to for setting up restic backups with Backblaze
I also contribute bug fix and feature PRs to a number of projects. Some of the
more active ones which may have useful changes not yet upstream are kept on
Sourcehut:
-
gozer - The static site generator I’m now
using for my website. It’s a lighter alternative to Hugo that doesn’t suck up
4GB of RAM to process 100 blog entries. Patches are being accepted upstream,
so I’d use that first.
-
stmps - a terminal client for *sonic
music servers. Inspired by ncmpcpp. Hard forked to ostui
-
gonic - a media streaming server implementing
the Subsonic API. I provided support for loading server-side playlists from a
directory.
-
hugo-tufte - a hard fork of a Tufte theme
for Hugo, used to generate this site.
Legacy applications, for hysterical reference (maybe someone will find some
useful code in here)
-
Forage is a shopping list app backed by your
(self-hosted) Mealie server. it features an offline mode, syncing and merging,
the ability to add lists and items, and it runs as a native app on your
desktop and mobile devices.
-
Given two images, perceptualdiff
provides a perceptually difference score; originally written as part of a
testing tool for web sites to track the magnitude of CSS changes
-
disp is another utility for i3 to manage display
plug/unplug events; use https://github.com/rliou92/python-umonitor instead
-
vaccinewatcher, now obsolete… or is it?
-
duodecimal provides libraries for Ruby and
Haskell for working with dozenal
-
RML is another markup language; obviously the
superior one, but markdown – like Windows, git, and VHS – has won through
ubiquity despite technical inferiority
-
ditz-trac was a system to sync Ditz bugs
with Trac. I haven’t used either in so long, and ditz has been unmaintained
for years, so this is probably of hysterical historical interest only
-
autocompare helps track changes on
websites. Designed for large numbers of sites (on the order of 2-3 hundred
thousand pages), it produces a perceptual difference between two versions of a
website and flags if the amount of change is larger than a configured amount.
-
configserver is a little process to
provide versioned configuration information through a simple REST interface,
supporting set inheritance. It is schema-less and ad-hoc.
-
Gozirra is a lightweight Java (1.4)
implementation of the Stomp
specification.
-
Sashay is an OpenAPI code generator for golang.
-
marcinator is a tool for managing software releases and deployments
-
svggraph (SVG:::Graph) is a pure Ruby
library for generating charts, which are a type of graph where the values of
one axis are not scalar.
-
TimeTracker is an Android app that helps
you record the amount of time you spend on activities
-
REXML is an XML parser for Ruby, in Ruby.
Note REXML is now part of the Ruby standard library; this repository is
historical, and represents development up to inclusion into Ruby.