Formatting Currency using Javascripts Internationalization API

Javascript has a surprisinly neat (and built-in) way to format currency values using it's Internationalization API Intl.

It's the sort of thing thats often forgotten when 'internatinalising' sites as the variation of display for numeric values isn't widely appreciated. But using the Internationalization API it's really simple to display numbers in the preferred format of your users.

Getting started with Mutt Forms Vue

Mutt Forms Vue (MFV) is an extension to Mutt Forms, a tool for building HTML forms from JSON Schema definitions, to make it compatible with VueJS. By default, Mutt Forms renders HTML forms directly to the DOM, MFV uses Vue templating system in addition to offering some other benefits - like reactive properties.

How far ahead of Apple Maps is Google Maps?

As someone who just can't make the switch to Apple Maps permanently, it's really no surprise to hear Google is winning this particular battle, but it's incredible to see just how far ahead it is.

“Now, you can see 25 million new building footprints that have been added to Google Maps on desktop and mobile across major metropolitan regions in the United States, including Houston, Los Angeles, Chicago, Miami, and the San Francisco Bay Area.”

Great round up of the differences by Justin O’Beirne.

Generating UML Sequence diagrams in Javascript

UML Sequence Diagram

UML might be 20+ years old at this stage but it's still incredibly useful - especially when describing a Micro-service world.

Drawing the diagrams themselves, with a tool like VISO or OmniGraffle, does get old quite quickly though when changes are rapid.

I've started using Mermaid for generating the system diagrams from 'code' directly. It's much less work as things change and is really easy to setup.


Working with JSON Web Tokens (JWT) can be a bit awkward, particularly when using the command line to make requests, so I've created a little tool to make life easier.

It's called hastilude and is available on NPM, to install run:

npm install -g hastilude or yarn global add hastilude

It allows for tokens to be generated from a static JSON file as well as to dissemble encrypted ones into a readable form.

Getting the latest commit Hash on Heroku

When you push to Heroku, the contents of the .git directory are usually removed which makes getting the last commit hash a bit tricky.

Luckily there is a Heroku labs extension you can use to get some of the git information back. Just run this command against your app:

heroku labs:enable runtime-dyno-metadata -a <app name>

Exclude Social login referrals from Google analytics

Social logins can cause havoc with Google Analytics (GA) as visitors are typically directed away from your domain to the domain of the Social login provider. This 'breaks' the visitors session on your site, making the resulting return from the social provider appear as if it's a new session.

Auto-starting MongoDB on Webfaction

Webfaction is a great host for small websites, particularly if they use a fairly generic setup, but it can be a bit tricky if you have to start tinkering under the hood. Unfortunately getting MongoDB running at this time isn't quite as simple as using one of the other database options. Webfaction has a useful guide for setting up MongoDB initially but it doesn't really go into detail about managing the MongoDB process once it's all setup.

One of the omissions from the guide is getting the process to auto-start if the server reboots, as being a shared server a lot of the standard Linux configurations for services are out-of-bounds. It can still be accomplished using a Crontab however and hooking it to a startup script.