Drew DeVault's Blog

on Drew DeVault's blog

How to write a better bloom filter in C

This is in response to How to write a bloom filter in C++, which has good intentions, but is ultimately a less than ideal bloom filter implementation. I put together a better one in C in a few minutes, and I’ll explain the advantages of it.

Please use text/plain for email

A lot of people have come to hate email, and not without good reason. I don’t hate using email, and I attribute this to better email habits. Unfortunately, most email clients these days lead users into bad habits that probably contribute to the sad state of email in 2016. The biggest problem with email is the widespread use of HTML email.

Integrating a VT220 into my life

I bought a DEC VT220 terminal a while ago, and put it next to my desk at work. I use it to read emails on mutt now, and it’s actually quite pleasant. There was some setup involved in making it as comfortable as possible, though.

State of Sway - December 2015

I wrote sway’s initial commit 4 months ago, on August 4th. At the time of writing, there are now 1,070 commits from 29 different authors, totalling 10,682 lines of C (and 1,176 lines of header files). This has been done over the course of 256 pull requests and 118 issues. Of the 73 i3 features we’re tracking, 51 are now supported, and I’ve been using sway as my daily driver for a while now. Today, sway looks like this:

Bring more Tor into your life

Tor is a project that improves your privacy online by encrypting and bouncing your connection through several nodes before leaving for the outside world. It makes it much more difficult for someone spying on you to know who you’re talking to online and what you’re saying to them. Many people use it with the Tor Browser (a fork of Firefox) and only use it with HTTP.

Please don't use Slack for FOSS projects

I’ve noticed that more and more projects are using things like Slack as the chat medium for their open source projects. In the past couple of days alone, I’ve been directed to Slack for Babel and Bootstrap. I’d like to try and curb this phenomenon before it takes off any more.

A practical understanding of Flux

React.js and the Flux are shaping up to be some of the most important tools for web development in the coming years. The MVC model was strong on the server when we decided to take the frontend seriously, and it was shoehorned into the frontend since we didn’t know any better. React and Flux challenge that and I like where it’s going very much. That being said, it was very difficult for me to get into. I put together this blog post to serve as a more practical guide - the upstream documentation tells you a lot of concepts and expects you to put them together yourself. Hopefully at the end of this blog post you can confidently start writing things with React+Flux instead of reading brain-melting docs for a few hours like I did.

osu!web - WebGL & Web Audio

Hooks - running stuff on Github hooks

I found myself in need of a simple tool for deploying a project on every git commit, but I didn’t have a build server set up. This led to Hooks - a very simple tool that allows you to run arbitrary commands when Github’s hooks execute.

Porting an entire desktop toolchain to the browser with Emscripten

This blog post no longer works. I haven’t been maintaining it since I originally wrote it. However, you can see something similar at try.knightos.org.