Tell us about your recent Linux.conf.au tutorial - Hardware/Software hacking: Joining Second Life to the Real World - and how you can connect and control real world objects from a virtual environment.
Just some fanciful examples to start with, in the (Linux.con.au) tutorial I just finished one of the demonstrations that I did as a proof of concept was to connect an RFID reader that would typically be used for building access control or something like that. Upon reading the correct tag - in this case the one in my arm - it sends a signal into the computer, across the Internet and into the Second Life environment to trigger an event. In this case it was using a physical RFID card and reader to unlock a virtual door, and it can go the other way as well. The other demonstration that I used was to create some buttons inside Second Life. They are virtual buttons that you click while you are in the Second Life environment and that sends a signal that connects out to a Web server which was running a special little piece of code that then connected to a physical device, in this case I used a fan, and you could turn it on or off. So that means that from inside the virtual world you can turn on or off devices in the physical world, so we have this bi-directional communication.
Can you describe how you used the RFID tag implanted in your arm to unlock a door inside Second Life?
It's actually a long chain of events. One of the things I am trying to demonstrate to people in my tutorial is that they really only need to learn a series of small building blocks, and then they can use those blocks and join them together. It's very much like seeing the world as a big Lego set; you start thinking of the world as a whole lot of things you can rearrange to do what you want to do, and if you can break it down into small simple chunks then you can rearrange them in different ways.
In that particular demonstration I used a small implanted RFID tag typically used in cats and dogs, and an RFID reader. The reader interrogates the tag and gets its ID code, that then talks through a USB connection into the computer. In this particular case the object was a representation of a door, and the door was listening for messages, specifically telling it that it needs to unlock. So the end result was that when the correct tag was swiped, the RFID reader sends the message up the USB connection, which then is converted to a network socket using a little script called ser2net, which is then read by the PHP script, which then connects to the Second Life gateway, and then connects to the object, which sends it the message, and then the object unlocks. It sounds like a house of cards and in some ways it is, it's a whole lot of small building blocks but the good thing is the building blocks themselves are very simple and you can rearrange them to do all sorts of things.
Sign up for CIO Asia eNewsletters.