Wordpress to Hugo

August 2, 2017

How we migrated a Wordpress blog to a Hugo generated website (and hosted it on GitHub Pages for free), without too much fuss. Part 1: Export from Wordpress to Hugo format: Being on the free tier of Wordpress, it was not possible to run any of the excellent looking tools that hugo recommends. So instead we opted to use the wp2hugo.go tool to process the downloaded export file from Wordpress into markdown files, as explained here. ... Read more

Hugo website hosted on GitHub Pages

August 2, 2017

How we created a static website using Hugo and hosted it on GitHub Pages, for free. With Hugo + GitHub Pages you get: Static website generator. Auto-deploy on checkin. Free hosting. Custom domain (not secured with SSL/TLS encryption). With GitHub Pages your URL options are: Encrypted sub domain of GitHub Pages, for example: https://mygitname.github.io/mywebsite. Unencrypted custom domain, for example: http://mycustomdomain. If you want to use a custom domain and SSL/TSL encryption, consider using GitLab instead: see blog post Hugo website hosted on GitLab Pages. ... Read more

VMware Workstation

May 27, 2017

A short note on VMware Workstation. VMware Workstation is a great tool. But accepting an upgrade can run into problems. If after installing an upgrade, when you try to start a VM you may see this popup message: Error while powering on: Internal Error If you are running VMware from Windows: Confirm that “VMware Authorization Service” service is running ( i.e ‘Started’ ) Check if VMware Player shows up in the list of installed programs The 2nd problem means the update process didn’t properly register the program. ... Read more

Rails 5 Progressive Web App - part 2

December 17, 2016


Inspired by some evangelical Progressive Web App (PWA) posts, we wanted to see what PWA goodness we could bring to our Rails 5, Turbolinks 5, Websocket-using web project. So this post is about what steps we have taken thus far. In Part 1, we added service workers and achieved the “Installable”, “Discoverable” and “App-like” and “Connectivity-independent” improvements. Now in Part 2 we look at achieving “Re-engageable”: User re-engagement with displayed push notifications via service workers, even when a tab is not open. ... Read more

Rails 5 Progressive Web App

December 13, 2016


Inspired by some evangelical Progressive Web App (PWA) posts, we wanted to see what PWA goodness we could bring to our Rails 5, Turbolinks 5, Websocket-using web project. So this post is about what steps we have taken thus far. We are coming at this from a web-first approach, we are following the Basecamp route into mobile with turbolinks-android. Our mobile development effort has mostly gone thus far into product re-design: stripping back and simplifying views to optomise for the more intimate phone format. ... Read more

Upgrading d3 from v3 to v4

July 31, 2016

We recently upgraded to d3js v4.1.0. Here is what we did to fix the breaking changes: After the upgrade our data visualizations stopped being generated, and on a closer look we were getting this js error in Chrome: Uncaught TypeError: Cannot read property 'format' of undefined It turns out d3js v4.1.0 is a major rewrite with several breaking changes, so be prepared to spend half a day looking at it. ... Read more

Ubuntu running low on disk space

June 11, 2016

Warnings have been popping up with increasing frequency that the disk space is running low on Ubuntu running on VMware Workstation 12 Player. Even creating a backup failed due to lack of space in the Temp folder. It’s time to do some clean up. Run Disk Usage Analyser to  identify where the problems are: usr/src folder - 2.4 GB, contained folders like linux-headers-3.13.0-32 that go back years. home/. ... Read more

Action Cable: components checklist

January 27, 2016

Here are the minimum code changes required to provide websocket capability in a Rails 5.0.0 app. This is based on a minimal alert app. Disclaimer: Of course this is all rapidly changing in Rails. This was correct for rails master branch at the time of writing this post. Prerequisites: gemfile: add em-hiredis, redis, and make sure you have puma 2.15.3 or greater ... gem 'rails', '>= 5.0.0.beta1.1' gem 'em-hiredis' gem 'redis' gem 'puma', '>= 2. ... Read more

Rails 5 tutorial chat app - can we deploy it to AWS?

December 30, 2015

The simple chat example that DHH built in his recent screencast using ActionCable in Rails 5, is available on GitHub here: https://github.com/HectorPerez/chat-in-rails5. But can we get this working on an Elastic Beanstalk single instance - with no load balancer ? => Initially yes, then no, then yes! On a development pc: Action Cable works with redis so to run the chat app you will need to install redis on your local machine: ... Read more

Upgrading to Rails 5.0.0.beta1

December 21, 2015

What we did to upgrade a small Rails app from Rails 4.2.5 to Rails 5.0.0.beta1. Now the upgrade is deployed in AWS, here is where we are at: When deploying, remember to change the secret key base to invalidate all sessions. ( or your users will get a nasty 500 error ) Temporarily removed NewRelic from the gemfile – it doesn’t currently support Rails 5.0.0.beta1. (UPDATE: as of 11 Feb NewRelic supports Rails 5. ... Read more

© 2018 Keith P | Follow on Twitter | Git