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!

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 read Generated by openring

Summary of changes for February

Hey everyone! This is the list of all the changes we've done to our projects and apps during the month of February. We'll also be reporting in our on position in the world, and on our future plans. Summary Of Changes Uxn, started working on a fa…

via Hundred Rabbits February 28, 2021

Contexts and structs

Introduction In many Go APIs, especially modern ones, the first argument to functions and methods is often context.Context. Context provides a means of transmitting deadlines, caller cancellations, and other request-scoped values across A…

via The Go Programming Language Blog February 24, 2021

Status update, February 2021

Hi! Once again my focus has been Wayland-related projects this month. A steady stream of improvements made it into wlroots: Xyene made the X11 clipboard code a lot more robust, bl4ckbone has made good progress on the upcoming Pixman-based software renderer, a…

via emersion February 22, 2021