Why We Review

Many development agencies refuse to inherit already built projects, and earlier this year, I found out why. The most dreaded part of any developer’s job is dealing with “legacy code.” While legacy code is a near inevitability in most tech companies, understanding and maintaining it is time consuming and…

Good Code Is Subjective, Documentation Is Not

Last week, I had an interesting chat with a peer about the difficulty of finding a balance between using established standards and building proprietary solutions within development projects. Personally, I’m an advocate for utilizing established third-party solutions whenever possible as a way to reduce new developer onboarding time and…

Writing Messages on the GitHub Calendar

You know the contributions calendar grid on GitHub profiles? The one with all the pretty green squares? What if you could write a message within that box? That’s exactly what a friend of mine asked me a few months ago. At first, it seemed like a silly question, because…

MIME Type Validation Isn't Good Enough

An uncomfortable majority of companies that offer high storage limits for specific file types have a major problem: MIME type validation isn’t good enough. If you’ve ever had to implement file validation for user uploads, you’ve probably relied heavily on MIME type validation to ensure that the…

The Rise and Fall of the Free Lance

Originally coined as a term to describe mercenary soldiers, the phrase “free lance” has come a long way in the past 200 years. Sir Walter Scott, originator of the term, first wrote it in the book Ivanhoe in 1820: I offered Richard the service of my Free Lances, and he…

Convenience Is Making Me Lazy and Poor

Spotify. Hulu. Netflix. Amazon Prime. Evernote. Dropbox. Google Apps. iCloud. Stop me when you get the point. There was a time in my life where I did everything the hard way. Not because I was inefficient, or stupid, but because it provided me opportunities to learn a ton about how…