Drew DeVault's Blog

on Drew DeVault's blog

Should you move from GitHub to sr.ht

I’m not terribly concerned about Microsoft’s acquisition of GitHub, but I don’t fault those who are worried. I’ve been working on my alternative platform, sr.ht, for quite a while. I’m not about to leave GitHub because of Microsoft alone. I do have some political disagreements with GitHub and Microsoft, but those are also not the main reason that I’m building sr.ht. I simply think I can do it better. If my approach aligns with your needs, then sr.ht may be the platform for you.

How I maintain FOSS projects

Today’s is another blog post which has been on my to-write list for a while. I have hesitated a bit to write about this, because I’m certain that my approach isn’t perfect. I think it’s pretty good, though, and people who work with me in FOSS agreed after a quick survey. So! Let’s at least put it out there and discuss it.

Embedding files in C programs with koio

Quick blog post today to introduce a new tool I wrote: koio. This is a small tool which takes a list of files and embeds them in a C file. A library provides an fopen shim which checks the list of embedded files before resorting to the real filesystem.

Why did we replace wlc?

For a little over a year, I’ve been working with a bunch of talented C developers to build a replacement for the wlc library. The result is wlroots, and we’re still working on completing it and updating our software to use it. The conventional wisdom suggests that rewriting your code from scratch is almost never the right idea. So why did we do it, and how is it working out? I have spoken a little about this in the past, but we’ll answer this question in detail today.

Introducing scdoc, a man page generator

A man page generator is one of those tools that I’ve said I would write for a long time, being displeased with most of the other options. For a while I used asciidoc, but was never fond of it. There are a few things I want to see in a man page generator:

Redirecting stderr of a running process

During the KDE sprint in Berlin, Roman Gilg leaned over to me and asked if I knew how to redirect the stderr of an already-running process to a file. I Googled it and found underwhelming answers using strace and trying to decipher the output by reading the write syscalls. Instead, I thought a gdb based approach would work better, and after putting the pieces together Roman insisted I wrote a blog post on the topic.

Google embraces, extends, and extinguishes

Microsoft infamously coined the euphemism “embrace, extend, extinguish” to describe their strategy for disrupting markets dominated by open standards. These days, Microsoft seems to have turned the other leaf, contributing to a huge amount of open source and supporting open standards, and is becoming a good citizen of the technology community. It’s time to turn our concerns to Google.

Sway reporting in from KDE's Berlin development sprint

I’m writing to you from an airplane on my way back to Philadelphia, after spending a week in Berlin working with the KDE team. It was great to meet those folks and work with them for a while. It’ll take me some time to get the taste of C++ out of my mouth, though! In all seriousness, it was a very productive week and I feel like we have learned a lot about each other’s projects and have a strengthened interest in collaborating more in the future.

Achtung! Decentralize, decentralize, decentralize!

I can hardly believe it, but the media is finally putting Facebook’s feet to the fire! No longer is it just the weird paranoid kids shouting at everyone to stop giving all of their information to these companies. We need to take this bull by the horns and drive it in a productive direction, and for that reason, it’s time to talk about decentralization, federation, and open source.

Hack everything without fear

We live in a golden age of open source, and it can sometimes be easy to forget the privileges that this affords us. I’m writing this article with vim, in a terminal emulator called urxvt, listening to music with mpv, in a Sway desktop session, on the Linux kernel. Supporting this are libraries like glibc or musl, harfbuzz, and mesa. I also have the support of the AMDGPU video driver, libinput and udev, alsa and pulseaudio.