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

Wow, it’s already time for another status update? I’m starting to lose track of the days stuck inside. I have it easier than many - I was already used to working from home before any of this began. But, weeks and weeks of not spending IRL time with anyone else is starting to get to me. Remember to call your friends and family and let them know how you’re doing. Meanwhile, I’ve had a productive month - let’s get you up to date!

In the Wayland world, I’ve made some more progress on the book. The input chapter is now finished, including the example code. The main things which remain to be written are the XDG positioner section (which I am dreading), drag and drop, and protocol extensions. On the code side of things, wlroots continues to see gradual improvements — the DRM (not the bad kind) implementation continues to see improvements, expanding to more and more use-cases with even better performance. Sway has also seen little bug fixes here and there, and updates to keep up with wlroots.

For my part, I’ve mostly been focused on SourceHut and Secret Project this month. On the SourceHut side of things, I’ve been working on hub.sr.ht, and on an experimental GraphQL-based API for git.sr.ht. The former is progressing quite well, and I hope to ship an early version before the next status update. As for the latter, it’s still very experimental, but I am optimistic about it. I have felt that the current REST API design was less than ideal, and the best time to change it would be during the alpha. The GraphQL design, while it has its limitations, is a lot better than the REST design and should make it a lot easier for services to interop with each other - which is a core design need for sr.ht.

Here’s a little demo of hub.sr.ht as of a few weeks ago to whet your appetite:

As far as the secret project is concerned, here’s another teaser:

fn printf (fmt: str, ...) int;

fn f (ptr: &int) int =
{
	let x: int = *ptr;
	free ptr;
	printf("value: %d\n", x)
};

export fn main int =
{
	let x = alloc &int 10;
	f(^x);
	0
};
$ [redacted] -o example [redacted...]
$ ./example
value: 10

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

Articles from blogs I read Generated by openring

The Future of Forums is Lies, I Guess

In my free time, I help run a small Mastodon server for roughly six hundred queer leatherfolk. When a new member signs up, we require them to write a short application—just a sentence or two. There’s a small text box in the signup form which says: Please t…

via Aphyr: Posts July 7, 2025

Raised Catholic

My introduction to CatholicismIn my young life, I was quite involved in Catholicism. I was raised this way by my mother, who wholeheartedly believes in it. In contrast, my father is not religious, and only goes to church for special occasions like the Chr…

via Cadence's Weblog July 6, 2025

Hare 0.25.2 released

I am pleased to announce the release of Hare 0.25.2 today. 🎉 It has been almost one year since the previous release, Hare 0.24.2, and the new release is packed with the numerous language features, standard libarary features, and countless bugfixes and small…

via Blogs on The Hare programming language June 21, 2025