Designing a Bangle.js commute timer
Wed 16 August 2023
I work in an office occasionally, and there is a particular point on my commute where I always check the clock so I can tell
how I'm doing for time. If it's 8.30 I'm likely to be on time, before 8.30 I'm doing well, after that I might be late.
But why stop at checking my delta time at a single waypoint? Why not store a GPS trace of a reference commute and continuously
compute the delta time, like you get in time trial mode in racing games? Read more
The Egyptian coin box
Sat 5 August 2023
I have invented a new magic trick. It involves a very thin wooden box with 5 locations for coins inside, each
labelled with one of the 5 bodily senses.
A spectator places a coin inside, without telling the magician where it is. The magician
then makes a show of listening to the box, sniffing the box, etc., and successfully determines where the coin was
placed. Read more
Waypointer Moto: motorcyle navigation for Bangle.js
Thu 27 January 2022
I have made a Bangle.js app for motorcycle navigation. It's called
"Waypointer Moto" which is a bit of a mouthful but it doesn't matter. Instead of telling
you exactly which roads to use to reach your destination, it just points an arrow directly at your destination and
tells you the straight-line distance. It tells you where you're trying to end up, but leaves the route-finding
and exploring of the environment up to the user.
The idea is that you end up riding new roads and discovering places you
would never normally come across. It's a middle ground between riding around at random, and following
a route dictated by a satnav. Read more
Choozi for Bangle.js
Tue 14 September 2021
Do you know Chwazi? It is an Android app that chooses a person at random.
Everyone puts in their finger and it selects one at random to highlight. It's
useful for example if you're playing a board game and need to select a person
at random. Read more
Bangle.js open source hackable smart watch: first impressions
Wed 17 March 2021
Bangle.js is an open source hackable smart watch running the Espruino
JavaScript interpreter. It includes BLE (Bluetooth Low Energy), heartrate monitor, temperature sensor, 3-axis accelerometer, GPS, compass, and touchscreen (ish), and
is designed to be easy to program. Read more