Jonathan Oxer
[Blog]
>> IT predictions for 2009
Fri, Nov 14th 3:09pm 2008 >> Tech Toys
I took part in a panel session on Tuesday about the future of IT and what the hot topics would be for 2009, and I've just written up a brief summary of the discussion. I was thinking about posting here but it ended up being nearly 3000 words so I'll save you from fetching it in your feed reader and just point to it online instead:
IT predictions for 2009
I took part in a panel session on Tuesday about the future of IT and what the hot topics would be for 2009, and I've just written up a brief summary of the discussion. I was thinking about posting here but it ended up being nearly 3000 words so I'll save you from fetching it in your feed reader and just point to it online instead:
IT predictions for 2009
>> Talking to an engine management system with ... PHP!
Mon, Nov 3rd 1:51pm 2008 >> Tech Toys
I feel a disturbance in the Force, a disturbance created by a million hackers reading the title of this post and crying out "Noooooo! For the love of God, NO!" at once.
But I've done it, and once done it cannot be undone ;-)
Last week I finally received a little ELM327-based dongle that connects to the OBD port in my RX-8 and exposes the vehicle bus as a serial connection via USB. And anyone who has been to one of my conference talks about hardware hacking can guess what comes next!
"ser2net" to expose the serial port as a network socket: check.
PHP script to open a socket connection to that port: check.
Several hours spent figuring out how to talk via CANbus: check.
More hours writing handlers for the hex response values: check.
A loop to poll the EMU once per second: check.
A MySQL database to store response values: check.
A little PHP thing to call Fusion Charts with the result: check.
So now you can see, in 1 second increments, my trip around the block yesterday afternoon. You can see the throttle blip while in neutral, then another blip in reverse to get the car up to 3 - 4 km/h out of the driveway, then the intake air temperature falls rapidly as I drive up the street, etc. What's really interesting is that about 2/3rds of the way along I'm stationery for about 8 seconds waiting at an intersection, and you can see the intake air temp rise almost linearly by about 7 degrees in that time.
See the graph here.
I feel a disturbance in the Force, a disturbance created by a million hackers reading the title of this post and crying out "Noooooo! For the love of God, NO!" at once.
But I've done it, and once done it cannot be undone ;-)
Last week I finally received a little ELM327-based dongle that connects to the OBD port in my RX-8 and exposes the vehicle bus as a serial connection via USB. And anyone who has been to one of my conference talks about hardware hacking can guess what comes next!
"ser2net" to expose the serial port as a network socket: check.
PHP script to open a socket connection to that port: check.
Several hours spent figuring out how to talk via CANbus: check.
More hours writing handlers for the hex response values: check.
A loop to poll the EMU once per second: check.
A MySQL database to store response values: check.
A little PHP thing to call Fusion Charts with the result: check.
So now you can see, in 1 second increments, my trip around the block yesterday afternoon. You can see the throttle blip while in neutral, then another blip in reverse to get the car up to 3 - 4 km/h out of the driveway, then the intake air temperature falls rapidly as I drive up the street, etc. What's really interesting is that about 2/3rds of the way along I'm stationery for about 8 seconds waiting at an intersection, and you can see the intake air temp rise almost linearly by about 7 degrees in that time.
See the graph here.
>> Arduino Morse code
Wed, Sep 17th 4:03pm 2008 >> Tech Toys
OK, so maybe it was a bit ambitious suggesting people could send me messages by Morse code by flashing the Arduino LED! Since the post hit planet.linux.org.au a couple of hours ago the LED has been flashing like crazy with only a few breaks, so we may have a *slight* problem with people "talking" over the top of each other.
I was just trying to follow it and the message came out something like this:
sittanttsdntstaaeif
Unless an alien with a gag across their mouth is trying to communicate with me I think we've proven that it's not a reliable comms medium!
OK, so maybe it was a bit ambitious suggesting people could send me messages by Morse code by flashing the Arduino LED! Since the post hit planet.linux.org.au a couple of hours ago the LED has been flashing like crazy with only a few breaks, so we may have a *slight* problem with people "talking" over the top of each other.
I was just trying to follow it and the message came out something like this:
sittanttsdntstaaeif
Unless an alien with a gag across their mouth is trying to communicate with me I think we've proven that it's not a reliable comms medium!
>> Internet-connected Arduino
Wed, Sep 17th 10:44am 2008 >> Tech Toys
Arduino boards are awesome, but something I've wanted to do for ages is connect them directly to a LAN rather than use an intermediate computer to bridge from ethernet to USB. Much easier to distribute them around the house when all I have to do is run cat-5 to them!
Hugh Blemings has also been seeking cheap embedded ethernet, and he was even kind enough to send me a couple of wizNET modules to try out - but I've been slack, and haven't done it. But a couple of weeks ago I came across Nu Electronics in the UK, who sell an ethernet shield for the Arduino fully assembled for only £12.99 plus shipping, so of course I ordered one. Their online shopping cart couldn't figure out the shipping cost to Australia so it listed it as £2, which is the local shipping price to UK customers: and they shipped it to me for that price anyway!
Very, very happy.
They also supply an Arduino library which implements some basic TCP/IP functionality. It's not even close to a full stack (which would be pretty much impossible in the few bytes of memory available) but it's enough to do cool things like implement a basic web server so now I have this sitting on my monitor at work:

And yes, you can even access it and send me messages by morse code by flashing the LED:
http://203.206.138.33/
Just in case anyone else tries to get something like this going on Linux, be warned that there is a trivial typo in the supplied library that prevents it working. The basic problem seems to be that they've developed the library on a non-case-sensitive OS, and they've used "etherShield" and "EtherShield" interchangeably for filenames and references to those filenames. I had to edit etherShield.cpp (and possibly something else: I can't remember) to get it to load the headers properly.
Arduino boards are awesome, but something I've wanted to do for ages is connect them directly to a LAN rather than use an intermediate computer to bridge from ethernet to USB. Much easier to distribute them around the house when all I have to do is run cat-5 to them!
Hugh Blemings has also been seeking cheap embedded ethernet, and he was even kind enough to send me a couple of wizNET modules to try out - but I've been slack, and haven't done it. But a couple of weeks ago I came across Nu Electronics in the UK, who sell an ethernet shield for the Arduino fully assembled for only £12.99 plus shipping, so of course I ordered one. Their online shopping cart couldn't figure out the shipping cost to Australia so it listed it as £2, which is the local shipping price to UK customers: and they shipped it to me for that price anyway!
Very, very happy.
They also supply an Arduino library which implements some basic TCP/IP functionality. It's not even close to a full stack (which would be pretty much impossible in the few bytes of memory available) but it's enough to do cool things like implement a basic web server so now I have this sitting on my monitor at work:

And yes, you can even access it and send me messages by morse code by flashing the LED:
http://203.206.138.33/
Just in case anyone else tries to get something like this going on Linux, be warned that there is a trivial typo in the supplied library that prevents it working. The basic problem seems to be that they've developed the library on a non-case-sensitive OS, and they've used "etherShield" and "EtherShield" interchangeably for filenames and references to those filenames. I had to edit etherShield.cpp (and possibly something else: I can't remember) to get it to load the headers properly.
>> Into the final round for Samsung's vlog competition
Wed, Jul 16th 8:38am 2008 >> Tech Toys
Woot! I just heard that I'm one of the 10 finalists in the "Samsung People" video blogging competition, which means they'll be sending me an MX-10 flash camcorder in the next day or two and then I need to spend the next 6 weeks creating a video blog using it. The ultimate winner will be decided by a public vote for the most interesting vlog, so when the time comes I'll expect YOU to be voting! Yes, I'll be in the intarwebs examining the packets with a magnifying glass just to make sure.
Now I just need to find a bunch of things to do little videos about. I can feel some serious hardware hacking coming on... ;-)
Woot! I just heard that I'm one of the 10 finalists in the "Samsung People" video blogging competition, which means they'll be sending me an MX-10 flash camcorder in the next day or two and then I need to spend the next 6 weeks creating a video blog using it. The ultimate winner will be decided by a public vote for the most interesting vlog, so when the time comes I'll expect YOU to be voting! Yes, I'll be in the intarwebs examining the packets with a magnifying glass just to make sure.
Now I just need to find a bunch of things to do little videos about. I can feel some serious hardware hacking coming on... ;-)
>> Replacement for the NSLU2?
Mon, Jul 14th 9:45am 2008 >> Tech Toys
One of the most interesting little devices in the last couple of years was the NSLU2, which was originally intended to act as a "head unit" to connect USB disks to a network so they can be used as network-attached storage. However, it very quickly became a favorite geek hacking platform because it's basically just a tiny Linux-based computer. With ethernet, 2 x USB ports, flash memory, and very low power it was great for connecting random devices up to a network.
But now they've stopped making them, and I'm in mourning.
So I've spent quite some time hunting around for an equivalent device and I can't find one. The closest thing would be something like a wireless access-point that's been modified to run OpenWRT or a trimmed-down Debian, but then I'd be paying extra $$$ for the wifi hardware (that I really don't want) and they don't have regular USB "A" connectors.
Any suggestions, Lazyweb?
One of the most interesting little devices in the last couple of years was the NSLU2, which was originally intended to act as a "head unit" to connect USB disks to a network so they can be used as network-attached storage. However, it very quickly became a favorite geek hacking platform because it's basically just a tiny Linux-based computer. With ethernet, 2 x USB ports, flash memory, and very low power it was great for connecting random devices up to a network.
But now they've stopped making them, and I'm in mourning.
So I've spent quite some time hunting around for an equivalent device and I can't find one. The closest thing would be something like a wireless access-point that's been modified to run OpenWRT or a trimmed-down Debian, but then I'd be paying extra $$$ for the wifi hardware (that I really don't want) and they don't have regular USB "A" connectors.
Any suggestions, Lazyweb?
>> Using a Canon HV30 with FOSS tools
Sat, Jul 5th 11:08pm 2008 >> Tech Toys
I've been having fun with the HV30 but had a bit of trouble getting footage off it. The camera is a bit light on when it comes to bundled software: basically MacOS and Windows tools for getting still images off it, and that's all. No video editing software at all.
Even though I personally prefer to use open-source software whenever possible there are still times that I resort to starting up a Mac to get something specific done. This was one of those times I assumed that it would just be easier on the Mac so I fired up an old Power Mac G4 with iMovie.
Epic fail.
The Mac was only running MacOS 10.3.9 and the version of iMovie included is too old to support high-def video, and it wouldn't even recognise that the camera existed at all. It would probably have worked with iMovie2 on MacOS 10.5, but that's extra $$$ I don't have.
Turns out I already had everything I needed on Ubuntu and shouldn't have even bothered starting up the Mac!
All I had to do was plug the camera into the FireWire port, put it into playback mode (but not actually start playback), and:
dvgrab then starts the camera automatically and saves all the clips to disk as .m2t files. The "-f hdv" tells it to use high-def mode, and the "-a" is for auto-split so each clip on the camera is saved as a separate file.
If you don't get any output check permissions on /dev/raw1394 and put yourself in the group with r/w privileges and you should be all set.
FOSS wins again!
I've been having fun with the HV30 but had a bit of trouble getting footage off it. The camera is a bit light on when it comes to bundled software: basically MacOS and Windows tools for getting still images off it, and that's all. No video editing software at all.
Even though I personally prefer to use open-source software whenever possible there are still times that I resort to starting up a Mac to get something specific done. This was one of those times I assumed that it would just be easier on the Mac so I fired up an old Power Mac G4 with iMovie.
Epic fail.
The Mac was only running MacOS 10.3.9 and the version of iMovie included is too old to support high-def video, and it wouldn't even recognise that the camera existed at all. It would probably have worked with iMovie2 on MacOS 10.5, but that's extra $$$ I don't have.
Turns out I already had everything I needed on Ubuntu and shouldn't have even bothered starting up the Mac!
All I had to do was plug the camera into the FireWire port, put it into playback mode (but not actually start playback), and:
dvgrab -f hdv -a
dvgrab then starts the camera automatically and saves all the clips to disk as .m2t files. The "-f hdv" tells it to use high-def mode, and the "-a" is for auto-split so each clip on the camera is saved as a separate file.
If you don't get any output check permissions on /dev/raw1394 and put yourself in the group with r/w privileges and you should be all set.
FOSS wins again!
>> Interview with Cameron Reilly
Tue, May 27th 11:42am 2008 >> Tech Toys
A couple of months ago Cameron Reilly from The Podcast Network came by my place with a video camera and the funkiest microphone I've ever seen to do an interview about RFID and hardware hacking in general. The first part of the interview has just been edited and put online in Cameron's podcast (or see it on YouTube).
UPDATE: Cameron has just put up the audio from the rest of the interview
A couple of months ago Cameron Reilly from The Podcast Network came by my place with a video camera and the funkiest microphone I've ever seen to do an interview about RFID and hardware hacking in general. The first part of the interview has just been edited and put online in Cameron's podcast (or see it on YouTube).
UPDATE: Cameron has just put up the audio from the rest of the interview
1 of 5 >
[ Back to top ]