Madole
Written by who lives and works in Sydney building 3D maps in the browser.

Using Async/Await to batch asynchronous requests

24 June, 2018

Lets say you have written a file uploader app and your users might upload 100s of files at a time. You could just loop the files and send…

Migrating data from Ghost to GatsbyJS

18 June, 2018

What is Gatsby? 🔥 Blazing-fast static site generator for React It’s is perfect for a static blog, it reads markdown and gives you a GraphQL…

Building node-canvas in Amazon Linux AMI for Lambdas

08 October, 2017

Building node-canvas for use inside an AWS Lambda is tricky as it requires some dependencies to be built by node-gyp against the target…

Building a Raspberry Pi internet speed checker with NodeJS and GoogleDocs

18 March, 2017

I frequently experience periods of internet drop outs and wanted to build something to monitor my internet without any manual intervention…

Whitelisting multiple domains with kcors in Koa

17 February, 2017

Kcors The Koa CORs library has documentation which is a bit light on how to actually whitelist more than one domain for your node server…

Mocking relative dependencies in Jest with jest.mock()

07 December, 2016

If you’re like me and have just entered the world of Jest for testing your React application. You might be familiar with a mocking library…

Putting Yarn Package Manager to the test

22 November, 2016

What is Yarn? FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. - https://yarnpkg.com/ How does it achieve all of this? It uses caching to…

My favourite VSCode plugins

06 November, 2016

A while ago I published a comprehensive list of my favourite Atom Editor plugins, I’ve since moved to VSCode for the majority of my…

Webpack-dev-server: Where does your CSS go?

14 September, 2016

You might have noticed when using webpack-dev-server that the CSS seems to appear on the page as if by magic. If you have a look at the…

Serverside CSS Modules with babel

21 August, 2016

I had a requirement to use CSS modules with serverside rendering, it took me a while to figure out so I thought I’d write the process down…

babel-loader's hidden feature - babelrc:false

21 August, 2016

I’ve spent 3 days configuring Webpack and babel to deal with CSS Modules while doing server-side rendering. I’ve just discovered an…

What actually gets included in your npm module?

01 August, 2016

Npm automatically includes some files. From the documentation ( https://docs.npmjs.com/files/package.json#files ) we can see the following…

NPM uses your .gitignore file

03 July, 2016

The Problem I recently published a package to npm and got an issue raised on Github to tell me that the build artifact hadn’t been published…

Using console.time to profile performance in your node application

09 June, 2016

I was writing an express application, when I started to notice one of the routes was taking quite a while to respond to a request. The route…

Error handling in Express with Async/Await routes

25 May, 2016

Async/Await for me is one of the best things to not quite happen to JavaScript yet. As we all know from Object.observe, you’re never really…

babel-plugin-transform-async-to-module-method gotcha

08 May, 2016

We have been using ES7 Async/Await with and bluebird co-routines for about a month now. This has been working great for us in most cases…

Asset hashing with webpack

15 April, 2016

Why would you hash your assets? If you’re creating a website that has a caching layer sitting in front of it, you’re going to need a way to…

Using webpack to set up polyfills in your site

03 April, 2016

Webpack’s Provide Plugin allows you to set up variables that get injected into your code when they are used in your codebase. This means…

Writing a Gulpfile in ES6

30 March, 2016

So you’ve written your app in ES6 and you’re using babel to transpile to ES5. But your build process uses Gulp and it requires you to write…

ASYNC/AWAIT ES7

12 March, 2016

This feature has been available in other languages like C# and Visual Basic for a while. It allows you to write your function declaration…

My favourite Atom packages of 2015

02 January, 2016

atom-beautify Beautify HTML (including Handlebars), CSS (including Sass and Less), JavaScript, and much more in Atom atom-jade Jade language…

Personal Projects

16 November, 2015

http://madole.github.io/React-Reflux-Reddit http://madole.github.io/SwearOMeter/

Semver - the sane way

07 November, 2015

Semantic Versioning 2.0.0 - http://semver.org Summary Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make…

Setting up webpack dev middleware in express

07 November, 2015

[[[ THIS BLOG POST IS 2 YEARS OLD, CHECK OUT WEBPACK2 INSTEAD ]]] What is webpack dev server? Webpack dev server is a live reloading…

WhatsApp sharing from the mobile browser

07 November, 2015

BuzzFeed Says: iPhone users are clicking their new WhatsApp button more than Twitter’s. This was enough for us to build a WhatsApp sharing…

Selenium ActionSequence

07 November, 2015

Selenium test Should do something when an outer div, with an inner div placed in the middle in front, is clicked. How to usually do this…

JsFiddle - Firebug lite

07 November, 2015

I recently discovered a cool feature in JSFiddle which changed the way I use it. Until now, I’ve been hopping on to JSFiddle to test out…

Some useful everyday linux commands

07 November, 2015

I decided to write down a list of every day commands that I use in the the Bash command line in Linux. This is by no means a definitive list…

Creating SVG animation with WalkwayJS

01 November, 2015

A few days ago this link ( http://www.connoratherton.com/walkway ) popped up on Reddit’s /r/javascript . I liked how it looked so I set…

Javascript Interview Questions

01 November, 2015

I was asked recently by a friend of mine to come up with a list of interview questions that you can get asked during a Javascript interview…

Javascript Toolbox

01 November, 2015

I write Javascript most days and have done so for a few years now. I still find new tools, websites, frameworks and ways to do things. I…