Magento on Vagrant: Lessons Learned

Let’s get this out of the way first: Magento is by far the single-most inefficient framework I have ever had the displeasure of working with. While I’ve made a similar statement about Craft CMS in the past, after a week working with Magento 2 I happily rescind my…

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…