Drew DeVault's Blog

on Drew DeVault's blog

I'm losing faith in America

I recently quit my job at Linode and started looking for something else to do. For the first time in my career, I’m seriously considering opportunities abroad. Sorry for the politically charged post - I promise to get back to tech stuff right away.

Using the right tool for the job

One of the most important choices you’ll make for the software you write is what you write it in, what frameworks you use, the design methodologies to subscribe to, and so on. This choice doesn’t seem to get the respect it’s due. These are some of the only choices you’ll make that you cannot change. Or, at least, these choices are among the most difficult ones to change.

What motivates the authors of the software you use?

We face an important choice in our lives as technophiles, hackers, geeks: the choice between proprietary software and free/open source software. What platforms we choose to use are important. We have a choice between Windows, OS X, and Linux (not to mention the several less popular choices). We choose between Android or iOS. We choose hardware that requires nonfree drivers or ones that don’t. We choose to store our data in someone else’s cloud or in our own. How do we make the right choice?

[VIDEO] Arch Linux with full disk encryption in (about) 15 minutes

Sway 0.9 & One year of Sway

Today marks one year since the initial commit of Sway. Over the year since, we’ve written 1,823 commits by 54 authors, totalling 16,601 lines of C (and 1,866 lines of header files). This was written over the course of 515 pull requests and 300 issues. Today, most i3 features are supported. In fact, as of last week, all of the features from the i3 configuration I used before I started working on Sway are now supported by Sway. Today, Sway looks like this (click to expand):

Using -Wl,--wrap for mocking in C

One of the comforts I’ve grown used to in higher level languages when testing my code is mocking. The idea is that in order to test some code in isolation, you should “mock” the behavior of things it depends on. Let’s see a (contrived) example:

Life, liberty, and the pursuit of privacy

Privacy is my hobby, and should be a hobby of every technically competent American. Within the eyes of the law I have a right to secure the privacy of my information. At least that’s the current law - many officials are trying to subvert that right. I figure that we’d better exercise that right while we have it, so that we know how to keep exercising it once it’s illegal and all the information about it dries up.

Understanding pointers

I was recently chatting with a new contributor to Sway who is using the project as a means of learning C, and he had some questions about what void** meant when he found some in the code. It became apparent that this guy only has a basic grasp on pointers at this point in his learning curve, and I figured it was time for another blog post - so today, I’ll explain pointers.

In Memoriam - Mozilla

Today we look back to the life of Mozilla, a company that was best known for creating the Firefox web browser. I remember a company that made the web better and more open by providing a browser that was faster and more customizable than anyone had ever seen, and by making that browser free and open source.

State of Sway - April 2016

Since the previous State of Sway, we have accomplished quite a bit. We are now shipping versioned releases of sway, which include support for window borders, input device configuration, more new features, and many bug fixes and stability improvements. I’m also happy to say that Sway 0.5 has landed in the Arch Linux community repository and I’m starting to hear rumors of it landing in other Linux distros as well. Here’s a quick rundown of what’s happened in the past four months: