Tuesday, 29 October 2013

EEG - Recording brainwaves and pushing them to a live web feed.

Last Tuesday our EEG device arrived. I think I almost exploded with excitement. The device itself is very cheap so we don't expect particularly accurate results but it does work and it proves a concept for us more than anything else.

This is the device http://www.amazon.co.uk/Brainwave-Starter-incl-MindWave-Mobile/dp/B00B1B1H68/ref=sr_1_1?ie=UTF8&qid=1383037186&sr=8-1&keywords=mindwave it's very basic but it does have a decent SDK with it that you can access in a number of ways so you can't complain.

There was a different model that I was interested in that cost around £800.00 for the device but it transpired that they wanted a completely insane amount for the SDK (around 10k) so we left them well alone.

Initially our plan was just to make sure we could get the readings out of the device which involved pinvoking a dll but the documentation was fairly good. We got that up and running after some fuss with the comm ports etc...



Once that was done we made a little site using SignalR. This worked really nicely as you can create a client using the SignalR.Client library that then fed real time information to the SignalR site. This site then pushed the data as a live feed using WebSockets (it falls back to other things like long posting if your browser doesn't support websockets). 

All in all we had the SDK and the live feed up and running in around 2hrs so last Tuesday night was one of our most successful sessions yet!

I think our next plans are to create a nicer looking signalR website to display the waves and release it onto Azure so people can monitor me and then I then I'd like to work out how to hook the device up to mobile devices so I can track the waves on the move. 




Trello - Free Online Kanban Board

This looks quite interesting as an online Kanban board. Spotted this morning whilst reading the morning brew blog. I am not convinced that you can emulate a Kanban board successfully but this seems a nice little solution for organising a group of tasks.


In a similar manner to Pivotal you can Label tasks but I don't think it's quite as extensive as Pivotal. I think one of these tools would be really nice if you could tie them up with a git commit or so when someone picks it up to QA then can easily see the changes as part of the card.

via >> http://jesseliberty.com/2013/10/25/two-dozen-insanely-essential-programmer-utilities >> http://blog.cwa.me.uk/

Wednesday, 16 October 2013

Arnie Birthday Message

My friend James Allen has kindly prepared an Arnie birthday greeting mashup. I thought I would share it with the world!


Thursday, 10 October 2013

Decoupled Responsibilities in Javascript

I have been updating the North 51 Coding standards for the benefit of the NHS and I had to stick a couple of things onto Gist so I thought I would share them here as well as the code isn't specific to anything internal to us.

Some of our legacy javascript code is quite poor and we are addressing that at the moment. With this in mind, I want to promote nice decoupled Javascript functions that are namespaced and use Trullocks PubSub library https://github.com/trullock/PubSub/

In the examples below, I have broken out the functionality into seperate files so that the Javascript that manipulates the DOM is seperate from the the script that validates the user input and the script that handles communicating with the server. No function talks to another directly (apart from the internals) and all communication is done along the Bus. The beauty of this is:


  • That one bit of functionality can be separated out nicely
  • A fake event can be published on the bus for testing purposes
  • More than one function can subscribe to a published event (you can do multiple things such as logging in the background, and it avoids large 'manager' classes)

Thursday, 3 October 2013

Getting back up to speed with Arduino

We have been working on devleoping a new lab space at North 51 recently with a view to trying out some new technology and messing about with different interaction ideas. 

One little bit of kit I am very enthusiastic about is the Arduino. Most people I have worked with haven't had the opportunity to play with one so we bought one in and a load of electronic bits and bobs to play with. 

On Tuesday evenings we now have a Geek night after work. The plan is to play with technology and just see what comes from it. This Tuesday was fairly quiet as it was a little late notice so me and my friend Jon decided to use it as a chance to get back up to speed with the Arduino. 

We started with the blinking an LED (the most basic but always satisfying) and then moved onto blinking the LED at a pace determined by an LDR. 









With that success we moved onto setting the Arduino up as a little server and plugging it into a switch. We then plugged laptops into the switch and were able to use the Arduino as a Chat server. 

After that, we plugged in a little speaker and used the laptops to send commands to the Chat Server that played a different note based on the command. With this we then able to talk to each other on the chat server and agree a tune that we built up over two different computers. All in all very cool. 

We have some more people coming next week and I hope we can build on this. After some pizza we had a brainstorming session and came up with some really cool projects that we are going to start messing about with. Next on our list is remote data collection using sensors and a GPRS shield / module for the Arduino!

Exciting times! 


Comments System

Disqus Shortname