Blog

Most of my blog posts dating back to 2002. Some written here, some written elsewhere and aggregated here.
Teaching Children to Code

Teaching Children to Code

09/03/2017
Two experiences in my life have shaped the way I try to talk about technology. One was over ten years ago when I taught a room full of retirees, long-term unemployed, and recent immigrants basic computer skills. I realized that I could throw many of the subjects I had studied out of the window and that the best way to teach people was to give them a reason to learn. Fast forward to last year (and a subject I wrote previously on SitePoint) when I taught programming to a group of recent Syrian refugees. Again, I had to throw away much of my own learning and preconceptions and think afresh.
Mobile World Congress 2017

Mobile World Congress 2017

02/03/2017
2016 was quite a year for technology and its impact on the world. Subconsciously or not, nestled amongst the booths of generic Chinese handsets and app marketing companies were many projects and people at MWC that sought to accomplish something more meaningful. Here are some of the themes and concepts I feel will shape 2017 and 2018.
Preventing SQL injections in Python (and other vulnerabilities)

Preventing SQL injections in Python (and other vulnerabilities)

28/02/2017
Python is a wonderful language, ideal for beginners, and easy to scale up from starter projects to complex applications for data processing and serving dynamic web pages. As you increase complexity in your applications, it can be easy to inadvertently introduce potential problems and vulnerabilities. In this article, I will highlight the easiest to miss that can cause the biggest problems, how to avoid them and tools and services that help you save time doing so.
Automating Screenshots in Documentation

Automating Screenshots in Documentation

31/01/2017
Drawing my short series to a close (we’ve talked about testing code examples in documentation and automating spelling and grammar checks in documentation), let’s cover one of the hardest elements of documentation to create and keep up to publishDate: screenshots.
Java-Free Android

Java-Free Android

17/01/2017
Android finds itself in interesting times. Google has begun creating it’s own ‘premium’ versions of the operating system (OS), Cyanogen have ceased development, and many feel that Android will change name or shape in the near future.
Build Native Apps in the Browser with Configure.IT

Build Native Apps in the Browser with Configure.IT

17/01/2017
Creating a modern and feature-rich mobile app has never been a simple task, but is now more complex than ever. There are a plethora of platforms, programming languages and strategies to consider, and knowing where to start and what path to follow involves understanding and appreciating a lot of interconnected components.
2016 in review

2016 in review

29/12/2016
2016 has been an eventful year in many, many ways. I don't want to dwell on big global topics in this post, but review what I got up to.
Testing Code Examples in Documentation

Testing Code Examples in Documentation

21/12/2016
In my last post, I covered how to improve the written component of your documentation with automated spell-checking and suggestions for better writing. In this post, I’ll cover the code component of good documentation; trying an example and finding it doesn’t work is a sure-fire way to annoy a reader.
Web Summit 2016 - IoT, Learning, Chatbots, Biohacking & More

Web Summit 2016 - IoT, Learning, Chatbots, Biohacking & More

16/11/2016
53,056 people from 166 countries descended on Lisbon for this year’s Web Summit. I’m not sure if this makes it the world’s largest startup event, but it’s damn big. I have attended startup events around the world and have often found them obsessed with nothing but raising money. Whilst the topic was in abundance at Web Summit, it also had enough of something for everyone, with discussions on technology, design, ethics, futurism, and more. If you’re not interested in discussion, but would rather just network and party, you will also have a full schedule.
Live Blogging Hello Again from Apple

Live Blogging Hello Again from Apple

27/10/2016
I'm sat at an Apple event in Berlin and there's not many people here, which says something about what people feel about Macs vs iPhones, or something. In a week when IBM became one of Apple's biggest clients and Microsoft announced more interesting products. It feels like there is growing disappointment and boredom in what Apple is offering.
A documentation crash course for developers

A documentation crash course for developers

11/10/2016
When you've spent a lot of time working on the latest great project, library, service or platform you generally would like people to use it. Whether people find out about you from a presentation, the media, internet search or word of mouth, what's the first aspect of your project that people usually encounter?
Developing Add-ons for Enterprise Apps like JIRA

Developing Add-ons for Enterprise Apps like JIRA

07/10/2016
Since 2008, many developers have focused on building, distributing and selling (or hoping to sell) their efforts in two curated, walled garden stores. The Apple App store and Google Play (and related) stores have helped developers find audiences of billions around the world. It hasn’t all been smooth sailing. Some say the “app store” model has forced a race to the bottom, with prices and developer revenue share reduced, despite such large audiences.
An Introduction to CoreOS

An Introduction to CoreOS

22/09/2016
If you’re reading this blog, then you have a rough idea of what containers are and why you want to use them. Docker has made it easy to experiment with containers, and is slowly making it easier to deploy and manage them in production environments. However, there are a still a lot of gaps in what Docker offers (for free), and others have stepped up to fill them.
From the UK Games Expo to Essen

From the UK Games Expo to Essen

16/09/2016
It's been a while since my last update pertaining to the Chip Shop board game. After realising that board games isn't that lucrative of a business, it slipped down my priority list somewhat. I also had a lot of feedback from the UK Games Expo (thanks to Carrie and Tyler for running the booth for me) to process and that took time...
Exploring the Evive - A Book-Sized IoT Device

Exploring the Evive - A Book-Sized IoT Device

12/09/2016
The evive aims to reduce the complex tangles of sensors, circuit boards and cables you have covering your workbench. It's a compact, all-in-one small book-sized device capable of reading and outputting a variety of sensor and trigger data. Built in includes power sensors, multiple motor channels, voltmeter probes, and two analog to digital converters. If that's not enough for you, at the heart of the evive is an Arduino Mega offering large expansion possibilities with a mini breadboard, communication module (Wi-Fi, Bluetooth and XBee), IC, SPI and Serial pins.
Making Atom (even more) awesome — My Setup

Making Atom (even more) awesome — My Setup

31/08/2016
I spent a long time researching, trying and tweaking text editors. As a cross-platform developer and technical writer (mostly writer these days) I work with different programming languages, document formats and want an editor with particular features, but that is also easy on the eye. Ideally I wanted all the functionality I was looking for in one application, not split between 5.