This is a list of projects I am considering putting some effort into. (When I have more free time.)

Sam filter/pipe

Loving both acme(1) and vim(1) I find myself missing one's feature when using the other, especially sam(1)'s command language when using vim(1).

Hopefully, vim(1) supports filters and allows one to :{range}!{filter} to pipe the text in range through filter. Thus creating a sap(1) (sap stands for sam pipe) command is all that is needed to make sam(1) commands available in vim(1).

The command would

Additional options would include:

Suckless git front-end

Although git(1)'s back-end is very good, the front-end is

Thus the project.

A new back-end for Mirage: self-hosted web-apps

Self-hosted web-apps would fit nicely as a Mirage back-end. Moreover, it is a nice use for a Javascript back-end in Mirage.


How nice would it be if one could just refer to all its electronics via <hostname>.<tld> (e.g. (billie is my laptop's name), (my Raspberry Pi), &c.).

The signpost projects aims at making this addressing Just Work™ using tricks such as effectful DNS requests, NAT punching, VPN, &c.


The dtach(1) utility allows one's program to persist through log-outs. Although screen(1) and tmux(1) are more commonly used, dtach(1) deserves love because it does only one thing (and does it very well).

(To get the other features of screen(1) or tmux(1) one can combine dtach(1) with dvtm(1) the dynamic virtual terminal manager.)

A feature I would like to add (or to see added) to dtach(1) is process killing. Thus additional -k option: dtach -k <socket> [<signal>] would send <signal> (default SIGKILL) to the process the session associated with <socket>.

Alternatively, (possibly better,) is the ability to print the pid of a dtach(1)ed process. The killing of such process is then really easy.