Status update, May 2019

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

This month, it seems the most exciting developments again come from the realm of email. I’ve got cool email-related news to share for aerc, lists.sr.ht, and todo.sr.ht, and many cool developments in my other projects to share.

Let’s start with lists.sr.ht: I have broken ground on the web-based patch review tools! I promised these features when I started working on sourcehut, to make the email-based workflow more enticing to those who would rather work on the web. Basically, this gives us a Github or Gerrit-esque review UI for patches which arrive on the mailing list. Thanks to a cool library Simon Ser wrote for me… almost a year ago… I’m able to take a thread of emails discussing a patch and organically convert them into inline feedback on the web.

Click the screenshot to visit this page on the web

This is generated from organic discussions where the participants don’t have to do anything special to participate - in the discussion this screenshot is generated from, the participants aren’t even aware that this process is taking place. This approach allows users who prefer a web-based workflow to interact with traditional email-based patch review seamlessly. Future improvements will include detecting new revisions of a patch, side-by-side diff and diffs between different versions of a patch, and using the web interface to review a patch - which will generate an email on the list. I’d also like to extend git.sr.ht with web support for git send-email, allowing you to push to your git repo and send a patch off to the mailing list from the web. It should also be possible to combine this with dispatch.sr.ht to have bidirectional code reviews between mailing lists and Github, Gitlab, etc - with no one on either side being any the wiser to the preferred workflow of the other.

In other exciting email-related news, aerc2 now supports composing emails - a feature which has been a long time coming, and was not even present in aerc1! Check it out:

Outgoing email configuration supports SMTP, STARTTLS, and SMTPS, with sendmail support planned. Outgoing emails are edited with our embedded terminal emulator using vim, or your favorite $EDITOR. Still to come: replying to emails & PGP support. I could use your help here! If you want a chance to write some cool Go code, stop by the IRC channel and say hello: #aerc on irc.freenode.net. Once aerc matures a little bit, I also want to start working on a git integration which will continue making email an even more compelling platform for software development.

Let’s talk about Wayland next. I’ve been shipping release candidates for sway 1.1 - check out the provisional changelog here. The highlights are probably the ability to inhibit idle with arbitrary criteria, and touch support for swaybar. The release candidates have been pretty quiet - we might end up shipping this as early as rc4. wlroots 0.6.0 was also released, though for end-users it doesn’t include much. We’ve removed the long-deprecated wl_shell, and have made plans to start removing other deprecated protocols. I’ve also been working with the broader Wayland community on establishing a governance model for protocol standardization - read the latest draft here.

I’ve also started working on a Wayland book! It’s intended as a comprehensive reference on the Wayland protocol, useful for authors hoping to write both Wayland compositors and Wayland clients. It does not go into all of the nitty-gritty details necessary for writing a Wayland compositor for Linux (that is, the sort of knowledge necessary for using wlroots, or even making wlroots itself), but that’ll be a task for another time. Instead, I focus on the Wayland protocol itself, explaining how the wire protocol works and the purpose and usage of each interface in wayland.xml, as well as libwayland. I intend to sell this book, but when you buy it you’ll receive a DRM-free CC-NC-ND copy that you can share freely with your friends.

Before I move on from Wayland news, also check out Wio if you haven’t yet - I wrote a blog post about it here. In short: I made a novel new Wayland compositor in my spare time which behaves like plan 9’s Rio. See the blog post for more details!

Following the success of git-send-email.io, I published a similar website last week: git-rebase.io. The purpose of this website is to teach readers how to use git rebase, explaining how to use its primitives to accomplish common high-level tasks in a way that leaves the reader equipped to apply those primitives to novel high-level tasks in the course of their work. I hope you find it helpful! I’ve also secured git-filter-branch.io and git-bisect.io to explain additional useful, but confusing git commands in the future.

Brief updates for other projects: I’ve been ramping up RISC-V work again, helping Golang test their port, testing out u-Boot, and working on the Alpine port some more. cozy has seen only a little progress, but the parser is improving and it’s now emitting a (very incomplete) AST for source files you feed to it. Godot is on hold pending additional upstream bandwidth for code review.

That’s all for today! Thank you so much for your support. It’s pretty clear by now that my productivity is way higher now that I’m able to work full-time on open source, thanks to your support. I’ll see you for next month’s update!

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

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


Articles from blogs I follow around the net

Contributors Summit 2019

For the third year in a row, the Go team and contributors convened the day before GopherCon to discuss and plan for the future of the Go project. The event included self-organizing into breakout groups, a town-hall style discussion about the proposal process…

via The Go Programming Language Blog August 15, 2019

Updates in July 2019

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. Since I'm still very busy with my master thesis, I haven't had the time to work on a new post. But there were quite a few maintena…

via Writing an OS in Rust August 2, 2019

What is RISC?

This is an archive of a series of comp.arch USENET posts by John Mashey in the early to mid 90s, on the defnition of reduced instruction set computer (RISC). Contrary to popular belief, RISC isn't about the number of instructions! This is archived her…

via Dan Luu July 29, 2019

Generated by openring