Switching to my own static site generator
As you may have seen if you’re visiting the site, I’ve finally switched over from Octopress to the static site generator I’ve been working on for the last few months. Apologies if you’re seeing lots of...
View ArticleExtending our Node.js and Redis chat server
In this tutorial, we’re going to extend the chat system we built in the first tutorial to include the following functionality: Persisting the data Prompting users to sign in and storing their details...
View ArticleSyntax highlighting in fenced code blocks in Vim
Just thought I’d share a little trick I picked up recently. As you may know, GitHub flavoured Markdown (which I use for this blog) supports fenced code blocks, allowing you to specify a language for a...
View ArticleAdding a new search engine to my site
I’ve just finished implementing a new search engine for this site. Obviously, with it using a static site generator, searching a relational database isn’t an option. For a long while I’d just been...
View ArticleHow I added search to my site with Lunr.js
As I mentioned a while back, I recently switched the search on my site from Google’s site-specific search to Lunr.js. Since my site is built with a static site generator, I can’t implement search using...
View ArticleMy static site generator post on Sitepoint
I wrote an article for Sitepoint recently about creating a static site generator as a Grunt plugin, similar to the one for this site. You can find it here.
View ArticleSetting ETags in Laravel 5
Although I’d prefer to use Python or Node.js, there are some times when circumstances dictate that I need to use PHP for a project at work. In the past, I used CodeIgniter, but that was through nothing...
View ArticleGetting django-behave and Celery to work together
I ran into a small issue today. I’m working on a Django app which uses Celery to handle certain tasks that don’t need to return a response within the context of the HTTP request. I also wanted to use...
View ArticleHandling images as base64 strings with Django REST Framework
I’m currently working on a Phonegap app that involves taking pictures and uploading them via a REST API. I’ve done this before, and I found at that time that the best way to do so was to fetch the...
View ArticleNew laptop
For a while now it’s been obvious that I needed a new laptop. My main workhorse for a while has been a 2008 MacBook, but I’m not really a fan of Mac OS X and it was stuck on Snow Leopard, so it was...
View ArticleExploring the HStoreField in Django 1.8
One of the most interesting additions in Django 1.8 is the new Postgres-specific fields. I started using PostgreSQL in preference to MySQL for Django apps last year, and so I was interested in the...
View ArticleTesting Django views in isolation
One thing you may hear said often about test-driven development is that as far as possible, you should test everything in isolation. However, it’s not always immediately clear how you actually go about...
View ArticleWhen you should not use Wordpress
I must admit, I’ve had a rather bad experience with WordPress recently. The site in question was an e-commerce site, built with WordPress and WooCommerce. In development, we originally put the site on...
View ArticleA quick and easy Varnish primer
As I mentioned in an earlier post, I recently had the occasion to use Varnish to improve the performance of a website that otherwise would have been unreliable and unusably slow due to WordPress making...
View ArticleBuilding a real-time Twitter stream with Node.js, React.js and Redis
In the last year or so, React.js has taken the world of web development by storm. A major reason for this is that it makes it possible to build isomorphic web applications - web apps where the same...
View ArticleLearning more about React.js and Flux
Udemy have very kindly provided some vouchers for free access to their course, “Build Web Apps with ReactJS and Flux” for me to give away to subscribers. To redeem them, follow the link above and use...
View ArticleMocking external APIs in Python
It’s quite common to have to integrate an external API into your web app for some of your functionality. However, it’s a really bad idea to have requests be sent to the remote API when running your...
View ArticleMy experience using PHP 7 in production
In the last couple of weeks I’ve been working on a PHP web app. Nothing unusual there, except this was the first time we’d used PHP 7 in production. We discussed the possibility a while back, and...
View ArticleBuilding a location aware web app with GeoDjango
PostgreSQL has excellent support for geographical data thanks to the PostGIS extension, and Django allows you to take full advantage of it thanks to GeoDjango. In this tutorial, I’ll show you how to...
View ArticleWriting faster Laravel tests
Nowadays, Laravel tends to be my go-to PHP framework, to the point that we use it as our default framework at work. A big part of this is that Laravel is relatively easy to test, making practicing TDD...
View Article