Article History

May 2011




I made the final preparations for the upgrade of my server, taliesin. I shut down the aging Athlon-750 (slot-A cartridge) with a 14 GB IBM hard disk. I then set about removing the Ricoh CD-R/RW drive, hard disk, and motherboard, vacuuming up lots of dust as I went. Then it was in with Scott's donated motherboard (Gigabyte M61P-S3) and CPU (Athlon 64 X2 4800+), with 2 GB of RAM, and 2 × 1 TB hard disks.

I booted the new taliesin with a USB flash drive loaded the Debian installer. I had difficulty when setting up the disks. I was concerned that these 1 TB drives were too large for the legacy PC BIOS partition format, so I wanted to just place LVM physical volumes (PV‘s) straight on each and essentially use LVM as the partition format. I was pretty sure that GRUB 2 could read LVM, so I didn’t think it would be a problem. It didn't take too long to do at the command line and I soon had the DI interface understanding what logical volumes/filesystems I wanted made in LVM. All seemed to be okay and I let it download all the Debian stable packages. But then it came time to install the GRUB bootloader and it wasn't happy. The grub-setup program just did not want to “find” the /boot filesystem.

I eventually gave up and tried again. And again. I tried a few different alternatives over the night. It was really slow because this problem occurred in the very last stage of the installation process. However I found I could boot the installer in advanced mode and specify a few extra details, like the distribution to install (sid instead of wheezy). I also realised I could point the installer at apt-cacher on the family's server. That really sped up the process because a many of the required packages were already in the cache, and they certainly were after the first failed install attempt (after realising I could do this).


Eventually I resorted to creating a partition table — a GPT, not a PC BIOS partition table. The first partition is used for /boot to keep GRUB happy, and the second is for the LVM PV. I partitioned each disk identically even though they're not really in a RAID-1 setup. The root filesystem is on a logical volume (LV).

I managed to get LDAP set up for authentication, PostgreSQL for several important databases, PowerDNS (which uses Pg), Apache, and finally my Digitemp software for logging temperature readings (which required a lot of Perl packages to be installed). Once I was happy that was recording temperatures again, I was happy to go to bed.

Our phone line went totally dead at about 9:30 am in preparation for an upgrade to ADSL2. An hour or two later the dial-tone came back but no ADSL sync. I got taliesin installed just in time! But I still need to install lots more software.

The ‘multimedia dock’ for my phone arrived. I now have somewhere proper to put my phone when I'm at my computer.


Our ADSL2 modem finally got a sync at about 11:30 am. We've now got a 6 Mb/s connection!

I went to sleep not long after our connection came up. When Mum came home from work I heard Dad telling her it was “crap”, which confused me. When I got up a few hours later he told me it was unreliable, with web pages having trouble loading. For an engineer, Dad is notoriously bad at describing networking problems. I checked the PPP log on baal, our router, and sure enough it was going up and down every few minutes. Crap. And thus began the ordeal of trying to get Exetel to do something about it...


I tried to put one of the matte screen protectors on my phone. I cleaned the screen with isopropyl alcohol, peeled back the first covering layer from the protector sheet, and tried applying it to the screen. It took a few tries, but it started going on well. But I noticed little flecks of dust under the protector, so I removed it, cleaned the flecks away, and started reapplying the it. That happened a few times before I got it all on. Then I noticed more flecks under it, so I peeled it up and tried to remove them. At some point a large cluster of dust or something got under the protector and it was all ruined. It looked pretty much like the screen protector mum has on her Canon dSLR.

Perhaps I shouldn't have tried to apply the protector in my not-overly-well-lit room and while in need of a shower. Having my head so close, most of those flecks probably came directly from my face or scalp. Oh well. I have others, so lets wait until I can do a proper job of applying them.


Take two of trying to apply a matte screen protector to my phone. I'd showered the night before, but just to make sure I wouldn't be a source of dead skin flakes, I washed my face with a wash cloth and even wiped down my arms and wetted my hair. I set up on the dining room table with the curtains open and the lights on.

I cleaned the screen with isopropyl alcohol again and made sure there were no specks of dust or anything on the screen. I cleaned away some specks and then noticed a few more just moments later. I sat there for quite a while waiting as new specks would appear on the screen and I would wipe them off. It became an experiment to find out what was causing the specks to appear on the screen. I deliberately breathed in the direction of my phone - that didn't seem to produce more specks. I was using a (clean) hanky to clean the screen, so I waved it around in the air - still nothing. It didn't appear I was the source of these specks, so I continued.

I peeled off part of the first covering layer from the protector and took several tries to get it onto the screen right. I smoothed it all down, removing all of the first layer. Then I noticed the top wasn't sticking properly because I had placed it a little too high and the lip around the edge of the glass was holding it off. So I managed to peel the whole thing off and place it back better. I smoothed out the bubbles and made sure it was all stuck down properly before removing the second covering layer to reveal the matte finish. Some more smoothing and it was all done.

So what's it like? It feels like paper when I‘m moving my finger on the screen. The matte finish cuts down on the glossy highlights, but at the same time it picks up light from all directions, lightening the screen all over; this reduces contrast. And it is kinda fuzzy. I’m not sure if I like it. I'll leave it on for a week or so before thinking of trying one of the glossy types.

Dad and I bought a new ADSL2 modem from Harvey Norman to test our line, which is still going up and down very regularly. We set it up plugged into Mum's machine, using the supplied software. Mum and Dad originally thought it worked, but some surfing and then pinging revealed it was still going up and down. So it's not our modem or my unusual bridged-PPP setup.


Royal Bathurst Show! We arrived not long after 11 am and went to check out the photos in the photo competition. I was once again disappointed. The photos I entered weren't that great, so I wasn't so surprised that I didn't win anything. There were some nice photos on display, but again the ones winning awards (and especially the “highly commended” ones) seemed to be ones that had cheap digital effects applied. Especially annoying was the few people who had obviously applied the same or similar effect to a bunch of their photos and received awards across most of them. That just reeks of an unsophisticated judge or judges. Almost exactly the same thing happened two years ago and was the main reason I didn't enter any photos last year.

We then walked around to the area where the wood chopping was happening. We met Alissa and Sarah there; Andrew had taken Zac off to the toilet. We watched Liss's brother Gem and Bradie compete at wood chopping.


Mother's Day!

Had lunch at Church Bar and Woodfired Pizza.

Glenn and Tania announced they had finally bought the house they were looking at when we visited them in March. But first the guy still living there has to move out. They don't get to move in until the 5th of August.


Finished sorting out how much disk space I use for the various stashes of files I have on various machines and thus how much I need to move them onto my new/upgraded server. I sorted these ‘stashes’ into five types of data, and then finally into three broad categories. These will be the LVM logical volumes (LV's) and filesystems I will create:

Film scans and other media I either want to openly share with others, or don't mind doing so.
Home directories and some other private data. Still shared on the network, as home directories usually are, but with more strict access restrictions.
These files are usually accessed by more specific protocols e.g email (Cyrus IMAP), Subversion and web sites (HTTP/WEBDAV).

The last one is actually quite small; only about 1 GB at the moment but I'll allocate 10 GB just because it'll probably grow and I have the space available, so why not?

The other two are 200 GB each.


Processed two rolls of FP4+ (135) in HC-110, which came out well, and then stand development of a roll of Lucky SHD100 (120). I had a lot of trouble getting the 120 roll onto the spiral and at some point one of the arm holes on the film changing bag must have let some light in. There's maybe a few usable frames, if I‘m lucky. Should I try to get some stainless steel spirals? I’ve heard they‘re much better for 120 film because of the different way it’s loaded.


Moved my home directory from zoe onto the new /Private filesystem on taliesin. Updated my home directory path in our two LDAP servers. Now I just need to find all the other places my home directory path has been stored...

Installed FroyoMod 2.7.0 on my phone.


Took note of the Ethernet cables going into the gigabit switch. I found that zoe (my old file and email server) is plugged into it, even though it doesn't have a gigabit Ethernet card, and taliesin is the only remaining system going through my old 100mbit switch. I tried plugging it into the gigabit switch but soon had problems! The lights on the switch kept running through a pattern suggesting it was resetting or something. The network was dead! I was also moving some other cables around at the time so I didn't notice it at first and then wasn't sure what I had down to cause it. But it turned out to be taliesin and the on-board Ethernet on its crappy nForce-chipset motherboard.

I was originally blaming the “Reverse Engineered nForce ethernet driver” (that's what it says in the kernel log). But some Googling turned up "the forcedeth story". It turns out nVidia eventually contributed patches to ‘forcedeth’ and even abandoned their proprietary ‘nvnet’ driver. So I don't know what caused my problem.

Taliesin also had the “VFS: file-max limit reached” error that zoe had been having the last week or so. I rebooted it but there were still some problems. Why isn't anything working?!?

Played around with my old Bluetooth GPS receiver and a few “Bluetooth GPS provider” apps on my Android phone. These apps receive the GPS data and provide “mock” location data to the system instead of using the built-in GPS. The last time I'd tried these apps they didn't seem to work well. I remember trying one with OSMAnd and seeing its icon disappear from the notification bar — was OSMAnd killing the Bluetooth GPS provider? Well, they worked well now. Perhaps the use of zeppelinrox's memory manager tweaks help give enough memory to keep everything running.


Mum, Dad, and myself are travelling to the Central Coast for a late Mother's Day dinner with Grandma.

Before we left I purchased an “Internet Essentials” add-on from Vodafone. This gives me 100 MB of data transfer on my pre-paid plan for $5, but only lasts 30 days. That's actually quite good. What isn't good is the way it's purchased and added to my account — as essentially another recharge. That's right; even though they had some of my money as credit in my account, I still had to go to a physical Vodafone shop and hand over more real-world money to get another receipt with another 12-digit code to be entered into their recharge system. Why can't you just buy add-ons using the money you‘ve already given them? I don’t know. Lets hope they're working on something like that though.

Then it was off to the Central Coast. How many times have we made this trip over the last 20 years? Quite a few. My Bluetooth GPS receiver was back on the dashboard, right up against the glass. It was logging, as well as OSMAnd. I also had ‘wardrive’ running the whole time to find Wifi access points. Just for the hell of it.

We checked into the motel near Lake Entrance and hung around a little watching TV. Then we changed into our good clothes. At Mum's insistence I had brought the pants and long-sleeve shirt they'd bought me for Glenn and Tania's wedding. I'd also brought a short-sleeved (button-up) shirt with a design on one side of the front. I put on that shirt and pants and they accepted it, saving me from wearing the boring long-sleeve shirt.

We drove around to Grandma's and picked her up. Then it was back around to Lake Entrance, to a restaurant on the beach. It was very close to where Mum's parents used to have a house, also on the beach and with a pool that I learned to swim in. The sound of the ocean was amazing and totally unexpected. I've missed that so much since we moved inland to Bathurst.

After dinner we went back to Grandma's flat and talked and watched TV for a little while.


Checked out of the motel and went back to the beach to take more photos. There was a large public pool right on the beach and Mum told me that was where the school took us for swimming lessons. Even when it was cold and raining! I definitely remember that!

Went to Grandma's place again, then took her shopping and had lunch. We went back to her place and spent a little more time with her. Then it was time to leave. We visited Grandma Colmer's grave to put flowers on it. I used GPS Averaging to get a very accurate placement on her grave. I did this last year with my Nokia phone and the same Bluetooth GPS receiver, but the software truncated the coordinates, negating at least some of the gained accuracy. Then it was off back home. We got Pizza at the new Domino's Pizza near Bunning's on the highway.

Installed CM 7.1 RC3 (11.05.15) on my phone. FroyoMod had been very good, much better than the seemingly-abandoned Froyo-based mods I'd tried before — CM6 and Cronos. But I again came to the conclusion that it didn't offer any perceived advantage while missing out on a few nice additions of Gingerbread/CM7. And a few apps didn't work but now do on GB.


Spent most of the day running bonnie++ benchmarks on taliesin. The performance of the filesystems I'd created on this system have been absolutely terrible. I first made a small mirrored logical volume with a ‘region size’ of 1 MiB and then created on that an XFS filesystem with stripe unit/width (su/sw) parameters that matched this region size. The block I/O certainly improved, along with a small improvement in random I/O, but file creation and deletion still sucked.

I tried BTRFS to see how well it did. It performed better, particularly with the file creation and deletion. That was with LVM doing the RAID-1 mirroring. I ran a second test where BTRFS did the mirroring across two logical volumes on the two hard disks. That performed even better in the I/O tests. As tempting as it was to use BTRFS, it is still experimental and has probably another year or two of development to go before it can be considered safe to use.

Lastly I tried Ext4. I‘m already using this for the root filesystem (and on my phone as part of the ’apps2ext‘ configuration). This filesystem performed well across the board. So that’s what I'm going with. And I still have enough space on my disks that I can create new logical volumes and do the moving without moving the data to another system on the network. Moving /Data over was quick enough. It only had my Web/SVN/Trac data. I created the 200 GB LV for /Private to let the mirror sync up overnight.


Started moving over /Private to the new Ext4 filesystem. That holds mostly home directories, so I had to logout of my desktop when it came to moving my home directory over and then swapping the LV's/filesystems. All seems to be working well.

I created the new ‘public’ LV, created an Ext4 filesystem on it and started moving stuff over. The big item on this fs is my film scans that used to sit on a single hard disk on another server. Waiting for it all to transfer over kept me up quite late and in the end I had to got to bed before it all finished.


Moved the last of my scans over onto /Public. Renamed the LV's, mounted the new Ext4 fs and made sure NFS was happy. The result? Not seemingly faster. This is very annoying.

Started checking out Digitemp2 to see why the web interface wasn't running. It was exiting because a Moose model wasn't happy with feeding an ‘undef’ value to an attribute requiring a number. Why was this happening? Because the fetching of “min/max” data wasn't returning a row. And why was that? Because it hadn't been collecting temperature data for almost a week. Damn!


Still trying to get to the bottom of the seemingly poor performance of my new server. Before I'd turned my machine on, I went downstairs and got on Mum's computer. I fired up XnView and browsed over to my film scans on /Public/Scans. The thumbnails were being generated at an acceptable rate. Strange.

I fired up my machine and loaded up Gthumb as the root user, which obviously has a home directory on the local disk. Again, thumbnails were being generated at an acceptable rate. What is wrong with my server?

Discovered that the use of 4KiB sectors on hard disks is marketed under the name "Advanced Format" (AF), that my two Western Digital WD10EARS drives include AF, and that the GPT partitions I created are not aligned on 4KiB boundaries (8× 512 byte sectors). This would be affecting the write performance, but might not be the cause of the huge slowdown I see on some operations e.g generating thumbnails in a directory of images. I will probably be able to realign the LVM PV partitions on-line, but it will involve a lot of resyncing in between.


Our ADSL connection died completely at 5 am. Absolutely no sync. Mum rang Exetel and they had no reports of any action on our line. So we dunno what's going on or when it'll be back.

Andrew visited us by using his motorbike, which finally got back from the mechanics‘. It’s only been, what, 5 months?


Ah crap, I have a cold. I have a persistent cough and sore throat. Did Andrew give it to me yesterday, or perhaps his children two weeks ago at the Mothers Day lunch? I didn't come into close contact with anyone last weekend, except a few hugs and kisses for grandma. So my niece and nephew are the likely culprits. It wouldn't be the first time I've caught something off of one of them.


A Telstra technician had a look at our ADSL line at the exchange and fixed it. Thank you! He came out to our place and had a little chat. He said about 50 other people were having trouble, but they weren't able to get any service at all. We were the only ones that had been getting anything. So he put us (and the others?) on a different DSLAM and everything's been right.

With our Internet connection back up and stable, I downloaded CM7.1.0 RC5 (11.05.20) and installed it on my phone. I had found the RC4 (11.05.19) release to be a little buggy but didn't find out about this big-fix release until after our ADSL went down.


Installed CM7.1.0 RC6 (11.05.26) on my phone. We finally have 1% resolution on battery level!

Had to fix the JavaScript in pwa.js for displaying thumbnails from Picasa Web Albums. It seems Google had once again subtly changed the JS/JSON code they send back and my code was (once again) not handling things 100% correctly. One of these days I should clean up the code. I‘m not even sure if I’m using the right service. I should read up Google's API docs to see if there's a better way to get PWA data...


Our hot water heater had sprung a smallish leak a week or so ago. It ruined a few things in the laundry, but mostly it was just a small trickle leading to the laundry floor drain. Today it got worse. The water leaked through the wall into the lounge room so Dad tore up the carpet and lining to mop it up. And he turned off the inlet tap supplying it with water. That means no hot water, but not necessarily the end of the leak (depends where it is).