Quitting Facebook is easy. Here's how.

Facebook is awful.

  1. It chews up a vast amount of your time.
  2. It’s watching you on every website you visit, all the time. It’s basically a massive surveillance operation. How does this work? In short, using those innocent looking...
Read More

Blankz - a Mad-Libs™ like game that you can play online

For my newest side-project I wanted to use Google App engine. I find PaaS systems to be very alluring for two reasons. Firstly, the fact that (in theory) the system requires zero maintenance or system administration. Secondly, they scale seamlessly....

Read More

Getting hit by an app store penalty

I recently experienced what I can only assume is a penalty on the Google Play app store. One of my apps has around 250 downloads per day. These are purely organic installs and I have not run any campaigns...

Read More

Creating an online scoreboard with Python Flask.

I recently wanted to learn something new and decided to make a webapp using Python Flask. Webapps are often under-appreciated next to their native cousins, especially when some kind of user collaboration is required. Not only are webapps an order...

Read More

Replacing Launchrock with Flask

'Lovely landing page'

I’ve being playing around with Python Flask recently and my first project is a self-hosted replacement for Launchrock. All it does is throw up a landing page and a signup form. Get the...

Read More

Z-shell in Ubuntu 16.04

'Beautiful Z-Shell'

All the cool kids are using z-shell instead of bash these days. I won’t go into details here, other than saying:

  • zsh has much better tab completion behavior than bash
  • it makes working...
Read More

A tool to present user stories

The legendary computer scientist Donald E. Knuth was in the middle of writing a series of books, when he realised that the typesetting systems of the day weren’t to his satisfaction. So he did what any tinkerer in his...

Read More

Ubuntu development has stagnated

Last year I ranted about the state of Ubuntu and claimed that it had a general smell of decay and abandonment. This time I decided to try and find some concrete evidence to back up my claim and wondered...

Read More

How to test if your adblocker is working

So you’ve installed an adblocker (or a “content” blocker if you’re on iOS). But how do your actually know that it works?

I created a very simple page that will test your adblocker: Adblock detector. The code is available...

Read More

Android In App Billing Howto

Here’s how I implemented in App Billing in my app(s).

My goal was to implement a donate feature for my wallpaper apps so I set about reading the documentation on the Google developer pages.

Events took a familiar...

Read More

Using Python to find domains; finding out if a domain is registered

I made a Python script to create domain names and then check if they are free. It uses a python whois module.

Here’s what you need to do.

1. Checkout the code

This bit is quite easy

Read More

Hello World

This is my first post with Github Pages and Jekyll and I’m just futzing around.

I will import some earlier posts from another blog, so it will look like this isn’t the first, but it is, believe me.

Here’s an...

Read More

Chromedriver error on Ubuntu

I was seeing the following error when running Chromedriver on Ubuntu

/usr/lib/chromium-browser/chromedriver: error while loading shared libraries: libgfx.so: cannot open shared object file: No such file or directory 

This can be simply fixed by placing the...

Read More

How to take daily automatic screenshots in Ubuntu / Linux using the command line

For some reason you may want to automatically take screenshots every day. Maybe you want to spy on someone, maybe you want to keep a visual diary of what you’re doing on your computer, maybe you just really really love...

Read More

Leverage browser caching in Google App Engine

I’m working on a project that allows friends to work out who owes cash to whom after a joint event: it’s called Kittysplit and is built in Java / Google App Engine.

Running the site through Google’s wonderful page...

Read More