Drew DeVault's Blog

I write software. Occasionally, I will compose a post for this blog.

github.com/SirCmpwntwitter.com/sircmpwnmailto:sir@cmpwn.comPublic key: F4EA1B88

Recent Posts

Hooks - running stuff on Github hooks

19 Apr 2015

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

30 Nov 2014

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.

On the profitability of image hosting websites

10 Oct 2014

I’ve been doing a lot of thought about whether or not it’s even possible to both run a simple website and turn a profit from it and maintain a high quality of service. In particular, I’m thinking about image hosts, considering that I run one (a rather unprofitable one, too), but I would think that my thoughts on this matter apply to more kinds of websites. That being said, I’ll just talk about media hosting because that’s where I have tangible expertise.

Process scheduling and multitasking in KnightOS

02 Sep 2014

I’m going to do some blogging about technical decisions made with KnightOS. It’s an open-source project I’ve been working on for the past four years to build an open-source Unix-like kernel for TI calculators (in assembly). It’s been a cool platform on top of which I can research low level systems concepts and I thought I’d share some of my findings with the world.

Python's datetime sucks

28 Jun 2014

I’ve been playing with Python for about a year now, and I like pretty much everything about it. There’s one thing that’s really rather bad and really should not be that bad, however - date & time support. It’s ridiculous how bad it is in Python. This is what you get with the standard datetime module:

Go's error handling doesn't sit right with me

07 Jun 2014

I’ll open up by saying that I am not a language designer, and I do like a lot of things about Go. I just recently figured out how to describe why Go’s error handling mechanics don’t sit right with me.

Hacking on your TI calculator

25 Feb 2014

I’ve built the KnightOS kernel, an open-source OS that runs on several TI calculator models, including the popular TI-83+ family, and recently the new TI-84+ Color Silver Edition. I have published some information on how to build your own operating sytsems for these devices, but I’ve learned a lot since then and I’m writing this blog post to include the lessons I’ve learned from other attempts.

The bug that hides from breakpoints

02 Feb 2014

This is the story of the most difficult bug I ever had to solve. See if you can figure it out before the conclusion.

Custom Music Syncing on Android

24 Aug 2013

I have an HTC One, with CyanogenMod installed. I usually use Spotify, but I’ve been wanting to move away from it for a while. The biggest thing keeping me there was the ease of syncing up with my phone - I added music on my PC and it just showed up on my phone.

You don't need jQuery

19 Aug 2013

It’s true. You really don’t need jQuery. Modern web browsers can do most of what you want from jQuery, without jQuery.