Drew DeVault's Blog

Status update, June 2019

Summer is in full swing here in Philadelphia. Last night I got great views of Jupiter and a nearly-full Moon, and my first Saturn observation of the year. I love astronomy on clear Friday nights, there’s always plenty of people coming through the city. And today, on a relaxing lazy Saturday, waiting for friends for dinner later, I have the privilege of sharing another status report with you.

My personal journey from MIT to GPL

As I got started writing open source software, I generally preferred the MIT license. I actually made fun of the “copyleft” GPL licenses, on the grounds that they are less free. I still hold this opinion today: the GPL license is less free than the MIT license - but today, I believe this in a good way.

Initial pre-release of aerc: an email client for your terminal

After years of painfully slow development, the aerc email client has seen a huge boost in its pace of development recently. This leads to today’s announcement: aerc 0.1.0 is now available! After my transition to working on free software full time allowed me to spend more time on more projects, I was able to invest considerably more time into aerc. Your support led us here: thank you to all of the people who donate to my work!

What is a fork, really, and how GitHub changed its meaning

The fork button on GitHub - with the little number next to it for depositing dopamine into your brain - is a bit misleading. GitHub co-opted the meaning of “fork” to trick you into participating in their platform more. They did this in a well-intentioned way, for the sake of their pull requests feature, but ultimately this design is self-serving and causes some friction when contributors venture out of their GitHub sandbox and into the rest of the software development ecosystem. Let’s clarify what “fork” really means, and what we do without GitHub’s concept of one - for it is in this difference that we truly discover how git is a distributed version control system.

Status update, May 2019

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.

Webcast: Reviewing git & mercurial patches with email

With the availability of new resources like git-send-email.io, I’ve been working on making the email-based workflow more understandable and accessible to the world. One thing that’s notably missing from this tutorial, however, is the maintainer side of the work. I intend to do a full write-up in the future, but for now I thought it’d be helpful to clarify my workflow a bit with a short webcast. In this video, I narrate my workflow as I review a few sourcehut patches and participate in some dicsussions.

Calculating your donation's value following Patreon's fee changes

In January 2018, I wrote a blog post which included a fee calculator. Patreon changes their fee model tomorrow, and it’s time for an updated calculator. I’m grandfathered into the old fees, so not much has changed for me, but I want to equip Patreon users - creators and supporters - with more knowledge of how their money is moving through the platform.

Announcing Wio: A clone of Plan 9's Rio for Wayland

For a few hours here and there over the past few months, I’ve been working on a side project: Wio. I’ll just let the (3 minute) screencast do the talking first:

The "shut up and get back to work" coding style guide

So you’re starting a new website, and you open the first CSS file. What style do you use? Well, you hate indenting with spaces passionately. You know tabs are right because they’re literally made for this, and they’re only one byte, and these god damn spaces people with their bloody spacebars…

Using Cage for a seamless remote Wayland session

Congratulations to Jente Hidskes on the first release of Cage! Cage is a Wayland compositor designed for kiosks - though, as you’ll shortly find out, is useful in many unexpected ways. It launches a single application, in fullscreen, and exits the compositor when that application exits. This lets you basically add a DRM+KMS+libinput session to any Wayland-compatible application (or X application via XWayland) and run it in a tiny wlroots compositor.