How to combine communication channel histories?

I regularly contact the same people, over and over again using a variety of e-mail, instant messenger and SMS. Conversations move seamlessly between these different mediums depending on where I or the people I’m communicating with are at the time. To my brain, the digital location of the conversation isn’t relevant, just the fact that I’ve been in communication with a certain person on a certain topic; if I’m lucky I might even remember vaguely when. So how do I go about finding where I had this conversation?

Desktop search tools are becoming better and better and able to index more and more data sources, so it’s likely I could search both my IM and e-mail logs from a single interface, but that still leaves my mobile device out in the cold, despite all its high-falutin’ Bluetooth and 3G/GPRS connectivity and l33t synchronisation skills.

Text messages on Nokia phones are stored in text files with some bytes at the beginning and end for denoting various details, as well as the number of the sender, for which a lookup to the contacts database is necessary to retrieve a useful name. But how to get this to the PC and indexed?

Maybe the best idea would be some kind of automated sync in the background to your PC over Bluetooth which transfers your sent and received text messages, and puts them into an mbox datastore. Of course, you could just transfer them as text files or maybe you could use a desktop search tool plugin (like the ones listed on the Google Desktop Search plugin-ins page) to identify them as a different type of data, but do you want to? Really you just want to search all of your messages in the same way so that “from:bob” returns recent emails, IMs and text messages from Bob (although I guess you should also have specific keywords so that “email:Bob”, “sms:”Bob” and “im:Bob” all work for their specific context for when you know the communication already).

The ability to search IM and email both as one and separately should be doable quite easily I think; the background-transfer of SMS information possibly less so – I’m not sure how the authentication issues would work and whether you’d need to actually take action on one of the ends (which would be less than ideal), in which case a manual sync might be preferable.

If anyone’s doing any work in this sector, or related, I’d be more than willing to lend them a hand, whether it be coding or just testing, but I rather think I’m too busy at the moment to start another project myself quite yet 🙂

Going to Open Tech 2005?

I’m off to Open Tech 2005 in London tomorrow (provided the trains etc. are running after the bomb almost-blasts yesterday), the informal, low cost, one-day conference about technologies that anyone can have a go at and which is being supported by

I rather suspect I’ll be the only geek there without a laptop 🙂 I will however have my Nintendo DS and a pad of paper. That’s got to count for something, right?

Check out the website and the page on

Disable Greasemonkey – security hole alert

Greasemonkey has a massive security hole in it which, depending on the scripts you have installed, can allow any website to read the contents of your hard drive (this is the case as far as I understand it, please leave a comment if I have the details wrong).

This is very major. In addition to being a massive explot, it also means that Mark Pilgrim’s O’Reilly book-in-the-making Greasemonkey Hacks is DEAD until we fix this, so here’s looking forward to a fixed version, although from what I gather it will require a large amount of work to provide a fixed yet fully-functioning GM. Good luck guys!

via Groovy Mother

Timestamps and UTC in Axis

Aaron Johnson recently had some fun with Axis / SOAP, Java and Calendar, which reminded me of an issue I had on my last project – our Axis-based app had been working fine for a few months, but we came in one morning to find that all our reporting tools were telling us that the clients thought our server was an hour out.

After many hours of scratching our heads, we suddenly realised that we’d just switched from GMT into BST and the applications hadn’t accounted for this. Like Aaron, we hadn’t realised that Axis’ CalendarDeserializer class internally converts everything to UTC since whilst we’d been developing everything was UTC. As soon as the last Sunday in March came around – bam!

Lesson I learned: always beware of what third party libraries are doing to your data. Unit tests should be your friends!

Being unfit

Well, despite having gone to the gym on a regular frequent occassional basis in the past year or so, I’m still quite unfit.

Looking out of my bedroom window I can see a nice big field, so I just went and ran around it a few times.

Gosh, I’m even more unfit than I thought. I think I made about three miles or so, which I could almost certainly do better than had I eaten today, but it’s actually quite hard to tell how far I went. I need a metre wheel 🙂

I’d really like to be fit again – I’m a little light for my height, and my body is in reasonable shape, it just needs the exercise. Hopefully given my new location and the fact that my new workplace: is a campus university, hence has big fields; has showers in the office building and has a great gym (allegedly), I should be able to get at least some good running in every day, whether at work or at home.

I want to be fit goddamn it!