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).
So this is really cool: Emmanuel Macron (the next president of France) is using my open-source CommonMark library on his website!
The full list of PHP League libraries used on the website:
Using a shared cache volume across all of our Docker-based Gitlab CI jobs has allowed us to drastically improve our build speeds.
Hacking Your Way to Better Security
DrupalCon: Baltimore 2017
This talk educates junior and mid-level developers on common security vulnerabilities, how they are exploited, and how to protect against them. We'll explore several of the OWASP Top 10 attack vectors like SQL injection, XSS, CSRF, and others. Each topic will be approached from the perspective of an attacker to see how these vulnerabilities are detected and exploited using several realistic examples. We'll then apply this knowledge to see how web applications can be secured against such vulnerabilities.
Rise of the Machines: PHP and IoT
Frederick Web Technology Group
The Internet of Things (IoT) is fundamentally changing how we interact with the digital world. In this talk, we’ll explore the implementation of live examples which bridge the gap between the physical and digital world using PHP: asking Alexa for information on php[world] conference sessions; displaying API data on an Arduino-powered display; using PHP to control LEDs on a Raspberry Pi to monitor application uptime; and connecting IR sensors to Slack to see whether a conference room is in use.
Using a Unicorn pHAT we can easily display the IP address in binary when the Raspberry Pi boots!
(Featured on the Adafruit blog)
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.
Watch PHPUnit tests run in real-time on a Unicorn pHAT (through a Rasperry Pi Zero W)
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:
PHP UK 2017
Software bugs are inevitable; some are especially difficult to track down, causing you to waste countless hours before throwing your hands up in defeat. It doesn't have to be this way! The mental fatigue and wasted time can be avoided by using strategies like identifying the most-appropriate tool, taking a logical & objective approach, challenging assumptions, listening to variables, isolating the code path, and reinforcing code with automated tests.