Recent Posts

TaskWarrior, TimeWarrior, and that moment it all goes wrong

I've been a user of TaskWarrior for a long time, though not always seriously, and I recently started using TimeWarrior with it so that I can keep track of the time that I spend on tasks. This is a tale about how it all went wrong, but because of some really smart choices by the original developers, it all came back in the end.


Sites loading with curl and debugging

This one is a full on face-palm of fun: A client recently redirected one site that we didn't host to one that we do. At some point, Googlebot had indexed their old site and had URLs to files on the site, and fetching those URLs took down our site.


MySQL Users, Authentication Order, and Anonymous Logins

Last week we ran in to an issue wherein MySQL stopped allowing logins from several of our user accounts. This post documents how that happened, and what you might need to prevent this issue going forward.


Using vim macros to quickly delete SQL CREATE TABLE statements

I, like most developers, am lazy (which is apparently a virtue!) and recently needed to remove a bunch of CREATE TABLE statements from a mysqldump. The vim macro below is how I accomplished that task.


TinyMCE, Google Chrome, and image editing

My day job is in the process of replacing TinyMCE with another WYSIWYG editor, Quill. Even once that happens, we'll still be supporting existing clients that use TinyMCE, and those clients will likely never receive the "replacement," but they'll still receive updates.


Date logic is hard, and how you can make it easier

There are excellent tools available for essentially every programming language allowing you to work with dates as objects, because date logic is hard. But it doesn't have to be, and you can make it easier.


A conversation on religion, theology, and morals

An interesting conversation had in the office HipChat, triggered by comments made by Stephen Fry; it definitely amazed me a little, just how many people we had with very strong opinions on religion. Note: all grammatical and spelling errors are the original authors, and are left here for authenticity.