whateverthing.com

January 30, 2017

Version 2 of the Silex PHP Microframework has been out for a while, but many sites are still using Silex version 1. Perhaps this is because of Silex 2's backwards-compatibility breaks.

The Changelog file on the Silex website helpfully touches on these changes, but it can be tough to understand how to translate the entries into meaningful code. I've found the documentation on the Silex 2 website to be spot-on, but it's not always clear when the examples are different from Silex 1 code. To that end, I've started writing a wiki page on the Silex project that should help clarify things. A portion of it is presented here (based on a blog post I started writing over a year ago and forgot to finish. Oops!).

December 5, 2016

It's a fact of life that every software developer spends a large chunk of their career working within the confines of a so-called "Legacy" codebase. A lot of the time, the codebase isn't as bad as the Legacy label suggests. Developers often throw the term around any time we encounter something that's not "fun" or "modern".

But, even on the legacy-est of legacy codebases, there are things you can do to feel good about your work.

August 22, 2016

As a modern PHP developer, I'm quite enamoured with Composer and Packagist, and the practice of using prepackaged libraries (otherwise known as external dependencies) to get stuff done faster. This also helps on my hobby projects, where I'm basically on my own and need all the workload optimizations I can find.

However, using dependencies can burn you.

There are many ways this can happen, so let's explore a few and then look at some potential solutions to prevent dependency disasters.

July 26, 2016

Naming things is hard. It's often called one of the two hardest problems in Computer Science, because it can be difficult to find a name for something (a variable, a function, or even a full project) that concisely conveys the meaning of the thing while not being ambiguous or open to misinterpretation.

In fact, when it comes to projects and products, a good name is critical: if the name is yawn-worthy, the product could be doomed from the start.