Although the PiGlow visualisation of CPU usage was pretty, we reckoned we could go a couple of steps further and integrate a much more complete tangible solution – a hardware-driven load monitor dashboard.
Made of cardboard.
This was to be driven by two high torque servos (Ben had them lying around) which would rotate according to whichever performance indicator we chose. Servos are not, of course, very good pointers so with a trusty craft knife to the fore we re-purposed some Pi packaging into a cardboard user interface.
In my last post I described how I set up a 5-strong Raspberry Pi Docker swarm. It wasn’t long before I realised I wanted some ambient way to see how they were performing which a) didn’t involve staring at a screen and b) would wind up the cat.
Luckily my friend Ben was round and he’s quite into tangible stuff so after rummaging in a few dusty boxes for inspiration we found a PiGlow and wondered if that would do the trick.
My father, Ben Anderson plays with numbers. As his Twitter bio says “big data, small data, open data, any data”. He works with R a lot and has been persuading me to take a look at it. I’ve held off until now because I’m all for analysing data in real time (primarily using delightful JS libraries such as Chart.js and D3.js). As far as I understood it, R is geared towards static data analysis and because of that, is able to utilise the hardware it runs on to optimise computations. Dad has an SSD in his Mac which reduces the time to load data substantially, but he also makes use of the R package data.table. This library makes manipulation of data ridiculously fast as it stores it all in RAM.
Note: Healthy was launched about 5 months ago but I’ve only just got around to writing this post.
On Nov 3, 2015, SubjectRefresh spent a day in London at the annual Open Data Institute Summit, where we gave two presentations on our Young Rewired State Festival of Code 2015 Refresh app.
We were also challenged to create an application using open data that gets people to eat healthier. We came up with Healthy, a calculator that tells you “the time to burn” of a particular food.
It’s built on top of Node.js and uses Socket.io to communicate with the browser in real time. This means no page refreshing, no Ajax calls and no latency. We use an API to collect the information about the food the user has requested and then use some algorithms to figure out how much time doing a particular excercise is needed to burn off the calories.
I worked mainly on the algorithms to extract the information from the API and also wrote a large amount of the main JS for the Node.js web server and Socket.io integrations.
The code is available on GitHub and you can try out Healthy now at http://subjectrefresh.info/healthy/!
Friday night, or more specifically, Friday February 26th 2016 at 19:45:57, I was having a group Skype call with Alexander Craggs, Miles Budden and Tom Emmerson when Alexander started complaining that all the URL shorteners out there were becoming too long. To clarify, URL shorteners were becoming bloated. He suddenly said, “Let’s make a URL shortener”. The situation escalated very rapidly and within 5 minutes, Miles had bought the domain subr.pw for an astronomical price of £0.60, I had setup Nginx on the server used for the majority of SubjectRefresh‘s projects and Alexander had setup the codebase and had a Node.js skeleton ready to go.