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

Hello again! Another month of FOSS development behind us, and we’re back again to share the results. I took a week off at the end of June, so my progress this month is somewhat less than usual. Regardless, I have some updates for you, mainly in the domain of SourceHut work.

But before we get to that, let’s go over this month’s small victories. One was the invention of the BARE message format, which I wrote a blog post about if you want to learn more. Since that article, five new implementations have appeared from various authors: Rust, Python, JavaScript, D, and Zig.

I also wrote a couple of not-blogposts for this site (drewdevault.com), including a page dispelling misconceptions about static linking, and a page (that I hope you’ll contribute to!) with videos of people editing text. Just dropping a link here in case you missed them; they didn’t appear in RSS and aren’t blog posts. To help find random stuff like that on this site, I’ve also established a misc page.

Okay, on to SourceHut. Perhaps the most exciting development is the addition of continuous integration to the mailing lists. I’ve been working towards this for some time now, and it’s the first of many features which are now possible thanks to the addition of the project hub. I intend to complete some follow-up work improving the CI feature further still in the coming weeks. I’m also planning an upgrade for the hardware that runs hg.sr.ht during the same timeframe.

That’s all the news I have for now, somewhat less than usual. Some time off was much-needed, though. Thanks for your continued support, and I hope you continue to enjoy using my software!

...
$ cat main.$ext
use io;
use strings;
use sys;

export fn main void = { for (let i = 0; sys::envp[i] != null; i += 1) { let s = strings::from_c(sys::envp[i]); io::println(s); }; }; $ $redacted run main.$ext error: main.$ext:8:41: incorrect type (&char) for parameter 1 (&char) let s = strings::from_c(sys::envp[i]); ^— here $ vim main.$ext $ cat main.$ext use io; use strings; use sys;

export fn main void = { for (let i = 0; sys::envp[i] != null; i += 1) { let s = strings::from_c(sys::envp[i]); io::println(s); free(s); }; }; $ $redacted run main.$ext DISPLAY=:0 EDITOR=vim

Articles from blogs I read Generated by openring

Disappointing phones

Since 2019, my phone has been a OnePlus 5T running LineageOS, and I've loved it.Unfortunately, it uses 3G for calls, and all New Zealand networks plan to turn off their 3G network in early 2026. I would still be able to use this phone for taking photo…

via Cadence's Weblog February 8, 2026

Trudging Through Nonsense

Last week Anthropic released a report on disempowerment patterns in real-world AI usage which finds that roughly one in 1,000 to one in 10,000 conversations with their LLM, Claude, fundamentally compromises the user’s beliefs, values, or actions. They not…

via Aphyr: Posts February 4, 2026

Binary Dependencies: Identifying the Hidden Packages We All Depend On

We need better tools for uncovering phantom binary dependencies. Not having these tools makes our global tech infrastructure less secure, and puts a strain on the Open Source maintainers we rely on.

via Vlad's Website January 31, 2026