Status update, February 2021 February 15, 2021 on Drew DeVault's blog

Salutations! It's officially a year of pandemic life. I hear the vaccine distribution is going well, so hopefully there won't be another year of this. In the meanwhile, I've been working hard on free software, what with having little else to do. However, I'm afraid I cannot tell you about most of it!

I've been working on's GraphQL API, and it's going quite well. I hope to ship a working read-only version later this month. There have been a number of bug fixes and rote maintenance work on as well, but nothing particularly exciting. We did upgrade everything for Alpine 3.13, which went off without a hitch. Anyway, I'll go over the minor details in the "what's cooking" post later today.

The rest of the progress was made in secret. Secret! You will have to live in ignorance for now. Sorry!

(unless you click this)

Here's a peek at our progress:

use fmt;
use io;
use os;

export fn main() void = {
        if (len(os::args) == 1) match (io::copy(os::stdout, os::stdin)) {
                err: io::error => fmt::fatal("Error copying <stdin>: {}",
                size => return,

        for (let i = 1z; i < len(os::args); i += 1) {
                let f = match (os::open(os::args[i], io::mode::RDONLY)) {
                        s: *io::stream => s,
                        err: io::error => fmt::fatal("Error opening {}: {}",
                                os::args[i], io::errstr(err)),
                defer io::close(f);

                match (io::copy(os::stdout, f)) {
                        err: io::error => fmt::fatal("Error copying {}: {}",
                                os::args[i], io::errstr(err)),
                        size => void,

I'm looking for a few volunteers to get involved and help flesh out the standard library. If you are interested, please email to express your interest, along with your username and a few words about your systems programming experience — languages you're comfortable with, projects you've worked on, platforms you grok, etc.

⇒ This article is also available on gemini.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/ [mailing list etiquette]

Articles from blogs I read Generated by openring

Loopr: A Loop/Reduction Macro for Clojure

I write a lot of reductions: loops that combine every element from a collection in some way. For example, summing a vector of integers: (reduce (fn [sum x] (+ sum x)) 0 [1 2 3]) ; => 6 If you’re not familiar with Clojure’s reduce, it takes a reducing func…

via Aphyr: Posts June 23, 2022

What's cooking on SourceHut? June 2022

Hello everyone! Let’s get straight into the news today. Our user count today is 29,612 users, of which 576 have joined since the last update. Remember to be patient with these new users as they learn the ropes. Welcome! GraphQL Adnan continues to ship GraphQL…

via Blogs on Sourcehut June 15, 2022

Status update, June 2022

Hi! Yesterday I’ve finally finished up and merged push notification support for the soju IRC bouncer and the goguma Android client! Highlights & PM notifications should now be delivered much more quickly, and power consumption should go down. Additionally…

via emersion June 15, 2022