Status update, April 2019

Published 2019-04-15 on Drew DeVault's blog

Spring is here, and I’m already miserable in the heat. Crazy weather here in Philadelphia - I was woken up at 3 AM by my phone buzzing, telling me to take immediate shelter from a tornado. But with my A/C cranked up and the tornado safely passed, I’ve been able to get a lot of work done.

The project with the most impressive progress is aerc2. It can now read emails, including filtering them through arbitrary commands for highlighting diffs or coloring quotes, or even rendering HTML email with a TUI browser like w3m.

Here’s another demo focusing on the embedded terminal emulator which makes this possible:

Keybindings are also working, which are configured simiarly to vim - each keybinding simulates a series of keystrokes, which all eventually boil down to an ex-style command. I’ve bought a domain for aerc, and I’ll be populating it with some marketing content and a nice tour of the features soon. I hope to have time to work on sending emails this month as well. In the immediate future, I need to fix some crashiness that occurs in some situations.

In other email-related news, is now live, an interactive tutorial on using email with git. This workflow is the one sourcehut focuses on, and is also used by a large number of important free software projects, like Linux, gcc, clang, glibc, musl, ffmpeg, vim, emacs, coreutils… and many, many more. Check it out!

I also spent a fair bit of time working on this month. Alpine Linux has provisioned some infrastructure for a likely migration from their current mailing list solution (mlmmj+hypermail) to one based on, which I deployed a instance to for them, and trained them on some administrative aspects of User-facing improvments that came from this work include tools for importing and exporting mail spools from lists, better access controls, moderation tools, and per-list mime whitelisting and blacklisting. Admin-facing tools include support for a wider variety of MTA configurations and redirects to continue supporting old incoming mail addresses when migrating from another mailing list system.

Stepping outside the realm of email, let’s talk about Wayland. Since Sway 1.0, development has continued at a modest pace, fixing a variety of small bugs and further improving i3 compatibility. We’re getting ready to split swaybg into a standalone project which can be used on other Wayland compositors soon, too. I also have been working more on Godot, and have switched gears towards adding a Wayland backend to Godot upstream - so you can play Godot-based video games on Wayland. I’m still working with upstream and some other interested contributors on the best way to integrate these changes upstream, but I more or less completed a working port with support for nearly all of Godot’s platform abstractions.

Godot editor running on Wayland with HiDPI support

In smaller project news, I spent an afternoon putting together a home-grown video livestreaming platform a few weeks ago. The result: Once upon a time I was livestreaming programming sessions on, and in the future I’d like to do this more often on my new platform. This one is open source and built on the shoulders of free software tools. I announce new streams on Mastodon, join us for the next one!

I’m also starting on another project called cozy, which is yak-shaving for several other projects I have in mind. It’s kind of ambitious… it’s a full end-to-end C compiler toolchain. One of my goals (which, when completed, can unblock other tasks before cozy as a whole is done) is to make the parser work as a standalone library for reading, writing, and maniuplating the C AST. I’ve completed the lexer and basic yacc grammar, and I’m working on extracting an AST from the parser. I only started this weekend, so it’s pretty early on.

I’ll leave you with a fun weekend project I did shortly after the last update: otaqlock. The server this runs on isn’t awash with bandwidth and the site doesn’t work great on mobile - so your milage may vary - but it is a cool artsy restoration project nonetheless. Until next time, and thank you for your support!

This work was possible thanks to users who support me financially. Please consider donating to my work or buying a subscription. Thank you!

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/ [mailing list etiquette]

Articles from blogs I follow around the net

Status update, May 2019

This month is a little special: it’s been one whole year I’ve started writing status updates! My list of projects has been growing, little by little, and I now spend a pretty big slice of my “open-source contributions time” doing reviews. While this gives …

via emersion June 4, 2019

Updates in May 2019

This post gives an overview of the recent updates to the Writing an OS in Rust blog and to the used tools. I was quite busy with my master thesis this month, so I didn't have the time to create new content or major new features. However, there were qu…

via Writing an OS in Rust June 3, 2019

Giving up on wlroots-rs

Giving up on wlroots-rs

via Way Cooler April 29, 2019

Generated by openring