A JavaScript API retry pattern

A pattern to automatically retry API requests when the quota limit is reached.
Read more →

Blog Upgrade

Switched from hexo to hugo installed via homebrew.
Read more →

Docker Image for wasm-pack

To use rust and webassembly requires installing a fair amount of tooling.
Read more →

Puppeteer working on Windows

Read more →

XSS and CSRF attacks

Descriptions and preventions for two common attack mechanisms for web applications.
Read more →

Updating the Blog Part Two

Part one of updating this blog was to move from a Ruby based static generator to a Node.
Read more →

Lesser Known Features of the Chrome DevTools

Here is a selection of Chrome DevTools features / productivity tips.
Read more →

Updating the Blog

First update to the blog since I published the first post three and a half years ago.
Read more →

UI Pull Requests

Working as a contractor last year I found that I would be working with pull requests related to UI changes that sometimes were not the most helpful in quickly understanding where in the application these changes impacted.
Read more →

A Year with React

In 2015 I spent the majority of my time working on React-based projects.
Read more →

Experiences with CSS Modules

Read more →

Running Selenium with JavaScript Disabled

Read more →

Communication between React Components with Signals

Read more →

End-to-end browser testing with docker

Read more →

Getting webpack-dev-server running with boot2docker

Read more →

JavaScript Development with Docker and Make

Read more →

Handling modifiers in CSS

Most CSS methodologies have a mechanism for handling modifiers to a module/component.
Read more →

SSL errors with Elixir on Ubuntu

The Elixir language website has instructions on how to install Elixir on Ubuntu, however following those steps may lead to future errors when trying to install some Erlang libraries.
Read more →

An Opening and Closing Ordered List in CSS

Earlier this year I was asked if it was possible to replicate an ordered list that could be opened and closed that worked down to IE8…
Read more →

Vagrant synced folder not updating

Vagrant has a problem with synced folders when using the VirtualBox provider (actually it is a VirtualBox problem).
Read more →

Setting up a Local Development Environment with Vagrant and Puppet

Read more →

CSS Animations in Chrome with ‘Experimental Web Platform’ enabled

Read more →

Adding ‘similar products’ tracking to Google Analytics E-commerce

Sometimes you may want to store additional information in Google Analytics for E-commerce transactions.
Read more →

Changing a Github User pages site with a custom URL to a project site

Read more →

Loading jQuery in .noConflict() mode with RequireJS

Read more →

What I have learned building products for the European market

For the past three years, I have worked for a European division of a global FTSE listed company.
Read more →

Calculating and Communicating the height of an iframe

Read more →

Full Page Background Image on Chrome for Android

Read more →

Conditionally loading jQuery 2.x

Read more →