2020 To Do List

There are only a few days left in 2020, including the day I’m writing this. To finish this awkward year off well I’m going to give myself two final tasks. Start Wes Bos’s course Beginning Javascript (it’s too much to try and complete it inside three days). Setup VS Code Server so that I can… Continue reading 2020 To Do List


In our review of Array.indexOf() we looked at using the check for -1 assigned to the indexOf() as an indication that that item was not part of the array. With Array.push() we can add items to the array.


Using the indexOf() call in javascript allows you to… Get the index of the Array item you pass across Check to see if an item exists within an Array If we have the following Array we can then pass that array into the indexOf() function to find the index values. I can check to see… Continue reading Array.indexOf()

What could really increase your life expectancy, lifespan and longevity?

I love visualisations of any sort, but ones that show me how to live longer have to be a favourite. What could add years to your life? Why do women live longer than men? What’s the best method of life extension? Diet and exercise? Or polygamy and pets? Let the latest data decide. — Read… Continue reading What could really increase your life expectancy, lifespan and longevity?

Bringing the Science Museum to you through AR

This week we’re heading to the Science Museum for an event with work to speak with people about our vision for 2025 (thank goodness no one has called it our 2020 vision). The science museum is one of my favourite places to visit, especially with the kids. Our favourite room is the space room that… Continue reading Bringing the Science Museum to you through AR



A performance metric bar with a streaming FPS graph.g

How to use

<script type="text/javascript" src="justice.min.js"></script>

<script type="text/javascript">

With options

<script type="text/javascript" src="justice.min.js"></script>

<script type="text/javascript">
metrics: {
TTFB: { budget: 200   },

domInteractive:   { budget: 250   },
domComplete:      { budget: 800   },
firstPaint:       { budget: 1000  },
pageLoad:         { budget: 2000  },
requests:         { budget: 6     },

warnThreshold: 0.8,
showFPS: true,
hartType: 'spline'

Quantum Tapestry

Beautiful Programming — Click to randomize and reset animation. Press “A” to toggle autoplay – autoplay will automatically clear and redraw the screen when it is full. Press “R” to reset the draw color to white. Press “C” to randomize the current draw color. This sketch was made with Processing 2 in Javascript mode. Visit… Continue reading Quantum Tapestry

tota11y – An accessibility visualization toolkit

tota11y is a single JavaScript file that inserts a small button in the bottom corner of your document. (It’s on this very page.) The toolbar consists of several plugins that each provide their own functionality. Many of these plugins “annotate” elements on the page. Sometimes to show their existence, other times to point out when… Continue reading tota11y – An accessibility visualization toolkit