02 Oct, 2017 1 min read Server

Quick & easy server-side image compression

We've all been there, the client is uploading images that are unnecessarily big or haven't been compressed - you run the website through a tool such as Google Page Speed to be told your images are too heavy and could be compressed. Well, there's an easy solution to this problem...

07 Sep, 2017 3 min read Server

Blocking Tor exit nodes from your website

I was recently working on a little project that essentially was nothing more than a little data collection form, completely open to the web and therefore open to abuse. Within a matter of minutes after publishing it I was hit by the first wave of abuse... Simple, I thought -...

02 Apr, 2015 2 min read CakePHP

Quick Tip: CakePHP3 - Custom Configuration Files

Another in the CakePHP3 quick tip series - this time I'm going to explain how you can go about creating your own configuration files - useful when building an app such as a CMS. Before I jump in to the technical side of it, let's discuss a bit of theory...

29 Mar, 2015 2 min read CakePHP

Quick Tip: CakePHP3 - Custom Pagination Structure

Another CakePHP3 quick tip today, this time I'll explain how you can tweak the structure for the pagination helper. This is especially helpful for people using front-end frameworks such as Bootstrap that require a certain markup structure for pagination. This is a surprisingly easy thing to do in the new...

25 Mar, 2015 1 min read CakePHP

Quick Tip: CakePHP3 - Created / Modified columns

Here's the first in a mini-series dedicated to CakePHP3. Remember in CakePHP 2 how we had the handy "created" and "modified" columns on a table, which were automatically populated when a record was created/updated? Not sure how to accomplish this in the latest and greatest version of Cake, CakePHP3? Today's...

21 Aug, 2014 6 min read Industry

Automated testing with NodeJS and Mocha

I'm sure most of the people reading this blog have heard of the term "automated testing" before. Automated testing is exactly what it says on the tin, it's a way to test your websites and web applications rigorously and consistently, testing routines can even be built in to your deployment...