Status update, May 2020 May 15, 2020 on Drew DeVault's blog

Hello, future readers! I am writing to you from one day in the past. I finished my plans for today early and thought I’d get a head start on writing the status updates for tomorrow, or rather, for today. From your reference frame, that is.

Let’s start with Wayland. First, as you might have heard, The Wayland Protocol is now free for anyone to read, and has been relicensed as CC-BY-SA. Enjoy! It’s still not quite done, but most of it’s there. In development news, wlroots continues to enjoy incremental improvements, and is being refined further and further towards a perfect citizen of the ecosystem in which it resides. Sway as well has seen many small bugfixes and improvements. Both have been been stable for a while now: the only meaningful changes will be, for the most part, a steady stream of bug fixes and performance improvements.

Moving on from Wayland, then, there are some interesting developments in the world of email as well. aerc has seen some minor changes to how it handles templates and custom email headers, and a series of other small features and improvements: drafts, a :choose meta-command, and fixes for OpenBSD and Go 1.15. Additionally, I’ve joined Simon Ser to work on Alps together, to put the finishing touches on our lightweight & customizable webmail client before Migadu puts it into production.

On the SourceHut front, lots of cool stuff came out this month. You might have seen the announcement this week that we’ve added Plan 9 support to the CI — a world first :D I also just published the first bits of the new, experimental GraphQL API for git.sr.ht, which you can play with here. And, of course, the long-awaited project hub was released this month! Check it out here to get your projects listed. I’ll post about all of this in more detail on the sr.ht-announce mailing list later today.

That’s all for today! I’ll see you next month. Thank you once more for your wonderful support.

...
/* sys::write */
fn write(fd: int, buf: *void, count: size) size;

fn puts(s: str) size = { let n = write(1, s: *char, len(s)); n += write(1, “\n”: *char, 1); n; };

export fn main int = { puts(“Hello world!”); 0; };

$ ./[redacted] < example.[redacted] | qbe > example.S
$ as -o example.o example.S
$ ld -o example lib/sys/[redacted]s.o example.o lib/sys/lib[redacted]rt.a
$ wc -c example
9640
$ ./example
Hello world!

Articles from blogs I read Generated by openring

On how to enhance Alpine Linux user experience

Very recently I had the need for a watch-party solution. Syncplay seems a formidable tool for this. It allows me and my partner to watch videos from our respective Mpv players. Fortunately it was already packaged for our Linux distribution, formerly Alpin…

via Willow's feed October 19, 2025

Using a Blackmagic Design camera as wildlife camera

The sane solution to capturing wildlife going through your garden is to use a dedicated wildlife camera. In my experience these things are pretty much always trash. The devices I've seen are all basically cheap dash-cam boards that happen to have moti…

via BrixIT Blog October 17, 2025

Geoblocking Multiple Localities With Nginx

A few months back I wound up concluding, based on conversations with Ofcom, that aphyr.com might be illegal in the UK due to the UK Online Safety Act. I wrote a short tutorial on geoblocking a single country using Nginx on Debian. Now Mississippi’s 2024 HB…

via Aphyr: Posts October 11, 2025