Author Archives: TriMike
Three years’ stats
Well I did some simple statistics pulling from WKO+ for the past three seasons. I based a season from December through to end November of the following year.
date from 01/12/2010 01/12/2009 01/12/2008
date to 30/11/2011 30/11/2010 30/11/2009
run duration 45h47:02 82h01:12 65h07:36
run distance 527.126km 957.505km 727.656km
bike duration 15h28:04 115h46:42 158h04:18
bike distance 260.632km 2409.497km 4337.618km
swim duration 6h04:00 30h26:00 36h58:00
swim distance 18.45km 94.031km 104.613km
(Yes, I realise we’ve not quite got to 30/11/2011 yet… so will update the 2011 season once it completes)
The figures include treadmill and Computrainer sessions along with training sessions and races.
I hope that I manage to do more training over the 2012 season – probably slightly down on the 2009/2010 season due to less free time these days. Maybe I should set some training targets for the 2012 season?
The bike average speed varies somewhat due to extensive use of the Computrainer in the 2009 season – due to the ERG training I was doing at a relatively higher wheel speed than on the road the average speeds are inflated. So the times are probably more useful to compare than pure distances.
Twitter Updates for 2011-10-27
Twitter Updates for 2011-10-10
Android mail app with IMAP == #FAIL
Well, I’m still vetting my HTC Sensation to see if it is a worthy replacement for my BlackBerry… Still not convinced as it happens. However, I have resolved one of my problems with it…
IMAP sent/trash/draft folders don’t work properly if you have a “typical” IMAP server with a folder prefix of “INBOX.”. The IMAP NAMESPACE RFC (RFC2342) defines how this works and how clients should handle it. As usual, Google developers figured they knew better than or just chose to ignore the RFC! As a result, the Andoird mail application doesn’t support folder prefixes, let alone automatically working correctly based on the namespace command.
If you are lucky and are using a IMAP server which does not have a personal namespace (Dovecot??) you might find the mail app works OK for you.
You can use the Android K9 mail client. I briefly tried it and it seemed to work. However, it doesn’t seem as “integrated” as the stock client so I gave up on it. It’s not a bad app – it just didn’t grab my attention. Luckily, there is a work around which is partially documented on the Android issues page at (thanks to those who posted there as it got me working on this workaround):
http://code.google.com/p/android/issues/detail?id=1811 in particular comment 83 and comment 84.
The work around is to reconfigure the mail application’s SQLite database to point to IMAP provided folders rather than the default folders which do not work. On the surface it is pretty easy if your phone is rooted – no idea how I’d do this if the phone was not rooted.
The method I used in the end, to get around the SQLite database files being in use, was to boot to clockworkmod-recovery, mount /data, adb the necessary files to the PC, edit the datafiles using SQLite and push them back using ADB.
The updating of the database is the trick. First, the ID of the account to be “fixed” needs to be determined. This account ID is then used to get a list of corresponding folders’ IDs from the mailboxs [sic]. These IDs and names are then used to update the accounts table which is the “magic bit”.
Here is the code snippet of the steps I followed. If you have a vague idea of technical stuff in this area, you should be able to follow the steps.
**boot into clockworkmod recovery
** mount /data on the phone
** connect USB cable to phone and PC and select HTC Sync mode
** check device can be seen by adb:
adb devices
** copy the data files from the phone to your PC (might not have the -shm and -wal files):
adb pull /data/data/com.htc.android.mail/databases/mail.db adb pull /data/data/com.htc.android.mail/databases/mail.db-shm adb pull /data/data/com.htc.android.mail/databases/mail.db-wal
** run sqlite on the data files
sqlite3.exe mail.db sqlite> pragma wal_checkpoint; -- to clear the sqlite logfiles... sqlite> pragma wal_checkpoint(FULL); -- to clear the sqlite logfiles... sqlite> sqlite> .headers on -- to make it easier to see whats happening sqlite> .mode column -- or .mode list sqlite> --view the current folders for all accounts sqlite> select _id, _name, _sentfolder, _sentfoldertext, _sentfolderid from accounts; sqlite> select _id, _name, _trashfolder, _trashfoldertext, _trashfolderid from accounts; sqlite> select _id, _name, _draftfolder, _draftfoldertext, _draftfolderid from accounts;
** based on output from above, determine the _id value for the account to modify (1 is used below in example):
sqlite> select * from mailboxs where _account=1; --where 1 is from _ID above sqlite> --below command is more succinct and useful... sqlite> select _id,_undecodename,_decodename,_shortname from mailboxs where _account=1; --where 1 is _ID above
** the above will give a list of folder IDs and corresponding names. Hopefully, the _undecodename, _decodename and _shortname fields are equal. If not, then I’m not sure which you’d use in the step below – some trial and error might be needed, but I’d start with the _decodename values.
** if you have a large number of IMAP folders and a “typical” IMAP server, the following should list the three needed folders and their associated IDs:
sqlite> select _id,_undecodename,_decodename,_shortname from mailboxs
...> where _account=1 and
...> _shortname in ("INBOX.Drafts","INBOX.Sent","INBOX.Trash");
** Once you have the folders’ _id values you use them in the commands below, changing the _sentfolderid, _trashfolderid and _draftfolderid values to correspond with those shown in the above step. Note to change the where clause to reflect the correct account _id used above.
sqlite> --update the folder details sqlite> update accounts set _sentfolder = 'INBOX.Sent', _sentfoldertext = 'INBOX.Sent', _sentfolderid = 23 where _id=1; sqlite> update accounts set _trashfolder = 'INBOX.Trash', _trashfoldertext = 'INBOX.Trash', _trashfolderid = 9 where _id=1; sqlite> update accounts set _draftfolder = 'INBOX.Drafts', _draftfoldertext = 'INBOX.Drafts', _draftfolderid = 27 where _id=1; sqlite> --exit from sqlite sqlite> .quit
** back at your DOS prompt, delete the files on your phone (maybe mv instead for backup purposes?? – your choice) and push the updated files
adb shell rm /data/data/com.htc.android.mail/databases/mail.db adb shell rm /data/data/com.htc.android.mail/databases/mail.db-wal adb shell rm /data/data/com.htc.android.mail/databases/mail.db-shm adb push mail.db /data/data/com.htc.android.mail/databases/mail.db adb push mail.db-wal /data/data/com.htc.android.mail/databases/mail.db-wal adb push mail.db-shm /data/data/com.htc.android.mail/databases/mail.db-shm
**reboot the phone and hopefully all is working with the correct folders!!
adb reboot
Note: If your phone has sqlite3 installed on it and it is rooted, you may be able to issue the above sqlite commands without having to boot into recovery mode. I’m not sure how well the mail app would behave with it’s configuration changing while it is running.
Note2: You do this at your own risk, etc etc. It worked for me. It might work for you – or it might not.
Twitter Updates for 2011-09-16
Twitter Updates for 2011-09-06
- @firstcc will the 904 from stp call at lbg? The platform signs so no trains calling at lbg #
- @FirstCC so tube it is then from stp. Thanks for confirming this. I originally meant the 904 from sac not stp. #
- @FirstCC thanks for the info. Have a good day Ally. #
- I think the vandals who caused the lbg @firstcc disruption should be flogged and made to face the wrath of fcc passengers! #vandals #
Twitter Updates for 2011-09-04
- On @firstcc home. Apart from having to get to stp rather than on at lbg, all is good. Ok, apart from drunk couple and loud music bloke #
- Wondering how much of anger towards @firstcc should be at @networkrail ? Lack of drivers fine, fcc fault but signalling or track failures? #
HTC Sensation vs BlackBerry 9780
I’ve recently been comparing a HTC Sensation with a BlackBerry 9780. There are plenty of reviews and comparisons on the web about the merits of various devices. I am going to list the pros and cons I have noticed of the above two devices:
BlackBerry 9780
Pros:
- More business oriented with associated security policies and features
- Tight MS Exchange and Lotus Domino integration
- Actual keyboard makes typing easier
Cons:
- Small screen and keyboard
- Relies on centralised server model – BlackBerry and carrier infrastrcture
HTC Sensation
Pros:
- Larger screen and touch sensitive makes application usage easier
- Larger application market place and hence more functionality on the go
- Inbuilt IMAP / POP client
Cons:
- Large screen makes single-handed handling difficult
- Touch screen results in error touches esp with using the camera
- Poor battery life
- No alarm functionality to wake phone when turned off (I’d like to be able to turn off to save battery overnight)
- No “always on” or “auto-reconnect” VPN option. You need to re-authenticate to VPN server frequently
- No task list / notes synchronisation with MS Exchange
- Inbuilt IMAP client does not support the INBOX prefix option (work around possible)
- Large market place results in many gimmicky apps
- No sync of Exchange tasks or Exchange notes
- Not possible to create repeating appointments with an end date
Overall I like the HTC. That said, it’s clearly not designed as a “phone and mobile Outlook” device with apps as second priority like the BlackBerry. The HTC (and most Android devices to be fair) are clearly about applications and “the cloud”*. The HTC Sensation is a little big for sticking in a pocket and the battery life is worrying – having to charge it every day with not much usage is a tough sell.
So for the moment I am sticking with the 9780 as my “main device” for phone etc but I am still evaluating the HTC 🙂
* I hate the term “The Cloud” – it’s just a new word for the Internet really….