Automating acceptance tests with Behat
Behat is the official PHP implementation of Cucumber, an open source tool used to drive Behaviour Driven Development (BDD). It encourages collaboration between developers, testers and stakeholders, by promoting writing concrete examples of how software should behave. These documents then become both the specification and the tests for the application.
Thinking outside of the box
A couple of years ago I gave a presentation about the ‘new kid on the block’ when it comes to web design layouts - flexbox. The principles within remain valid, and useful, when understanding how flexbox works, and why it is useful to know about it. Flexbox now has extremely good browser compatibility, and is starting to gain traction with major front-end frameworks such as Bootstrap and Foundation. My presentation is now available online, and the code itself is available on github.
Automating code review with PHPSpec and Code Climate
With Continuous Integration (CI) practices becoming more widely adopted, and the number of tools to support them becoming more widespread and available, verifying and analysing check-ins is an important tool in any developers belt. In this post I’m going to briefly outline how to get started with a basic PHPSpec + CI setup, using tools that are all free for a publicly hosted github repository. The code used in all of the following examples is hosted as a project over on github.
SSL with Let’s Encrypt, Dokku, and WordPress
These days more and more web traffic is switching to HTTPS. What was once used only for ‘secure’ websites where a user would input sensitive data has become more widespread. As well as protecting user data from man-in-the-middle attacks, it has started gaining recognition and therefore trust from users as online security information grows. Crucially, Google use it as a ranking signal, and as a result we see a lot more website switching to HTTPS by default. Historically switching to HTTPS has historically been a costly process - in time, money, and sanity - but as demand has grown, so too have free solutions.
Deploying WordPress with Dokku
I’ve briefly mentioned Dokku before. Without going into too much detail, Dokku is a platform (built on Docker, and based on Heroku), that allows users to develop and deploy web applications without the normal infrastructure management associated with doing so. This simplicity is something I’d like for managing my WordPress blog. Deploying a dokku app can be as simple as pushing an application via Git to your server, and apps can be written in a multitude of languages: PHP, Ruby, Python, and NodeJs are just a few popular examples. My host, DigitalOcean, offer a prebuilt Dokku image on Ubuntu 14.04 so little configuration is necessary on the server side of things.
Fighting spam with Akismet
Over the last few weeks it appears some nefarious individuals have located my website and added me to their database of people to inundate with emails about suspicious sounding pills. Now that my medicine cabinet is fully stocked, I decided it was time to put a stop to further spam clogging up my inbox. Wordpress comes packaged with the Akismet plugin which is set up to check comment submissions, however I want it to also check any messages sent via my own contact form, so a little more digging is required.