Article History

April 2011




Went with Mum and Dad to Sarah's school for “grandparents day”. There was a presentation in the school hall and then we looked around a bit before waiting for Sarah to come out of class for lunch.

3rd or 4th

Went outside just before sunset to take photos during the magic hour. Only got one. I really need to finish this roll of Velvia!


Early start. Me and Dad left for Sydney just before 7am. The traffic was alright most of the way but did slow down on a stretch of the M4. We arrived at Concord Hospital just on 10 so Dad dropped me off while he went to park the car. After some confusion I found the doctor's office, only to be told that I needed to go to the hospital itself to have the examination. So over to the main building and I found the “ACE” unit. I was told to take a seat in the waiting room. Dad SMS'd me to find out where I was and he found me soon enough. He told me I had left my MRI scans (from November) in the car and asked if I needed them. Oh yeah, I did - so he went back to get them. A receptionist took down my details and had me sign forms for Medicare and NIB. Dad eventually came back with the large envelope containing my MRI scans.

After a while a nurse asked me to come with her to a room down a corridor. After taking off my pants and putting on a gown I was told to lie on my side on a bed. And there I waited. The nurse left several times to get pieces of equipment, but I waited a good ten to fifteen minutes before the doctor turned up. It was now after 11. The doctor asked me about my recent problems and then started performing the ultrasound examination. That wasn't a lot of fun. But it didn't require an enema like I had been told, and I got to watch the screen showing strange pictures of my insides. The nurse was pacing most of the time, which was both mildly annoying and a little amusing.

He didn't find anything unusual, except for a small something that might have been an abscess (oh great) or just scare tissue. He took a bunch of print-outs of some areas. While I got dressed in the change room/toilet, he took a look at my MRI scans. And that was it. I found Dad in the waiting room and we walked all the way back to the car. The car park is large and he parked a good way down it. No wonder it took him so long to come back with my MRI scans earlier! It was getting close to midday so we decided to eat lunch. Dad found a nearby park on his iPhone and we drove around to it, only to find that it was a Kokoda memorial park - there was a mangrove-like area along the shore of the harbour/river, trees everywhere, paths going around the place, and a contingent of school children on some sort of excursion. Even though there was a large covered eating area, the children were clearly moving towards it to have their own lunch. Dad and I wondered off down some of the paths and found a suitable bench to sit on. But it started raining not long after and we had to retreat to the car. Having finished our lunches, we headed home.

Installed CM7 0.08-11.04.05 RC4 on my phone. This time I didn't do a factory wipe, simply clearing the caches and installed the update over the current system. I had to edit the /etc/init.d/10overclock startup script slightly because of changes made to the overclock module. We can now choose from five frequencies!


Babysat Zac again while Alissa had a second try at getting her driving licence. He played more on my phone. He liked playing videos, in particular the first Baman Piderman video (Find Da Sandwich) because it starts with a phone ringing, which confused Alissa the first few times. I should put other videos on. After Alissa left we went out the back and I pushed him on the swings.

After a while of that he ran back inside and grabbed a spare set of keys on the filing cabinet and went back out to the garage. Alissa had told me that the only other key was on her keyring, so we couldn't get into the garage while she was gone. But one of the keys on this set worked. Was this just chance, or had Zac seen someone use this set of keys before? Kids can sometimes amaze you with the details they focus on and remember. He couldn't remember where his hat was, but I wouldn't put it past Zac to remember his Dad or Mum using that set to open the garage once.

So we got into the garage and Zac got to play with a few of the bikes in it. We were still playing on the driveway when Alissa got home and held up her new ‘P’ plates. She'd passed! She promptly started SMS'ing everyone she knew and ran out of credit just as quickly.

I again hung around for the rest of the day. We walked over to the public school to pick up Sarah. Zac played around on an open area with some other kids while we waited. Then when school finished Sarah also played around a bit before we headed home. On the way home we dropped in to Alex and Belle's place to talk about licences and stuff.

I read a page about recalibrating the battery data on an Android phone. So I charged up the phone, rebooted into recovery, deleted batterystats.bin, and rebooted back into Android. I'll let it run all the way down.


Had a check-up with my surgeon. The biopsies he took during the colonoscopy came back negative but the only thing he had from Concord Hospital about the ultrasound was a confirmation of my admission. He rang them and they said the offices were being moved about or something. They would send over the report on Monday and I should ring on Tuesday.

I walked from the surgeon's office into town with time to kill. The appointment was a quarter to three, and the bus company also runs school bus services in the morning and afternoon - meaning no buses during the three-o'clock block. So I had an hour to kill. I finished off the roll of Velvia in my Electro at the fountain in Machattie park.

While I as in the waiting room at the doctor's I heard on the radio that the Bathurst Show was taking entries for their various competitions. I hadn't entered the photo comp last year because of a bad impression in 2009. I thought I must have missed this years‘ show, even though I hadn’t heard anything about it. So I walked into the old shopping centre and the photography section of Big W. I asked the girl at the desk if they had any information on the Bathurst Show photographic competition. She did and handed over an entry form. Entries close on the 14th, six days to go!

I went over to Dick Smith in the new shopping centre to kill some more time waiting for the 16:30 bus back. Dad texted me and offered to pick me up.

By the time I got home the battery on my phone was pretty low. It got down to 5% and I expected it to shut down soon so I left it “asleep”. That turned out to be most of the evening before it eventually did shut down. I then plugged it into the AC adaptor and charged it up in the “off” mode i.e with the big battery picture. Once it said 100% I restarted it into normal mode and plugged it into my computer, where it continued charging. How will this affect future charge statuses?


Went to the computer fair and bought two Western Digital Caviar Green 1TB hard disks. With these and some left-over RAM from Mum, I can finally use the motherboard and CPU that Scott donated last year to give my server(s) a major upgrade! He gave us/me an Athlon64 x2 CPU and an AM2 motherboard. I will set up the two hard disks in a RAID-1 mirroring setup, just like I have on two other machines to guard against failures.

With this much CPU power, RAM, and disk space I plan to not only upgrade my ‘main’ server but also merge in the data and services of my ‘storage’ server. The ‘main’ server is an aging Athlon-750 with 640 MB of RAM and a 14 GB IDE disk that must be close to failing. It runs this web site and an internal one. My ‘storage’ server is an even older K6-Ⅲ-400, also with 640 MB of RAM, but with an odd 120 GB and 80 GB pair of disks in a RAID-1 mirror setup. It stores my home directory, email, and Subversion repository (with a RedMine web site).

But that upgrade will have to wait. I need to select photos for the Bathurst Show photo comp.


Alissa and the kids came over to visit just as Mum and Dad left to go shopping. So I got to play with them while talking to Liss.


Alissa's birthday! We drove over in the evening for a visit and Mum gave her a present. Their pizza dinner soon arrived and we left them to eat. We dropped into a pizza place on the way home and had pizza for dinner too.


Trying to get some photos printed for this years‘ photo competition in the Bathurst Show. I’d spent the last few days choosing, and even cleaning up a few B&W photos I haven't put on dA/Flickr yet, but eventually decided against them.

I had to ring my surgeon's office to get the results from the ultrasound in Concord. I was waiting for his return call before heading into town to print my photos. The 1:45 bus came and went. Approaching 2:45 I called his office again and told the secretary to call my mobile because I was going out. As I was putting on my shoes, the bus drove past the window. Damn. There's no 3:45 bus because they're off doing the school runs, and 4:45 would be too late.

Well the doctor did eventually ring and said the report wasn't entirely good. There is a small abscess in there that could flair up soon. So just wait and see. Great...

Dad got home around 4 and agreed to drive me into town. As it turned out, Digital Prints and Images is open to 5:30. So I could have taken the 4:45 bus in if Dad wasn't available. I got five photos printed at 8×12" and arranged to have them mounted on cardboard. Each print was a little over $6, but the mounting was another $7! Is the cardboard and labour really that expensive? And the prints weren't that crisp either. I wonder if the HP software down-scales the images somewhere along the line.


Took the bus into town to pick up my photos and enter them at the show ground office.

Then I walked home.

Installed Cronos Ginger 1.2 on my phone and customised it heavily with some CM7 components - new overlocking module, ext4, and replacing Loader with ADW.

Prompted by some discussion on XDA, I tried out ‘app2ext’. I used gparted to resize the FAT32 filesystem/partition on my SD card, added a 256 MiB partition, and created an ext4 filesystem on it. Rebooted my phone and the /etc/init.d/07app2ext script moved my apps and the dalvik cache over, bind-mounting back to the original locations in /system. I had moved a few apps over to the SD card (the FAT32 partition), so I moved them “back to phone” (actually the ext4 partition).

This has freed up a good chunk of space on my phone, although I‘m not sure that’s really so important at the moment. I never really ran into a problem of filling up my phone's storage. A real advantage, however, may be in speed. Running some simple speed tests with "dd" on the raw block devices, my SD card can read data twice as fast as the on-board flash. Don't know about write speed.


Started another rewrite of the database schema in the long-running development of the next major version of “NSK”, the software that runs this wiki. This new schema is based loosely on the description of Git in Wikipedia (basically the bit about the four types of objects it stores). Fundamentally it's a simpler schema, simply storing a “tree” of records for each revision instead of trying to be clever with deltas/differences between revisions. In practice it's a little more complicated because I have to add extra tables to record moves/renames or copies, which the previous schema recorded as part of its core structure (well, not copies actually).

I figure that the storage of many versions of text is not a huge problem; storage is cheap and the biggest users of storage will likely be non-text formats that are likely to have far fewer revisions made to them (if any) and were never going to be stored as deltas anyway. It's far more difficult to perform delta/difference determination on “binary” data and modern encodings are likely to make it next to useless. And I do plan to have an “archive” functionality for bundling up old/distant revisions of file (blob) data into (probably) compressed tar files.


I found that I could not play any music or video on my phone. Music tracks would play a little but then skip to the next track. Videos would fail outright with an error message about being unable to play the file (format?). I was perplexed and disappointed. Was this due to Cronos? Some problem in CM7 RC4.1?

The only clue I had to go on was a bunch of “mailbox full” errors coming from the DSP manager. Googling for this error turned up nothing terribly useful. At least one person was naturally confused because his Gmail mailbox wasn't full! I knew it was something to do with the communications to the TI C64x DSP on the OMAP SoC. Clearly!


Thinking that my problems playing music and videos on my phone might have been caused by the "advanced system tweaks" in AKMO, I unset them all in the settings and rebooted. Music played properly again! So was that the cause of the problem?

No. I was having trouble with the 10overclock init script. The overclock module wasn't loading; I figured out later that it required the cpufreq_stats module to be loaded before it. After I had rebooted and gotten the music working, I manually ran the 10overclock script and soon found the music failing again. So it was the overlocking module?

Or was it the settings? I had recently changed my vsel settings, in particular really turning down the voltage on the two lowest clock speeds: 125 and 250 MHz. I put them back to my higher settings and the music worked again. At the command prompt I went though the 125, 250, and 400 MHz speeds, lowering the vsel on each until it faltered and then putting it back up to a “safe” level. These are now my new vsel settings. Surprisingly the voltage for 125 MHz is quite close to the one for 250 MHz: vsel 24 vs 26 (0.9 vs 0.925 V).


I decided I should try CyanogenMod 6, based on Froyo (Android 2.2). The reasoning being that apparently Gingerbread (2.3) is meant for devices with more memory than my Milestone has (256 MB). Which is why I have to use special tweaks to get it into a mostly-usable form. I've been running various forms of Gingerbread for a while now and I wondered if a Froyo-based version would be faster and lighter.

I backed up my apps and the “green” system items in Titanium backup before also making a nandroid backup of my Cronos installation. I then performed a factory wipe and installed CM 6.1.2 for Milestone version 0.08-11.03.18 and gapps 20101114 (my birthday!). I used TB to restore some system settings but upon reboot it wasn't happy, so I had to redo the installation and do without a lot of my system data/settings.

Boy, Android 2.2 certainly appears quite different to 2.3. All of the status icons are different. The App Market has changed quite a lot. For a while I was trying to figure out where “my apps” had gone before realising it's in “downloads”. And there's a lot fewer customisation settings in CM Settings. I installed Auto Killer Memory Optimizer to be able to monitor the amount of free memory and tweak the minkiller settings.


Still struggling with CM6 on my phone. The older/simpler software is a little annoying. For some reason Titanium Backup really doesn't want to do batch restores of software. After restoring an app it always goes back to the start screen. I've had this happen many times before with TB, but always thought it only happened with apps that installed something into the system; most apps would install okay after a few of these annoying false-starts. But on 2.2/CM6 it seems to be every single app! I wonder if it is something to do with old versions of “root” tools like BusyBox or SuperUser.


New release of CyanogenMod 7 for Milestone; now the “final” CM7, not a release candidate (RC). I really did not like CM6 and it didn't seem to offer any advantages over the Gingerbread-based CM7. So I did a factory wipe and installed CM7 0.08-11.04.18 7.0.0. Since CM6 didn't use the ext4 partition on my SD card (it mounted it but didn't do the apps2ext bind-mounting), my apps all just appeared! That was nice. My home screen was still blank though, ADW's settings weren't saved. And a few other apps had appeared to have lost their data, so I removed and restored them with Titanium Backup.

Used zeppelinrox's Supercharging scripts. He's been working on them a lot. I originally used his ‘minfree’ settings to create my own startup script in /etc/init.d a month or so ago, but he's now using an app called ‘gscript’ to run shell scripts which modify the system startup. And instead of using init scripts, his gscripts instead modify the /init.mapphone_umts.rc file. I don't know what executes these rc files, but they‘re obviously run very early. And non-rooted systems apparently don’t run startup scripts in /etc/init.d, so his changes will work there too.

I also saw him mention his SUPERTEST scripts with new changes to the priorities the different classes of processes have, changing the order in which they will be killed to free up RAM. So I tried them too. These settings seem to be working. I'm not exactly sure how to really test them though.


Tweaked the default min/max_cpu_load settings for the ‘smartass’ CPU frequency governor. These values determine when the clock speed will change up or down based on CPU load. The defaults are 20 and 80 i.e the clock speed will drop down to the next entry when the CPU load is below 20%, and increase to the next entry when it's above 80%. I thought these settings were a little sloppy. Since my clock speeds are in an approximate geometric sequence, I figured I could do better. In particular, I wanted to raise the min_cpu_load value so that the CPU tended to switch down a little more.

So I made up a spreadsheet to calculate various things. One concern was what happens to the CPU load when the clock frequency is changed up or down ― if the over/under regions of two adjacent speeds overlap, a particular CPU load could cause the governor to keep flipping between two speeds. I eventually settled on only a slight increase to 30 and 90 for the min/max CPU load triggers.


Changed the clock speeds on my phone down a bit. I'd been running a max of 1100 MHz for a while (125/250/400/700/1100) and didn't like the way it heated up at times. Now it only tops out at 1000 MHz with a slightly better geometric progression: 125/200/350/600/1000. This allowed me to increase the minimum CPU load trigger for the ‘smartass’ governor to 40%, up from 30%.


Finished off the roll of Lucky SHD100 in my Pentacon Six shooting the backyard and front with my Arsat fisheye lens.

Glenn and Tania are up for Easter. They popped in while Mum and Dad where out having dinner (and I making my own) to drop off the customary bag of oysters for Dad.



Went over to Andrew and Alissa's to give the kids some chocolate eggs. They were hyper! We're not sure if it was all the chocolate or the excitement of seeing us after two weeks of school holidays, but they were constantly running and doing stuff. They gave me a chocolate bunny :)

New release of CM7 (7.0.1) for the Milestone. The updates and fixes are getting relatively minor now, so I guess it's fairly stable now. I didn't notice any change.


Tried MIUI on my Milestone (see here for the download). The UI is very different to other Android ROMs. It was very impressive, but the default theme was too much like the iPhone for me. I tried changing themes but that failed, I think because it ran out of memory. The performance wasn't the best and some of the changes were too drastic for my liking, so I soon wiped over it with the nandroid backup I'd made of my CM7 installation. I might try it again some time later when I have the time to figure it all out.


Watched the wedding of Prince William and Cate Middleton. It was nice to watch all the pomp and ceremony, but geez the religious really banged on about “natural marriage” and one man, one woman. Even Cate's brother joined in. They might as well have just summed it all up with “no poofters!”.