Michael is a fixer, working mainly with PHP/NodeJS/MySQL and doing bits of server administration on the side, he goes where things need working on. Currently, he's a member of the platform team at Datasift, working as part of a team that processes and augments various incoming data sources (including the Twitter firehose) before redistributing it to customers.
PM - Friday 3rd October
"It works on my box". "I don't have a day to help Dave set up his new PC". "I swear I had the same version installed!" Sound familiar? It was for me too before I started using Vagrant and Ansible. Vagrant is a tool for automating the creation of virtual machines. Of course, that's only half of the battle - once you have a machine you need to configure it. That's where Ansible comes in. Ansible is a powerful automation tool (think Puppet or Chef, but with a *much* lower learning curve), allowing you to install software and configure things as you need in a reproducible way. By the end of this tutorial, everyone will have created a Vagrant box that installs PHP, Apache2 and configured an example website.
09:55 - 10:40 Sunday 5th October
Over the last few years, the PHP ecosystem's really kicked it up a gear when it comes to good application design, unit testing and dependency management. Unfortunately, some of us are still stuck working with code that's 5 years old and has never heard of dependency injection. How can we use all these wonderful new tricks when our existing codebase is so bad?
There are ways to do it. Some of them aren't pretty, and some of them feel plain wrong, but they mean that your code is at least a little bit more stable than they were before you started. Over the last 12 months I've been on a mission to improve a legacy code base. This includes eradicating singletons and reducing the dependencies of our unit tests (no need to connect to a DB any more!). Let me help you do the same for your code base too.