Status update, April 2020

Published 2020-04-15 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!

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]

Are you a free software maintainer who is struggling with stress, demanding users, overwork, or any other social problems in the course of your work? Please email me — I know how you feel, and I can lend a sympathetic ear and share some veteran advice.


Articles from blogs I follow around the net

Achieving accessibility through simplicity

I have received many emails complimenting SourceHut’s simple design and lightweight pages1, but I have received a surprising amount of positive feedback from a particular group of users: the blind community. For many software teams, especially web developers…

via Blogs on Sourcehut May 27, 2020

Status update, May 2020

This month I’ve started working with Valve, the company behind the Steam game platform. I’ll be helping them improving gamescope, their gaming Wayland compositor. Unlike existing compositors, gamescope uses Vulkan and libliftoff. Because these are pretty …

via emersion May 18, 2020

Go Developer Survey 2019 Results

What a response! I want to start with an enormous thank you to the thousands of Go developers who participated in this year’s survey. For 2019, we saw 10,975 responses, nearly twice as many as last year! On behalf of the rest of the team, I …

via The Go Programming Language Blog April 20, 2020

Generated by openring