I've been struggling for a while now to write something for this blog,
cursing the day that Josette pressganged me into agreeing to do so ;-).
I've started to write several posts and always gave up on them, as I
felt they just weren't well enough researched for "an O'Reilly blog".
So I went back to the first conversation I had with Josette about what
sort of thing she wanted, she asked for something funny/crazy like my
old alarm clock hack.
And bless that mix of LEGO™, open source software and dubious hacks of Apple hardware, it came through. Because recently I've been thinking about how to extend the alarm clock concept to cars as well as trains.
First of all, let me explain what the alarm clock hack was.
I had been forcing anyone I could to listen to my pet theories on product development, I believed that great product ideas came to you most often when you were doing something outside of a meeting room - maybe going to the shops or planning a holiday - whatever, it was when you were living life/doing stuff these ideas came to you. So it was one morning, when I was sitting on a very cold train platform in south London, that I realised that my alarm clock's 10 minute snooze function had let me down, there was no point in having 10 minutes of sweet glorious snooze if it mean't I missed the train and had a twenty minute wait for the next one.
Now this statement splits the world into two groups. The first say, "yes, a 10 minute snooze is pointless, you should of got up and caught your train". The second say, "yes, a 10 minute snooze is pointless, you should of snoozed on for 30 minutes".
Of course the second group are right and I'm one of them, so I built an alarm clock for us. I made the snooze button out of LEGO and an old mouse. I used MP3s to wake me up. And I hooked into the railway system's live departure boards, so not only did I have the gap times between trains but also the delays and I ran it all on a Linux box.
I ended up with a hack that could:
- Adjust wakeup times based on train delays.
- Calculate the snooze time based on the time to the next train and any delay it might have.
- And in theory, email work to say I would be working at home if all the trains were cancelled and then wake me up at 9am.
Eventually I gave up on the trains (they were running down the franchise I believe and it got quite simply too bad to handle daily), so we started to drive in and the alarm clock got mothballed.
Ever since, I've been wondering how I could apply my alarm clock hack to my daily drive and when I recently discovered the TFL Traffice Alerts Service I knew how to reawaken the project. Basically I intend to build a journey time predictor based on the following data,
- The amount, proximity and severity of traffic alerts to my daily route.
- Wheter or not it's a school holiday or not.
- The day of the week (I have a pet theory that people start earlier on a Monday and slowly get later towards the friday).
With this function, I'll be able to, firstly, try and get in before the dreaded congestion charge, or if I hit snooze (and hence accept paying the charge) get in on time for work. And because it's so obvious I'll automate paying the charge as well if I decide to snooze.
Anyway I've started writing a screen scraper in Perl and I'm soliciting advice over which GPS logger to purchase from this mailing list,
Anyway I'll let you know how the project goes.
-- Greg McCarroll (homepage/blog) with thanks to Martin Brooks for doing a quick proof read.
Home


Comments