Articles by Benjamin VanEvery

20 Aug 2015 · by Benjamin VanEvery
An Inconvenient Debt Talk to any engineer, and they're probably more familiar than they'd like with technical debt. It's a reality in each of our systems about which most of us are aware, but don't like facing. Good practices for addressing technical debt are not discussed often enough. Read on to...
14 Apr 2015 · by Benjamin VanEvery
An excellent series of posts has been published over the last few weeks on the TODO Group blog. The series focuses on why each of the companies got involved in open source. It's been enlightening to read through each one and get a glimpse of what open source means to each company and how it impacts...
10 Aug 2014 · by Benjamin VanEvery
Site issues are a part of life for most web application shops. Database errors, buggy code, vendor failures, growing pains, etc. rear their heads and keep engineers up at night. At Box, we're no exception, and over the years we've done our fair share of triaging and solving site issues....
10 Apr 2014 · by Benjamin VanEvery
Open source has been a part of the Box technology stack since the company's earliest days. Technologies including Apache, nginx, PHP and their peers have been critical to Box's success and to the technical revolution of web software and platforms as a whole. Today, we are very excited to announce...
02 Jan 2014 · by Benjamin VanEvery
Profiling a Java application is an experience many developers may never encounter. Identifying the source of a memory leak is probably even more rare. Those kinds of investigations are typically handled by teams dedicated to the subject, or just deferred by throwing more memory at the problem....
08 Aug 2012 · by Benjamin VanEvery
A few months ago I blogged about Diesel, a dependency injection framework for PHP. Since then, it's gotten a lot of use in our internal PHP code as well as our open source project, Bart. It's also gotten a good deal of feedback from the rest of the team and been the subject of many a debate. The...
02 Jul 2012 · by Benjamin VanEvery
Unit testing is an obvious best practice, but it is not easy to introduce to legacy code.  I've found some great advice here, particularly in Clean Code by Robert Martin.  However, one issue he didn't cover was testing code with lots of static variables.  Aside from being a general...
15 Feb 2012 · by Benjamin VanEvery
Cross-posted from my blog at http://asheepapart.blogspot.com/. PHPUnit made unit testing PHP an actual pleasant experience, but there's still something missing when it comes to generically injecting stubs and mock behavior into your classes when your classes extend beyond simple relationships...
20 Jan 2012 · by Benjamin VanEvery
Although rife with a slew of inefficiencies and idiosyncrasies, PHP does offer the scripter a powerful set of possibilities for the energetic and inclined. One of these is its autoload concept – it isn’t unique to PHP, but PHP offers a certain degree of simplicity to the scripter who is willing to...
27 Oct 2011 · by Benjamin VanEvery
Although rife with a slew of inefficiencies and idiosyncrasies, PHP does offer the scripter a powerful set of possibilities for the energetic and inclined. One of these is its autoload concept - it isn’t unique to PHP, but PHP offers a certain degree of simplicity to the scripter who is willing to...
18 Aug 2011 · by Benjamin VanEvery
Writing software at a start-up company comes with a lot of perks. It also comes with a hefty project load, which makes it easy to get caught up in the development cycle and lose sight the big picture. We never want this to happen to engineers at Box, since we believe that our software developers –...