Web Developers Central NJ Meetup
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.
I recently upgraded my system from Ubuntu 16.04 with Unity to Ubuntu 17.10 with Gnome Shell 3. One of the "features" I found annoying was that my IDE PhpStorm was not popping to the front and receiving focus whenever breakpoints were hit. I eventually figured out a solution and wanted to document it in case others were also searching for a solution.
I first confirmed that "Focus application on breakpoint" was indeed enabled in my settings:
Back in November I released colinodell/json5 - a JSON5 parser for PHP. It's essentially a drop-in replacement for PHP's
json_decode() function, but it allows things like comments, trailing commas, and more.
Fast forward to this weekend when I received the following bug report from a user named Antonio:
Magento has just released the SUPEE-10415 security patch for the following versions:
- Magento Commerce 188.8.131.52-184.108.40.206 (formerly known as Enterprise Edition)
- Magento Open Source 220.127.116.11-18.104.22.168 (formerly known as Community Edition)
The patch contains fixed for several security vulnerabilities including cross-site request forgery (CSRF), Denial-of-Service (DoS), and authenticated Admin user remote code execution (RCE).
I recently came across this really helpful PHP trick:
You can cast a numeric string to either
float, depending on its contents, by simply adding
var_dump("1" + 0); // int(1) var_dump("1." + 0); // float(1) var_dump("1.0" + 0); // float(1) var_dump("1.5" + 0); // float(1.5)
That's much cleaner than trying to make a conditional cast yourself: