Archive for March, 2012
Since deciding to host my own wordpress blog I have discovered the joys of comment management.
When I started I thought “Wouldn’t it be nice if I get some comments on my blog?!” Now I am looking for ways to make them stop.
It seems that there are many ways to use the blogsphere to promote your own site to increase eyeball traffic and therefore revenue from things like advertising. The tools developed to meet this need are the wordpress comment robot. This software utility takes away the burden of visiting people’s blogsites, reading their posts and leaving a comment and automates it all. Often the robot uses clever comment phrases that include some of the keywords from your own post to make it sound more legitimate, however more frequently they are very generic and clearly nothing to do with your post.
I get hundreds of these and it is tedious going through them all to hopefully spot the occasional legitimate comment…though the needle in the haystack metaphor comes to mind here…
Just for fun though I am going to publish each and every comment I get for this specific post so you can see the kind of crap that comes in.
So I spent a few hours pulling all its essential inside parts out until I found the guilty part.
First time fixing a washing machine. Saved us $1000 buying a new one but don’t know that I want to do it again…it was pretty heavy and I couldn’t figure out how to remove the inner drum from the washing tub (the big white thing behind the lid – its upside down with the motor sitting at the top there).
Which makes me wonder about waste in our consumption obsessed society. We were close to throwing out a good condition washing machine thats maybe 8 years old because of what sounded like a death rattle. We considered having someone repair it…but expected the repair bill for an 8 year old washing machine would be big enough to warrant discarding it for a new one.
I expect that many a household appliance makes its way to the tip in a very repariable state, discarded due to suspicious behaviour in the never ending quest for the latest and greatest.
Hopefully this story has a happy ending; I haven’t finished putting it back together yet. Then I need to test that it is still working
Of course there is always one or two parts left over…oh well.
I had been considering this project for a while: the ability to send a link to someone they can use on their smartphone to open our front door. Useful for deliveries or when friends or family come over while you are not home. For example I recently had a friend come and stay while we were away for the weekend, however getting a key to him was going to be a challenge as he lived interstate. In the end I left a key in the mailbox which is a terribly inelegant solution and not especially secure.
So I have now developed a script that allows me to send an SMS with a web link that when clicked unlocks the front door for a couple of seconds.
Obviously when designing this I had to think carefully about how it would be secured. I wanted to ensure it was well protected enough that the effort required to hack it was much greater than the effort required to just break in.
The solution builds on my existing x10 home automation which already has the ability to open the door via a set of controls on iPhone, which is already secured such that it can only be accessed while on the local wifi network or via a pin code to access the mobile web page. It works so well we now typically use our iPhones to open the door when we get home almost never bothering to fish out our keys.
When the destination mobile number is entered in the control page the php script sends an SMS (using directsms.com.au API) with a link. The link includes a randomly generated alphanumeric key which has already been stored on the database, along with the timestamp of when it was originally sent and when it was then used. The link has to be used within one hour or it will not work. After the first use it will continue to work to open the door for two minutes, after which it will no longer work.
Finally had a nice sunny day to take my Arducopter for it’s first flight!
It is not as stable as I thought it would be; most of the flying time I had it in ‘loiter’ mode which attempts to maintain a position based on GPS and altitude (using either barometer or sonar). Even so as you can see from the video it moves around quite a bit still – next time I’ll take my laptop to make sure it has a solid, accurate GPS fix before launching.
Three flights in total, the last one had a hard landing which flipped the quadcopter throwing a prop; all fixed in just a minute ready for the next flight in a few days.
Siri answers the door…vacuums the floor.
I have been playing around with SiriProxy which provides a mechanism to override spoken commands to Siri on an iPhone 4s.
Normally when you talk to Siri your iPhone sends the voice packets off to an Apple server which interprets them into words and then tries to interpret what you mean. It then sends a response back down to your handset, which is why Siri only works when you have a working internet connection.
In order to hijack this process it is neccessary to have your iPhone send Siri commands to a computer on your local network which has been set up to run SiriProxy. SiriProxy can then intercept the commands, figure out what you said and then look to see if it has local instructions for responding before sending on to Apple’s servers to respond.
The upshot of all this is that as long as your iPhone is connected to your local wifi network you can customise your own Siri responses. Siri will continue to work normally where you haven’t created a specific local command.
Since I had already set up home automation for many activities in the house including watering the garden, kicking Roomba off to vacuum and opening the front door, it was easy to hook SiriProxy into this. When SiriProxy figures out you asked to be let in, it calls a web page that runs a PHP script that sends an x10 command to unlock the front gate.
The full set of Siri’s capabilities at my home include turning on or off the watering system, turning Roomba on or off, opening the front gate and front door, and controlling lights around the house.
SiriProxy has allowed many similar innovations to evolve from controlling the TV to starting the car. These examples continue to show the value of the smartphone as a remote control for your life. SiriProxy is deeply restricted however due to it being shackled to your local network only – it is not possible (or at least fairly difficult) to use your own custom Siri commands when out and about. Although this is unlikely to change for Apple’s devices anytime soon, as speech recognition becomes more widespread on all smartphones (read Android) expect to see the evolution of a modular, configurable speechrec service that will allow easy integration into other devices.
While using Siri to start the vacuuming is fun, it is not very practical. However with a bit more tinkering I expect I can give Siri the ability to schedule specific home automation events which will be done even if I, my iPhone and Siri are not present. I can see that asking Siri to turn off the light at 11pm or do the vacuuming in an hour will be much more useful…
Thanks to Natia for starring in the demo video!!
My recent obsession with Arduino brought me back to an old interest: autonomous flight!
I totally love the open source community and the great stuff that people throw in together on…such as DIY Drones.
DIY Drones is a community built project using Arduino microcontroller to control a multi-rotor helicopter (though it also can control a single rotor heli or fixed wing aircraft). A dedicated Arduino board (ardupilot) connects to an IMU sensor board which contains minuscule gyros that sense the orientation of the aircraft and the built in software responds to changes in attitude by adjusting the speed of separate motors.
I have added GPS support and a magnetometer to sense magnetic heading, along with a bunch of pretty lights that help identify which way is front!