I was playing Tetris over the weekend when I realized it's a great metaphor for managing technical debt.
Home Assistant uses the open-zwave library to control Z-Wave home automation devices like light switches and door sensors. Unfortunately, this library's last release (1.5) was back in August 2016 and doesn't include configurations for many Z-Wave devices I use (like the Linear NGDZ00-4 Garage Door).
Using a shared cache volume across all of our Docker-based Gitlab CI jobs has allowed us to drastically improve our build speeds.
For Pi Day 2017 I created a really fun project - the PHPUnicorn!
A simple PHPUnit listener collects test results and sends them to a Raspberry Pi Zero Wireless device in real-time. As the device receives the stats it lights up LEDs green, red, or orange to visualize the progress and results of your unit tests.
TIL that Doctrine 2 doesn't support
LIMITs within subqueries which can be frustrating. In my case, I wanted to
LEFT JOIN on a table using a subquery with a single result - something like this:
$dqb->from('MyAppBundle:Foo', 'foo') ->leftJoin('foo.bar', 'bar', 'WITH', 'bar = (SELECT b FROM MyAppBundle:Bar b WHERE b.foo = foo AND b.published_date >= :now ORDER BY t.startDate LIMIT 1)');
But Doctrine kept throwing this error:
Installing PHP 7.0 is easier than ever. Here are instructions for installing the latest version on different platforms:
PHP 5.x Conflicts
With the imminent release of PHP 7 on the horizon, I thought it would be cool to check out some of the lesser-known features coming with the 7.0.0 release:
1. Array constants in
PHP 5.6 added the ability to define array constants on classes by using the
const LUCKY_NUMBERS = [4, 8, 15, 16, 23, 42];
PHP 7 brings this same functionality to the
This post demonstrates how Blackfire was used to identify slowness in the league/commonmark parser. These findings were then used to implement two simple optimizations resulting in a 53% performance boost!