-
Hi, Shopify
After 10 years contracting, I've taken a full-time permanent role with Shopify. Here, I explain why.
-
Evolution over revolution
Evolution over revolution is a concept that I've recently embraced. The premise is simple: instead of changing a lot (revolution), change a little (evolution).
-
Thoughts on Expo
After using Expo for the latter part of 2023, my impression of the project has changed for the better.
-
Date-based URLs with Astro
Astro does not provide an out-of-the-box configuration for a date-based URL hierarchy, but with a few small tweaks, this can be achieved.
-
Lift off with Astro
Every few years, I like to evaluate the tech stack that powers this blog. I've decided to migrate to Astro, which aligns better with my JavaScript expertise.
-
My Home Office
Although 2020 was the year that remote working was forced upon many, I've been enjoying the flexibility of home working for a number of years. Here's my current home office setup.
-
It's 2020: let's build a node.js app with TypeScript
It's 2020. You want to build a node.js app, and you've heard great things about TypeScript. Let this post act as your guide through the forest of compilers and specifications as you navigate to the promised land: a strongly-typed node.js codebase.
-
End of Year Review 2018-19
It's that time of the year when I take the time to look back on how my business has performed.
-
VSCode + TypeScript + Prettier = Happy Developer
I've recently found myself becoming more dependant on TypeScript for type safety and autocompletion, and Prettier to format my code consistently. In this post I'll discuss how to set up prettier to work with a TypeScript codebase in VSCode.
-
Boaty: Generating an app icon
In this post, we're going to discuss the generation of iOS and Android app icons for a React Native project.
-
Boaty: Changing the status bar
iOS and Android devices both contain a status bar, which sits at the top of the screen giving information on the current time, WiFi/cellular strength, etc. In this post, we're going to discuss how to modify the status bar to improve the look and feel of our Boaty app.
-
Boaty: Building the app
In this post, we'll build the Boaty app using the React Native framework.
-
Boaty: Setting up your development environment
In the second of a series of posts, we'll learn how to set up your development environment to build a React Native app.
-
Boaty: Scaffolding a new React Native app
React Native is a framework for building native iOS and Android apps using JavaScript. This is the first in a series of posts aimed at building a React Native app from the ground up.
-
Adding click-to-copy buttons to a Hugo powered blog
Writing code snippets in Hugo is simple and elegant, using a combination of markdown code fences and Hugo's support for syntax highlighting. Recently I've been looking to add a button to automatically copy a code snippet to the clipboard, and I've documented my solution in this post.
-
Deploying a Hugo-powered site to Netlify with source code syntax highlighting
Hugo makes it really easy to add syntax highlighting to your code snippets. In this post I'll discuss how to enable this feature, and how to configure Netlify to build your site with nicely highlighted code.
-
End of Year Review 2017-18
My financial year ends today, and so I thought I'd take a moment to review the company's progress over the past year.
-
Migrating to Hugo
I've recently decided to take the plunge and migrate my site to Hugo.
-
A guide to installing Cordova on Windows 10
This is the second part of a guide to installing the Cordova framework, and deals with installation on Windows 10.
-
A guide to installing Cordova on your Mac
Cordova is a popular framework for building hybrid mobile applications. This post provides a complete guide on how to install it on a Mac running OS X or macOS, so you can deploy a Cordova-based app to your iOS or Android device.
-
Running a node.js app in a low-memory environment
Running a node.js app in a low-memory environment requires some additional work to ensure that the v8 garbage collector is aware of the memory ceiling. This post outlines an approach to achieve this.
-
Building a simple message queue with Redis
This post explores how a simple message queue can be built to support delayed messages, using Redis.
-
Creating a demo page for your npm module
So, you've created a super-awesome npm module, and you want to share it with the world. How do you create a demo page?
-
Setting up a Docker-based MEAN development environment
A workflow for using Docker to separate your development environment for each project.
-
An Alternative to npm Private Modules
In this article, I'm going to show you how you can replicate npm private hosting using GitHub or Bitbucket, and access these modules from your deployment server and/or Heroku.
-
Freelancing: Taking the Plunge
Is working full-time in a permanent job becoming a drag? Have you thought about freelancing instead? There's no time like the present.
-
Short ID Generation in JavaScript
A 'short' or 'hash' ID is a seemingly random sets of characters, popularised by services which need unique but readable (and typeable) URLs.
-
No REST for the whippet
Over the past few days I have had the pleasure of standing up and talking about RESTful APIs.
-
Pattern Libraries
I've recently been working on a web app from the ground up. Bootstrap 3 was a good choice to get started - it is super easy to get a site up and running without having to worry too much about styling. In essence, it allowed me to build out some of the requirements with a wireframe-y front-end.
-
Angular Boilerplate
It's important in this era of web application development to have a strong toolset at your disposal. Growing complexity with 'fat' client apps can lead to a maintenance nightmare if not properly planned and thought out.
-
Mongoose Validations
Some thoughts on validating data according to a Mongoose Schema.
-
Using Mongoose
I've been learning about MongoDB recently, and here are a few thoughts on my findings.
-
Learning Angular
The last week has been an intense period of training. I've taken up the offer of a project to be built using AngularJS, and so my head has been down in tutorials, books and online docs. Here are some of the resources I found useful.
-
Becoming Angular
During my time at Mubaloo I was a vocal supporter of Backbone.js. But recently there has been lots of noise around AngularJS.
-
Self Employment
While I was away, I had a lot of time to think about the future. The past 8 years building web apps have been a lot of fun - challenging, sure, but fun too. Rather quickly, I came to the conclusion that I wanted to return to doing the job I love.
-
A New Beginning