Projects
Personal projects ‣
Some of my current personal projects
dil ‣
A directory bookmarking utility for the command line
Written in: sh/Bash
License: ISC
One very useful feature found in many file managers is the ability to bookmark directories just like pages in a Web browser, making it very easy to access often-used and relatively deeply nested directories quickly.
On the command line, however, this kind of functionality is not readily
available. While using the cd
command efficiently and working with
the directory stack in shells that offer it can certainly help speed up
navigation considerably, it is not the same as having a tool that will create
persistent bookmarks with user-defined names and make them accessible in a way
that doesn't necessarily depend on a particular shell.
dil
offers exactly that. It is a collection of shell functions
facilitating directory bookmarking on the command line by combining the use of
symbolic links as shortcuts to nested directories with auto-completion of
bookmark names (only supported in Bash at this point) for additional
speed-up.
The core script was written aiming for a reasonable degree of POSIX
compliance and will therefore most likely work in other Bourne-like shells, as
long as they support the local
command for creating local
variables. Apart from that, dil
needs the find
and
readlink
utilities to be available on your system. The
find
utility needs to support the non-POSIX primary
-print0
.
Download: dil-1.0.0.tar (.sha256, .sha256.asc)
The latest development version is available from dil's public Git repository.
ff ‣
A handy, good enough file finder
Written in: Tcl
License: ISC
ff
is a wrapper script around the Unix find
command. It aims to provide a useful subset of the latter's functionality
through a simpler and arguably more convenient interface.
There are two defining differences between ff
and
find
:
-
While
find
is a utility “for making lists of files that match given criteria and running commands on them” (Finding Files),ff
only does the former, i.e., it does not provide means to perform further actions on search results. The only actionff
performs is listing the names of found files, optionally using the null character as a delimiter instead of a newline. -
While the user interface of
find
provides a primitive albeit powerful domain-specific programming language consisting of “options”, “tests”, “actions”, and “operators” that need to be given in a certain order, theff
user interface merely offers a set of position-independent options that can mostly be combined at will.
ff
is still in development. The source code is available from
its public Git repository.
mote ‣
A set of tools to facilitate random note-taking in the terminal
Written in: Bash
License: ISC
Quickly jotting down a few notes in their preferred text editor is, in itself, probably a non-issue for most computer users. That said, having to decide on where to save them and making sure they don't get lost in the vast expanses of a multi-gigabyte home directory filled with tens of thousands of files can sometimes make for an uninvited challenge.
mote
aims to get these problems out of the way by
- storing notes in a pre-defined location in chronological order
- making stored notes easily searchable, browsable, and editable
The program will use the user's preferred text editor and pager as defined by the shell environment.
mote
is, however, not intended to be useful for structured
note-taking. It is, in essence, just a notepad with date stamps to facilitate
immediate, distraction-free “mind-to-file” action, the results of which are to
be recovered later and mostly ordered and edited elsewhere.
mote
is still in development. The source code is available from
its public Git repository.
msiism.org ‣
An ongoing attempt at doing a website right
This site is being built using a still evolving combination of Unix command-line tools strung together in Bash. Manual editing is done almost exclusively in Nano.
There are basically two ideas behind this: One, to preserve the freedom of writing web pages by hand in your favorite text editor but at the same time provide a remedy for the headaches usually coming with this approach. Two, to produce web pages that are plain and valid HTML and CSS only but nevertheless have a dynamic appeal.
Pages are written in HTML 4.01 because I'm more than slightly skeptical about the merits provided by HTML5. The color scheme has, for the most part, been limited to the traditional “web-safe” 216-color palette (visited links being the sole exception). This is not so much to ensure compatibility with older systems but rather because experience tells me that limitation is good, as long as it doesn't hurt usability.
And just in case you should not have a graphical environment, these pages will be fairly readable in your preferred text-only web browser too.
Also, being nothing but HTML and CSS (except for the logo) should give them a considerable advantage in terms of rendering speed.
Last but not least, as all internal link paths are relative and none of the
site's functionality relies on external resources, you could simply download
it and use it locally without any modification. Downloading the whole site can
be done using, e.g., wget -r https://www.msiism.org
. Currently,
this will amount to less than 400 kilobytes on the receiving side.
mrun ‣
A graphical application launcher (run dialog) written in Tcl/Tk. I'm creating this to eventually replace gmrun on my system. This is, however, not an attempt to create a gmrun clone. Rather, mrun aims to resemble the run dialogs found on Windows as well as in past versions of GNOME, KDE and Xfce. It's taking form slowly.
Contributions to other projects ‣
Apart from my personal projects, I'm also involved with or have contributed to a few others, including the following.
Devuan GNU+Linux ‣
I spent about one year on this project between 2017 and 2018, trying to help work out a solid structure for their documentation, putting together portions of the user's manual to-be and taking care of a few other things here and there.
Openbox ‣
In 2017, I started working on completing and improving the German translation of the Openbox window manager. Finished in February 2018, the PO file was made available on Openbox' bug tracker in March of the same year.
Others ‣
Over the years (since about 2017), I've also been involved with drafting, writing, and editing documentation for various other software projects, such as Adélie Linux, Dragora GNU/Linux-Libre, NetBSD, Tcl, and the Trinity Desktop Environment.
Last changed: 2024-01-27