I have written a large mass of code this year, primarily in Rust.
With only one exception, none of this has reached the 'blog post' level of maturity. Here lies a memorial for these projects, perhaps as a reminder to me to resurrect them.
Github's contribution chart gives a good indication of just how much code has been written. Clearly visible are some holidays, and the associated productivity peaks on either side:
Some focuses this "year" (Nov 2017+):
Archives and storage
The aim here was to "ingest" large volumes of "stuff", either for comparison (e.g. diffoscope, from the Reproducible Builds project), or for indexing and search.
Speaking of which, deb2pg demonstrates various ways not to build an indexing search engine for a large quantity of "stuff".
While working on these, I became a bit obsessed with how bad
gziping a file, then running it through any kind of indexing,
or even other compression, gives very poor results. Very poor.
rezip is a tool to
gzip files into a more storable format.
It... never made it. I could complain for hours. See the README.
Much of this work was done against/for Debian. Debian's
not a fun tool to use, so I started rewriting it. fapt
can download lists, and provide data in a usable form (e.g.
build files). gpgrv is enough
gpg implementation for
Once you start rewriting
apt, you might as well rewrite the rest
of the build and packaging system, right? fbuilder
and fappa are two ways not to
fappa needed to talk to Docker, so shipliftier
has a partial
swagger-codegen implementation for Rust.
Much of the way networking is done and explained for linux is not ideal.
netzact is a replacement for
the parts of
ss that people actually use. It has the
ss, but only one the horrible bugs: no documentation
at all. That one is probably fixable, at least!
pinetcchio continued into its fourth year, I like to think I made it even worse this year.
fdns was going to do something with DNS but I can't really remember which thing I was going to fix first. There's so much wrong with DNS.
I still use IRC. The protocol is bad, but at least there are working clients. Slack Desktop still segfaults on start on Ubuntu 18.10, months after release, because they don't understand how to use Electron and nobody can fix it for them.
unsnap is an IRC title bot. Yes, there are hundreds of others. No, I don't like working with other people's untested code in untestable plugin frameworks. Thanks for asking.
badchat is some kind of IRC thing. This one might still have some life in it.
zrs is a re-implementation of
directory changing tool. It's good, you should use it.
sortuniq is a more efficient
| sort | uniq. It supports some of the flags that either tool supports.
This is probably enough of a blog post for that. I use it frequently.