Some of my many fascinating writings, mainly on web and app development.

Creating a chord diagram generator

02 March 2023 Rust

I recently made - a web app using Rust which lets you create guitar chord diagrams. The source is on Github here. This…

Static file paths with Actix

19 February 2023 Rust

There’s a couple of options I’ve come across when I need a path to a directory with Actix, usually for static files like Javascript or CSS…

Use prebuilt rooms with Rust macros for more interesting procedural dungeons

21 September 2019 Rust

Use pre-designed rooms to generate more interesting dungeons.

Fixing an Adsense 'Valuable inventory No content' error

23 April 2019 Web

How to fix Adsense's mysterious error

Moving to Gatsby (and Rust)

08 April 2019 Web

Porting my site from Django to a static site with Rust for dynamic bits

Enable class properties in Gatsby

04 April 2019 Javascript

Get fun things like arrow functions in classes.

Creating authentication middleware for Actix API

10 December 2018 Rust

Add an authentication middleware layer to Actix so routes can be automatically protected

Integrate Squidex with Gatsby, and join Graphql queries with foreign keys

22 November 2018 Javascript

How we linked separate schemas together in Gatsby

Procedural level generation using Binary Space Partitioning in Rust

26 July 2018 Rust

Place rooms around a level using binary space partitions. Part 3.

Drawing tilemaps with Rust and Cairo

13 July 2018 Rust

Draw the procedurally-generated map. Part 2.

Procedural level generation with Rust

04 July 2018 Rust

Create a randomised dungeon-crawler map. Part 1.

Introducing Rust to our development workflow

03 May 2018 Rust

Creating a Webpack plugin with Rust.

Made With React Native interview

09 January 2018 React

Fun times with React Native.

Mock ES6 imports and dependencies for testing in Jest

18 October 2017 Javascript

Mocking ES6 imports is really useful for being able to test modules.

Set up proxy on Android devices and Emulators

06 September 2017 Android

Configure Android devices to connect to your local machine to test sites or apps.

Open iOS simulator to test a website

28 July 2017 Tools

Access Docker sites from IE virtual machines

12 July 2017 Web

Debug React Native Android code

16 June 2017 Android

Link Android Studio to your React Native app.

Using async and await with React and Redux

07 June 2017 React

Vanilla JS equivalent of common jQuery functions

07 June 2017 Javascript

Props, parents, classes and append equivalents.

Progressive web-app with Webpack and React

06 June 2017 Web

React context require contextType

25 May 2017 React

52 project ideas to learn a new programming language

18 May 2017 Projects

Rust snippet - import crate in module

27 April 2017 Rust

Making Get On With It, a Pomodoro and Tabata timer

30 March 2017 React

A React-based productivity app.

Proxy API calls for local development

07 March 2017 Javascript

Writing a basic JSON response web server in Rust using Iron

24 October 2016 Rust

Making the random number picker site

12 October 2016 Projects

Detect clicks outside an element with React components

30 September 2016 React

Using Adsense with React

28 September 2016 React

Read headers in Javascript from a CORS request

28 September 2016 Javascript

add_header ‘Access-Control-Expose-Headers’ ‘content-disposition’

Devlog - Design Decisions

03 August 2016 Games


28 July 2016 Projects

Create a text version of an image in your browser.

Improving React performance by optimising components

11 July 2016 React

Getting to the bottom of a Rust bug

10 June 2016 Rust

Upgrading a static site to use HTTP/2

11 May 2016 Web

Mocking ES6 imports for tests

06 May 2016 Javascript

Logging client Javascript errors

29 April 2016 Javascript

Creating React components with ES6 classes

20 April 2016 Javascript

React Inline Styles

06 April 2016 Javascript

Devlog - Shaders, sound and standalone

08 March 2016 Games

Devlog - Powerups, particles, pictures

21 February 2016 Games

Scale Phaser 2 games to fit screen

11 February 2016 Games

RGB to Hex colour converter

10 February 2016 Projects

Translate colour formats.

Squash git commits using rebase

04 February 2016 Web

Change address bar colour in Chrome on Android

03 February 2016 Web

Colours in Chrome.

Building a runner game with Phaser.js

02 July 2015 Games

Finding placeholder styles using the Shadow DOM

06 May 2015 Web

Lazy load Youtube videos

28 February 2015 Javascript

Deploying Express NodeJS app to Webfaction using Git

12 February 2015 Javascript

Use source control to ensure your deployed files are correct.

Pairs game released!

27 January 2015 Games

Changing pages with bookmarklets

18 November 2014 Javascript

Run arbitrary code in your browser.

Vanilla Javascript alternative to jQuery's $(document).ready()

06 October 2014 Javascript

This example binds a click on all links, prevents the link from visiting the page and logs the destination to the console. The $(document…

Using virtual machines to test sites in Internet Explorer

10 September 2014 Web

Add, remove or toggle classes with vanilla Javascript

27 August 2014 Javascript

You may not need jQuery.

Totally awesome Sass tips

07 August 2014 CSS

Compiles to:

Creating a Yeoman Generator

04 August 2014 Javascript

Setting up SSL

03 August 2014 Web

Building the Pollen Count site - a Node.js walkthrough

02 July 2014 Projects

Are you going to sneeze all day?

Check Yourself released!

19 June 2014 Android

Get blood sugar reminders after meals.

Make an accordion using CSS animations

01 May 2014 CSS

Slidey CSS.

Virtualbox Add shared folder from Windows host in Linux guest

04 April 2014 Tools

View Sass line numbers in Chrome Dev Tools

31 March 2014 CSS

Before: After:

Procedural tilemap generator

25 March 2014 Games

Using cellular automata to create a procedurally-generated tilemap.

Animate link underlines

25 March 2014 CSS

Animate all the things, all the time.

Glow highlight using CSS

20 March 2014 CSS

Built-in servers

18 March 2014 Tools

Using unicode characters in CSS before and after

18 March 2014 CSS


1GAM Javascript Particle System

03 March 2014 Javascript

Make circular images using CSS

25 February 2014 CSS

Round round baby right round.

Remote debugging Chrome on Android and iOS Safari

14 February 2014 Tools

Remove cookies from a site with Chrome

17 January 2014 Tools

Responsive Design - Three case studies

14 August 2013 Web

Debug Javascript on Android

01 August 2013 Android

Chrome debug tools can connect to Android web views.

Help! My Twitter feed isn't working!

18 June 2013 Web

Repeating commands in the terminal

15 May 2013 Tools

6 Tips for Chrome's Web Tools

11 March 2013 Tools

1GAM February - Copycat

05 March 2013 Games

Creating a 'Simon'-like game in a month.

Use Drupal's base URL in Javascript

26 February 2013 Drupal

1GAM January - Pew Pew

04 February 2013 Games

Use Drupal's alias URLs

09 January 2013 Drupal

Enable dropdown styles in CKEditor

21 November 2012 Drupal

Compile one Sass file with Compass

06 November 2012 CSS

Find your Ruby config file.

Convert public:// url to a relative path in Drupal

25 October 2012 Drupal


Useful Javascript Books

25 July 2012 Javascript

Parsing RSS feeds with jQuery

24 July 2012 jQuery

Sublime Text 2

18 June 2012 Tools

This expands to:

Sort Your Life Out released!

25 May 2012 Android

A lovely simple to-do app.

Android - Reduce lag when updating lists

19 May 2012 Android

Speed up scrolling.

Android - allow apps on SD cards

05 December 2011 Android

Update your manifest.

Open links in new tab

25 November 2011 jQuery

Android naming conventions

05 November 2011 Android

Reverse domain names.

Load external scripts with $.getScript()

26 September 2011 jQuery

Sliding elements with jQuery

05 June 2011 jQuery

The basic effect is controlled by animating the width of the element; in jQuery this would look like:

Add snippets to Zen Coding in Notepad++

04 May 2011 Tools

Zen coding can help you write code faster.

Display Flickr photos in Galleria plugin

20 March 2011 jQuery

(using Google’s CDN of jQuery and the bundled Galleria theme)

Android - stretch to fill screen

06 March 2011 Android