Monthly Update: December 2021
Let's talk about programming. This month, I focused a lot on Rust, a programming language that I have a renewed interest in. I encountered a web framework that I found to be exceptionally lean and well-designed, and it reminded me that one can write Rust without getting caught up in endless layers of abstraction and dependencies.
I used this to make a finger proxy server:
I started Advent of Code in Rust, but I lost interest, and decided to focus on my side projects instead. I became very excited about Crabmail, a mailing list archive that I had abandoned for a while, and finished a working demo!
As well as a companion project, imap2mbox:
Both of these projects are super early in development, but I'm happy with how they turned out. I finally see that there is a way to write Rust a way that I like, basically by rewriting any dependency that I'm not happy with. For example, in crabmail, rather than add dependencies, I wrote my own:
In most of the Rust ecosystem, each of these tools would be a large dependency, which may have dozens or more sub-dependencies. I replaced them with <100 lines of Rust code each. Once I am a bit more experienced with Rust, I may do a writeup about this. I plan on continuing to work in Rust, and as I do, create more and more of these little functions for personal use. I feel really happy with the dependency tree of crabmail: compile time is only 22 seconds on my laptop including all dependencies. The code quality isn't great, but I feel like I understand both what makes Rust great, as well as how to make it work for me effectively. I plan on doing a lot more Rust programming in the future. I may revisit mygit, but I felt tremendous stress from that project for some reason (which triggered terrible headaches) that led me to spend a few months away from open source. I may be able to get back into it, slowly, or try another project in Rust.
I moved my mailing lists from sr.ht over to crabmail:
And I started a new mailing list, the smallweb mailing list.
These mailing lists are an experiment, but I am excited about the potential for a new generation of mailing lists. Feel free to give them a shot, if it works out, I plan on investing more into this aspect of the flounder / small web community. The software is still very new.
Read my Christmas/holiday message to the Flounder community:
All the best,