blog/src/posts/2015-04-14-rthack.markdown

48 lines
3.2 KiB
Markdown
Raw Normal View History

2016-05-21 09:42:57 +00:00
---
layout: post.html
title: "RTHack"
date: 2015-04-14
tags: JavaScript JSOxford RTHack HackDay
summary: "Last Saturday I spent the day at [JS Oxford](http://jsoxford.com)'s RTHack day. The theme was to explore and build upon real time web technologies. "
---
Last Saturday I spent the day at [JS Oxford](http://jsoxford.com)'s RTHack day. The theme was to explore and build upon real time web technologies.
When we arrived there were many [examples](https://github.com/jsoxford/RTHackPack) provided for us (one which I had added) using a range of real time technologies such as [Pusher](https://pusher.com/), [PubNub](https://www.pubnub.com/) and [Socket.io](http://socket.io/).
After a brief intro a few pitched some ideas they had for the day and we joined into groups. I joined with [Max](https://twitter.com/omgmog) to work on some real time, web connected hardware using Arduino's etc. I had brought along my awesome [Spark Core](https://store.spark.io/?product=spark-core) which is a mini, cloud connected device. I hooked up a [DHT11](http://www.adafruit.com/products/386) temperature/humidity sensor which had a handy Spark Core library available.
{{> tweet id='586829181226524672' }}
The data from this sensor was then made available by registering events using the Spark cloud's `publish` function which I then listened for on a server and forwarded all messages to Pusher for use by others. I hooked up a simple web page that would display each of the messages as they came in and cobbled together a [D3](http://d3js.org/) graph that plotted the temperature in real time.
We quickly discovered that the DHT11 was *slow*. Very slow it seemed. I first thought it was a bug in my code but after putting the device in the fridge we started to see a change in the temperature output, but with something close to a 30 second delay. Hardly **real time**.
I switched to using a TMP36 temperature sensor, one lacking a handy library. It took me *WAY* too long to get this working as I needed to find the right equation to convert the output voltage to degrees Celsius. "*Hardware is hard!*"
But in the end I prevailed!!!
{{> tweet id='586913832121008129' }}
We gave demos at the end of the day. Mine was short and sweet but some of the others were pretty cool.
[Dan](https://twitter.com/danielthepope) made a cool game where you fight to set the background colour.
{{> tweet id='586901707285725185' }}
[Ben](https://twitter.com/benjaminbenben) and [Gil](https://twitter.com/LuRsT) made a cool way of displaying what people are tweeting about.
{{> tweet id='586926991020003328' }}
We also had a Countdown clone, modern minesweep, twitter walls with flamingos, various chat rooms and an interactive [Ben's mind palace](http://www.bensmindpalace.co.uk/rt/).
When all was done and we had wrapped up a few of us headed over to Joe Perks for some well deserved (custom) cocktails.
{{> tweet id='586955640024788992' }}
This did end up turning into a Ruby hack...
{{> tweet id='586994376812933121' }}
All-in-all it was a great day! I learned not to muck around with hardware at a JS hack day (although that may change now I've received my [Espruino Pico](http://www.espruino.com/Pico)) and there are some pretty quick and powerful things you can do with technologies like Pusher.