Recent Activity

Debugging Effectively

ConFoo Montreal 2019

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! Fatigue and wasted time can be avoided with strategies and techniques to break through those mental barriers. Attendees will learn how to combine these techniques with the right mindset and attitude in order to debug their code quickly and effectively

Releasing High-Quality PHP Packages

ConFoo Montreal 2019

Releasing open-source libraries is more than sharing your Github URL with the world. There are many considerations and steps involved especially for successful and long-lived projects.

In this talk we’ll cover the principles behind creating, releasing and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions and more.

Automating Deployments with Deployer

php[world] 2018

Have you ever botched a deployment and taken a site offline? I have—more times then I’d like to admit. What if we could completely automate the deployment process, make it lightning fast, remove most of the risk, and do it all without custom bash scripts? Better yet, what if we could use the same deployment process locally or trigger it via CI?

After using phpbrew to manage my local PHP versions for a while, I got tired of re-compiling PHP after every release and decided to install multiple PHP versions side-by-side with Ondřej Surý's PPA. One of the features I missed from phpbrew was the ability to run a command like phpbrew use php-7.2.8 to automatically change the php command to that version, so I ended up implementing this feature myself using symlinks and shell aliases.