From The Blog

Live Demo: Risks and Rewards

I'm not a huge fan of the live demo in conference talks - it's really hard to do well so I see a very large number of bad ones. Also, it's super hard work to include them in my own talks in a meaningful way because they are so difficult to pull off. I could write a very long list of reasons not to ever live demo (nobody wants to watch you type, now you are talking to your laptop, conference wifi rarely works, you could tell me three much more useful things in the time you've spent doing this ...) but in truth as developers we love the "new shiny" and it can be super helpful to get an actual walkthrough of how to do a particular thing. So if you absolutely must live demo, here's my own general plan and tactics: Continue reading

Connecting PHP to MySQL on Bluemix

Most of the PHP I write runs on Bluemix - it's IBM self-service cloud, and since I work there, they pay for my accounts :) There are a bunch of databases you can use there, mostly open source offerings, and of course with PHP I like to use MySQL. Someone asked me for my connection code since it's a bit tricky to grab the credentials that you need, so here it is. Continue reading

Removing Object Properties Before Var_Dumping Them

I'm working on a project at the moment (a PHP library for CouchDB, if you must know) that is designed to make HTTP calls and therefore holds a Guzzle HTTPClient object as an object property. This is great except when I need to debug something and the output of my call to var_dump() is several screens high ... Continue reading


Talks, Articles, Podcasts, and More

Slides

The Future of Functions


CodeMotion Milan, November 2017
Slides

Becoming Polyglot


CodeMotion Milan, November 2017
Slides

PostgreSQL: Beyond The Basics


PyCon UK, October 2017
Slides

Fun with Serverless Python


PyCon UK, October 2017
Slides

Fun With Serverless JavaScript


International JavaScript Conference, October 2017
Slides

Queues With RabbitMQ


International PHP Conference, October 2017