Blog

Most of my blog posts dating back to 2002. Some written here, some written elsewhere and aggregated here.
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.
Building Your First Blockchain App with Eris

Building Your First Blockchain App with Eris

29/08/2016
A few months ago I was at the Berlin Blockchain awards, and it appears that 'blockchain' is the new buzzword that startups and tech-folk like to throw into everything, without completely understanding the concepts behind it. Whether you believe that blockchain is just a new buzzword for the industry or a truly revolutionary technology, developers are often uncertain of how they can use the blockchain concept in their applications. Eris Industries' solution might make this a bit easier.
A Beginner’s Guide to the Dockerfile

A Beginner’s Guide to the Dockerfile

24/08/2016
The humble but powerful Dockerfile is the building block of Docker images and containers. In essence, it’s a list of commands the Docker engine runs to assemble the image, and thus instances of images as containers.
Medium Exporter for Atom

Medium Exporter for Atom

24/08/2016
I love Markdown and I love editing Markdown in Atom. But I also love the exposure that Medium offers, and whilst I admit it has a great editor, I like to be able to write offline and I like having a central repository (i.e. Git) of my work for collaboration, consolidation and other purposes.