<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Killing Mind</title>
<link>http://heath.hrsoftworks.net/blog/</link>
<description>Heath Raftery has a say. Sometimes writing it out clears it up.</description>
<copyright>Copyright 2011</copyright>
<lastBuildDate>Sun, 20 Feb 2011 16:33:27 +1000</lastBuildDate>
<generator>http://www.movabletype.org/?v=5.02</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 


<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/KillingMindRSS2" /><feedburner:info uri="killingmindrss2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
<title>Warrior Dashing</title>
<description>&lt;p&gt;Last Saturday was Australia's first taste of the Red Frog Events "Warrior Dash", a "mud-crawling, fire-leaping, extreme run from hell". A merry band of us warriors made the trek - just an hour drive from Newcastle - and discovered an enormous, well organised and super fun event. Perhaps more like a fun, dirty run through paddocks than an "extreme run from hell", but you have to excuse the hyperbolic marketing efforts associated with these things.&lt;/p&gt;
&lt;p&gt;On arriving we discovered a huge makeshift arena bordered by a creek on one side and the race track on the other. Marking the entrance to the arena was a narrow bridge, with a constant stream of ridiculously costumed, wide-eyed and keen racers heading in, with an equally constant stream of muddy, dishevelled and grinning finishers heading out. Inside the arena we found the check-in tents and collected a t-shirt, a timer chip, a horned warrior hat and a numbered bib. The arena also sported a tent selling huge turkey legs for gnawing on, a beer tent and a rock band on a stage.&lt;/p&gt;
&lt;p&gt;By the time we made the starting line for our half-hour wave there were already hundreds of people lined up ahead of us as we counted down the minutes to 12:30pm. My hangover had been building steadily to this point and reached a particularly unpleasant crescendo just before our race started. Feeling decidedly unwarrior-like, I swallowed breakfast for the fourth or fifth time and did some light stretching.&lt;/p&gt;
&lt;p&gt;Soon the flame cannons erupted over the starting line and the crowd shuffled forward. With so many people, adorned in so many awkward contumes, all funnelling through the start gate it was hardly a blistering start. But as soon as I crossed the start line my hang over cleared and I began 2 kilometers of weaving, skipping and squeezing through rows and rows of walking warriors. It proved an excellent chance to banter with a huge number of fellow competitors, if not an excellent chance to get into a stride.&lt;/p&gt;
&lt;p&gt;The obstacles that followed included walls to be climbed over, barriers to be crawled under, rivers to be swum and mud pits to be stuck in. There were slippery balance beams, A-frame rope nets and arrays of tyres. Particularly good fun was the series of cars, pairs of which were parked nose to nose, which had to be scaled, slid over or crawled through.&lt;/p&gt;
&lt;p&gt;The final two obstacles were the two fire pits and a long, deep, mud pit with barbed wire over it. The mud pit was lined with spectators and one gave me all the encouragement I needed, calling out "dive!" as I approached.&lt;/p&gt;
&lt;p&gt;I amazed, and glad, that this photo was captured and﻿ identified, because it represents the last second in the life and times of that magic green wig.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="wdash11_01852.jpg" src="http://heath.hrsoftworks.net/blog//wdash11_01852.jpg" border="0" alt="wdash11_01852.jpg" width="200" height="300" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;After a search through the unidentified photos I tagged another one of me at the A-frame rope nets. While I was searching I was also able to repay the identification favour and tagged one of Byron in the final mud pit.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="wdash11_18049.jpg" src="http://heath.hrsoftworks.net/blog//wdash11_18049.jpg" border="0" alt="wdash11_18049.jpg" width="200" height="300" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;But of course, the main reason for this post was to offer an analysis of the results of the race. When they were finally posted all that was available was two PDFs, one with results overall and one by age category. Neither PDF offered anyway of grabbing the data for further analysis, so I thought I'd save everyone the trouble and do it myself. Below you can see the distribution of overall race times for all participants. The pattern is quite remarkable I think. I've overlaid my result to give it some context. Congrats to Dyl who smashed it in in 26:04:45.&lt;/p&gt;
&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="wdash_results.png" src="http://heath.hrsoftworks.net/blog//wdash_results.png" border="0" alt="wdash_results.png" width="600" height="428" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/VQUi7NebYyA" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/VQUi7NebYyA/000267.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000267.html</guid>
<category>General</category>
<pubDate>Sun, 20 Feb 2011 16:33:27 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000267.html</feedburner:origLink></item>

<item>
<title>Changing CVs on a N15 Pulsar</title>
<description>&lt;p&gt;A friend's Pulsar developed the tell-tale "click, click, click" of shot CVs a while back but was able to drive on them for some time. When looking to sell the car however, the loud mechanical clicking every time a corner is taken does not make for a good sales pitch, so I took a look. In preparation I found a bunch of apparent how-to guides for changing Pulsar CVs, but found them all lacking. This then, is written as a step-by-step guide for anyone else undertaking job on a Nissan N15 Pulsar. With the right method the task is dead simple and shouldn't take much longer than an hour. It will however, be an hour of the messiest work known to the backyard mechanic, so ensure there are plenty of rags, degreaser and hand cleaner on standby.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Before raising the car, crack each of the wheel lugs on one side. Pop the centre cover out of the rim cover to expose the wheel nut. The centre cover has a slot for a screwdriver to lever it off, but the plastic might be very brittle and difficult not to crack.&lt;/li&gt;
&lt;li&gt;If necessary, bend the split pin flat against the axle stub to allow a 32mm deep socket to slip over the wheel nut. Loosen the wheel nut with your torque tool of choice - breaker bar or impact wrench. It'll probably take at least 5 metric grunts to get it to budge - the factory torque spec is 196 - 275Nm.&lt;/li&gt;
&lt;li&gt;With the nuts loosened, raise the car off the wheel and place onto an jack stand. Finish removing the wheel and wheel nut. At this point the wheel makes a great seat for the rest of the job.&lt;/li&gt;
&lt;li&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="DSC02300.JPG" src="http://heath.hrsoftworks.net/blog//DSC02300.JPG" border="0" alt="Exposed wheel hub" width="640" height="563" /&gt;﻿&lt;/li&gt;
&lt;li&gt;Undo the two bolts that hold the strut to the wheel hub. They're either 17mm or 19mm bolt and nuts and the torque spec is 114 - 133Nm, so they could use some loving too.&lt;/li&gt;
&lt;li&gt;Tap the shim out that holds the brake line to the strut and free the brake line. It can be handy to have a couple of bricks to rest the wheel hub on, and to route the brake line under the strut to maximise access to the CV joint.&lt;/li&gt;
&lt;li&gt;Now turn the steering full lock so the steering arm comes out as far as possible. Turn the hub the opposite way and lean it out off the control arm ball joint.&lt;/li&gt;
&lt;li&gt;Push the driveshaft in towards the gearbox and pull the CV joint out of the hub. It may be necessary to tap the end of the driveshaft stub that pokes through the hub. Smile when you've managed to free the CV joint.&lt;/li&gt;
&lt;li&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="DSC02301.JPG" src="http://heath.hrsoftworks.net/blog//DSC02301.JPG" border="0" alt="DSC02301.JPG" width="640" height="566" /&gt;﻿&lt;/li&gt;
&lt;li&gt;Turn the steering back the other way and tuck the wheel hub out of the road.&lt;/li&gt;
&lt;li&gt;Raise the other side of the car up and place it on a jack stand as well.&lt;/li&gt;
&lt;li&gt;Shimmy under the front of the car head first until you can see where the driveshaft enters the gearbox. It first goes into a transaxle that has its own rubber boot with a small and a large boot band.&lt;/li&gt;
&lt;li&gt;Loosen the large boot band (the end closest to the gearbox) with a flat screwdriver and a pair of needle nosed pliers. Work the screwdriver under the boot and prise it off the transaxle. Being able to reach over and turn the opposite wheel works wonders here.&lt;/li&gt;
&lt;li&gt;Back out from under the car, carefully pull the driveshaft to remove it from the transaxle. It should come very easily now. It might be a good idea to put a plastic bag over the spider at the end of the driveshaft as soon as possible, to try to contain the grease.﻿ The bag that the new CV joint comes in might do the trick.&lt;/li&gt;
&lt;li&gt;Place the driveshaft in a vice with the CV joint hanging down. Give the star of the CV joint a few whacks with a hammer (you are replacing it, right?) until it slides off the shaft. Also remove the old boot.&lt;/li&gt;
&lt;li&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" title="DSC02302.JPG" src="http://heath.hrsoftworks.net/blog//DSC02302.JPG" border="0" alt="Driveshaft in vice" width="640" height="762" /&gt;&lt;/li&gt;
&lt;li&gt;Now it gets fun. Put the small boot band on, the boot itself, and then get elbow deep in grease. Pack the CV, the boot, your nostrils and your hair. Put it everywhere. Make sure the CV is full of grease, and that if the new CV came with grease, that you use it all (both packets if there are two!).&lt;/li&gt;
&lt;li&gt;Fitting the new CV on to the shaft is the last tricky bit. If you can rest the spider on some soft ground with a plastic bag around the end to contain the grease, then you can tap the CV on from the other end. Put the wheel nut on the axle stub so that most of its turns are in contact with the shaft, and then give the nut a few metric whacks. Hopefully you'll feel the circlip pop into position, but if you've done it right and packed it to the brim with grease, you'll barely notice the circlip slipping into the groove.&lt;/li&gt;
&lt;li&gt;Tighten the new small and large boot bands and swivel the CV to ensure the boot handles all angles.&lt;/li&gt;
&lt;li&gt;There are no gotchas with reassembly. Slide the drive shaft back into the transaxle and retighten the boot band. Insert the stub axle back into the wheel hub. Clip the brake hose back in position and refit the strut to the hub. Put the wheel nut back on and do it up a bit.&lt;/li&gt;
&lt;li&gt;Now refit the split pin into the axle stub. Using a new one is not only a good idea, but may make it a great deal easier to slide back through the hole. Bend the ends down so you can still fit the nut socket over it.&lt;/li&gt;
&lt;li&gt;Put the wheel back on and drop the car back on to its wheels. You'll need to have both wheels on the ground (unless you have someone willing to stand on the brakes) in order to do up the wheel nut properly. Remember we're talking over 200Nm here, so get your strong socket handle out.&lt;/li&gt;
&lt;li&gt;Pop the rim covers back on, remove the tools from under the car and go wash your dirty self.&lt;/li&gt;
&lt;li&gt;Test drive, turning full lock both ways﻿ while accelerating. If it works, grab yourself a beer and enjoy the sweet reward of DIY. If it doesn't, grab yourself a beer - it's going to be a long day.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/4gMDgi70FUY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/4gMDgi70FUY/000266.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000266.html</guid>
<category>General</category>
<pubDate>Sun, 25 Jul 2010 23:02:23 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000266.html</feedburner:origLink></item>

<item>
<title>Up!</title>
<description>&lt;p&gt;In February I booked in for a joyflight. It was a present from the girls soccer team for having the pleasure of coaching for another year. Win-win I say. I knew nothing of the details of the impending flight - plane, duration, style - but was still beside myself with excitement. It turns out I wasn't to be disappointed.&lt;/p&gt;

&lt;p&gt;The plane was a Pitts Special biplane. 650kg, stiff, open cockpit, stupid amount of power. Delicate and fierce. Gorgeous.&lt;/p&gt;

&lt;p&gt;From go to whoa the experience was an enormous thrill. Despite my brimming anticipation, my expectations were exceeded. I was just excited to be in the plane, strapped loosely over the shoulders into a rough cushion, partially cocooned by the fuselage and peering out over the imposing engine.&lt;/p&gt;

&lt;p&gt;The pilot cranked the prop into life and my world began to shake. As the prop blurred almost into invisibility and began to push a gale over the plane, my eyes darted from sky to wing to instrument panel, desperately trying not to miss a thing.&lt;/p&gt;

&lt;p&gt;After gaining a crackled clearance over the crackly radio we grumbled and skipped down the runway. All the time the plane rolled on the tail gear wheel, leaving only a view of the sky out over the front of the plane, tantalisingly restricting any opportunity to spot our route. The grassy edges of the runway equidistant out the sides of the plane were the only navigational aids.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/joyflight.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/joyflight.jpg" border="0" alt="Aircraft hanger" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Soon we rounded out at the end of the runway and I gave my pilot a reprieve from incessant questioning to execute the take off. The engine pitch ramped up, the gale turned to a ferocious deluge of air and our meandering taxiing was replaced by an unrelenting surge of determined acceleration. In seconds the wings, which had calmly come along for the ride so far, stiffened and took charge. In frighteningly short time, the tail wing rose to attention, lifting the rear of the plane to level the fuselage, and for the first time since sinking into the cockpit the world in front of the plane came into view.&lt;/p&gt;

&lt;p&gt;There was scarcely time to digest the explosion of wonder born by the new horizontal perspective before we separated from the runway. It was nothing short of magical the way this little rocket could blast off the ground like it was hitching a ride on an elevator. But there was no elevator, no suspension, no heavily engineered lifting rig. Just a tremendous impulse of aerodynamics and in a flash we were floating around above the runway. I'm tingling just writing about it.&lt;/p&gt;

&lt;p&gt;With the runway slipping away below us, along with the means of reference I had relied on for 28 years, there was an uncanny moment when I lost the sensation of propulsion. It seemed we were suspended in space, some indeterminate distance above the trees and houses below. That's when the rickety airspeed indicator in front of me became more apparent. I actually stuck my hand above the perspex windshield to confirm that yes, there really was a wall of air blasting over the plane at 250 knots.&lt;/p&gt;

&lt;p&gt;The other thing that gave our speed away was the ease in which the pilot slipped into a 4g spin. My arms turned to sacks of bricks as I experimented with the new acutely gravitational world, but still the Earth below us just seemed to calmly rotate on the spot. With each aerobatic move the pilot checked for my response through the barely audible headphones. My giddy affirmations of enjoyment must have been enough to allay any reservations and we steadily progressed to the vertical climb manoeuvre.&lt;/p&gt;

&lt;p&gt;The pilot dipped the nose to the ground to pick up some terrifying airspeed, then, with the wind reaching a crescendo and the wings bursting with bridled potential, smoothly reversed the dive to point us at the sky. He crackled over the radio, "Look out over the left wing. Notice the horizon? Close enough to vertical ay?". And so it was. I was so comfortable, lightly coupled to a rickety old seat and feeling cordial with the plane despite the precarious circumstances, that it took a double and triple look to realise that out over the left wing the horizon was indeed perfectly perpendicular to the plane.&lt;/p&gt;

&lt;p&gt;Even landing was a blast. With zero visibility out the front of the plane the pilot has to wrestle the plane in sideways to grab a view of the landing strip before cutting the power, plummeting the last 50 metres, and bouncing the plane down the runway to we restore the relationship with terra firma.&lt;/p&gt;

&lt;p&gt;The whole experience was no less than a blow-my-socks-off highlight of my life so far.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/HivCIEtT_kQ" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/HivCIEtT_kQ/000265.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000265.html</guid>
<category>General</category>
<pubDate>Fri, 04 Jun 2010 07:31:48 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000265.html</feedburner:origLink></item>

<item>
<title>What's a few thousand kays between friends?</title>
<description>&lt;p&gt;My Crewman&amp;#8217;s &amp;#8220;Extended Car Warranty&amp;#8221; rort finished up in January. The whole scheme has been &lt;a href="http://heath.hrsoftworks.net/archives/000141.html"&gt;one&lt;/a&gt; &lt;a href="http://heath.hrsoftworks.net/archives/000142.html"&gt;debacle&lt;/a&gt; &lt;a href="http://heath.hrsoftworks.net/archives/000184.html"&gt;after&lt;/a&gt; &lt;a href="http://heath.hrsoftworks.net/archives/000183.html"&gt;another&lt;/a&gt;. The continual misrepresentation was one of the reasons I took the advice from the mechanic after a service 8 months ago with a dose of skepticism. He reported that the front brake pads need replacing and only have a couple thousand kays left in them. I declined his offer to &amp;#8220;fix &amp;#8216;em up&amp;#8221; and said I&amp;#8217;d take care of it. I then promptly did nothing about it.&lt;/p&gt;

&lt;p&gt;Six months later, in January 2010, the car was in for its last service under warranty and the situation was reported as quite desperate now - the brakes had &amp;#8220;less than a millimetre left&amp;#8221; and needed changing right away. I said I&amp;#8217;d take care of it and this time I did. The replacement pads were only $70, but it was a bit tough finding some free time at home to fit them. Nervously I continued to drive the car for another couple of months, listening intently for the telltale scraping sound of extinguished pads. No sign became apparent. I thought the mechanic was probably being a bit conservative, but with less than a millimetre to go I didn&amp;#8217;t want to push it.&lt;/p&gt;

&lt;p&gt;Yesterday I finally had a chance to change the pads.&lt;/p&gt;

&lt;p&gt;The first suspicious moment came after I had undone all the wheel nuts on the front right wheel and found that the rim was stuck in some rust on the wheel hub. It took some wiggling to free the wheel from the car. Bit strange, given that the rim is alloy and it should have been removed in the service two months ago&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02168.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02168.jpg" border="0" alt="Rusty hub" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the wheel removed it was on to the brake caliper housing bolts. I could not budge them with my socket ratchet so grabbed the long torque wrench instead. The bolts did not release until about 190Nm! I think the spec is around 80Nm. Certainly not a knuckle busting 190Nm anyway. Either someone has gone nuts doing them up last time or could it be&amp;#8230;. they were never taken off during servicing! Admittedly, the mechanics may have some method of measuring the pads without removing the calipers, so I would concede the benefit of the doubt at this stage&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02165.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02165.jpg" border="0" alt="Torqued up!" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There was no denying the next stage of the inspection. The calipers were off and the pads exposed. You could blame the rusty hub on the coastal weather, you could blame the over-torqued bolts on manufacturing procedure, but there&amp;#8217;s no argument about how long a millimetre is.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02167.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02167.jpg" border="0" alt="Remaining pad depth." width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;According to the mechanic, the pads had &amp;#8220;less than a millimetre left&amp;#8221; in January. Well blow me down, they appear to have grown over two millimetres in two months! For comparison, take a look at a new pad:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02170.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/DSC02170.jpg" border="0" alt="New pad depth." width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The old pads measure a bit over 3mm and the new pads measure around 8mm. Sure, it wont hurt to replace them, but they clearly have some life left! And the mechanic would have been happy to replace them 8 months ago. How many other customers are they replacing pads for at half their service life? How many people would actually check?&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s a bloody rort, and a sad state of affairs when you can&amp;#8217;t trust your mechanic. If you have a trustworthy mechanic, value them, because there&amp;#8217;s a lot of dodgy operators out there. Servicing will be done at my place from now on.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/fNZkEo3m4gs" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/fNZkEo3m4gs/000264.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000264.html</guid>
<category>Rant</category>
<pubDate>Sun, 07 Mar 2010 09:48:14 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000264.html</feedburner:origLink></item>

<item>
<title>DenyHosts on Snow Leopard</title>
<description>&lt;p&gt;Ever noticed your system log is chock full of this crap?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Jan 31 01:11:43 hostname sandboxd[18371]: sshd(18375) deny mach-per-user-lookup&lt;br /&gt;
Jan 31 01:11:46: --- last message repeated 8 times ---&lt;br /&gt;
Jan 31 01:11:46 hostname sandboxd[18371]: sshd(18377) deny mach-per-user-lookup&lt;br /&gt;
Jan 31 01:11:49: --- last message repeated 8 times ---&lt;br /&gt;
Jan 31 01:11:49 hostname sandboxd[18371]: sshd(18379) deny mach-per-user-lookup&lt;br /&gt;
Jan 31 01:11:52: --- last message repeated 4 times ---&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Check the secure log file and you'll likely find thousands of ssh login attempts from a small number of IP addresses, trying various generic usernames.&lt;/p&gt;

&lt;p&gt;Enter &lt;a href="http://www.denyhosts.net"&gt;DenyHosts&lt;/a&gt;. It's a mature, configurable Python script that monitors your log and adds entries to &lt;tt&gt;/etc/hosts.deny&lt;/tt&gt; if things look suspicious.&lt;/p&gt;

&lt;p&gt;It's quite portable and there are various instructions for older versions of Mac OS X, but there's a couple of gotchas for Snow Leopard, Mac OS X 10.6, that don't appear to be addressed in one location anywhere else. Here's how to get DenyHosts up and running on OS X 10.6:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download the tar.gz file from the &lt;a href="http://sourceforge.net/projects/denyhosts/files/"&gt;download page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Unless you're a command line purist who doesn't need to look up the &lt;tt&gt;tar&lt;/tt&gt; man page every time you use, just double click the downloaded file to unpack it.&lt;/li&gt;
&lt;li&gt;Now drop into Terminal and cd to the freshly unpacked DenyHosts directory.&lt;/li&gt;
&lt;li&gt;Run the installer: &lt;tt&gt;sudo python setup.py install&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Optionally, move the installed files into local: &lt;tt&gt;sudo mv /usr/share/denyhosts /usr/local/share/&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Change to the install directory: &lt;tt&gt;cd /usr/local/share/denyhosts&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Copy the example config file: &lt;tt&gt;sudo cp denyhosts.cfg-dist denyhosts.cfg&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Edit it: &lt;tt&gt;sudo vi denyhosts.cfg&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Find and set these settings:
&lt;ul&gt;
&lt;li&gt;&lt;tt&gt;SECURE_LOG = /private/var/log/secure.log&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;WORK_DIR = /usr/local/share/denyhosts/data&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;LOCK_FILE = /var/run/denyhosts.pid&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;DAEMON_LOG = /private/var/log/denyhosts&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Optionally set this to allow entries older than 10 weeks to be removed: &lt;tt&gt;PURGE_DENY = 10w&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Copy the example run script: &lt;tt&gt;sudo cp daemon-control-dist daemon-control&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Edit it: &lt;tt&gt;sudo vi daemon-control&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Find and set these settings:
&lt;ul&gt;
&lt;li&gt;&lt;tt&gt;DENYHOSTS_BIN   = "/Library/Frameworks/Python.framework/Versions/2.4/bin/denyhosts.py"&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;DENYHOSTS_LOCK  = "/var/run/denyhosts.pid"&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;DENYHOSTS_CFG   = "/usr/local/share/denyhosts/denyhosts.cfg"&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt&gt;PYTHON_BIN      = "/usr/bin/env python2.4"&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create the hosts.deny file in case it's not there: &lt;tt&gt;sudo touch /etc/hosts.deny&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;And finally, kick off the daemon: &lt;tt&gt;sudo ./daemon-control start&lt;/tt&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can monitor progress via the log at &lt;tt&gt;/var/log/denyhosts&lt;/tt&gt;. You could also create a launchd service to ensure the daemon runs at boot up, but if you reboot as rarely as me, you might save yourself 10 minutes and skip it.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/zuWY9AZDW58" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/zuWY9AZDW58/000263.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000263.html</guid>
<category>Geek</category>
<pubDate>Mon, 01 Feb 2010 21:53:29 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000263.html</feedburner:origLink></item>

<item>
<title>Kitchen preparations</title>
<description>&lt;p&gt;A couple of weeks off work over the Christmas period proved an ideal opportunity to put some solid days into the renovations. My plans were roughly half the break for renovations and half the break for &lt;a href="http://www.placestolive.com.au"&gt;PlacesToLive&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As I began to cut into the kitchen wall however, it quickly became apparent that if I was going to be building a new kitchen, I was also going to be building a bunch of adjoining walls. Such is the case when you have a house with 80 years of "influence". Very rarely do you find a wall that gracefully flows on to its neighbour. Add to that the fact that there was some water damage to the roof in that part of the house, and the fact that that room has never been a kitchen before, and you have a bit more than a flat pack and assemble job.&lt;/p&gt;

&lt;p&gt;And so it turned out, my annual leave consisted primarily of 10 to 12 hour days renovating. Fortunately, I enjoy it.&lt;/p&gt;

&lt;p&gt;After ripping up the slate tiles &lt;a href="http://heath.hrsoftworks.net/archives/000261.html"&gt;a few weeks ago&lt;/a&gt;, I decided that the underlying masonite was in too bad condition to serve as underlay for the new flooring. There was no choice but to rip the masonite up too.&lt;/p&gt;

&lt;p&gt;Underneath were tongue and groove floorboards, with plenty of holes, undulations and even an old fireplace slab to add character.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02118.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02118.jpg" border="0" alt="Floorboards 1" width="585" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02119.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02119.jpg" border="0" alt="Floorboards 2" width="585" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02120.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02120.jpg" border="0" alt="Floorboards 2" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the renovating lessons I've learned is not to underestimate the amount of waste generated. The mass of the material that needed to be disposed after clearing a layer of slate tile and a layer of masonite was immense. Each week I'd test the council garbage truck by tentatively adding a bit more to the Otto bin, until one week I put the bin out for collection only to find it dragged on to the road but never up ended. Admittedly, to get the bin out to the kerb I had to launch all my (75kg) weight on to the bin handle just to rock it on to the wheels, and strained to roll it while keeping it precariously balanced. I estimate it weighed around 250kg and was surprised the wheels didn't bust off. I've since found on the council website that the maximum pick up is stated as 65kg.&lt;/p&gt;

&lt;p&gt;Most of one day then, consisted of loading the ute with about 600kg of timber and heading out to the tip. At the tip the hardiness of those Otto bins was again demonstrated when I accidentally dropped the bin off the back of the tray and the entire 250kg weight fell upright, some 600mm on to the concrete. There was an almighty thud, but barely a whimper from the tank-like bin.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02117.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02117.jpg" border="0" alt="Tip Trip" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the flooring out of the way, the next job was to cut down the low wall between the kitchen and the back room. Getting enough access resulted in carefully destroying most of the surrounding timber while managing to preserve the kitchen side of the wall.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02121.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02121.jpg" border="0" alt="Cut down wall, kitchen side" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02122.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02122.jpg" border="0" alt="Cut down wall, back room side" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02123.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02123.jpg" border="0" alt="Cut down wall, close up" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where consideration for the adjoining walls became a serious factor. After a lot of head scratching, I decided to strip the left, top and right beams, as well as the beam adjoining the right wall. The mismatch of walls coverings and angles and profiles had always been a terrible eyesore, and it became obvious that this was the only sensible solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02125.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02125.jpg" border="0" alt="Stripped beams" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02124.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02124.jpg" border="0" alt="Stripped beams, close up" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To restore strength and also provide a stud for the new wall, I installed two 35x70 pine lengths in a L-shape from floor to ceiling.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02130.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02130.jpg" border="0" alt="New stud in place" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The top and right beams and also earned a new set of studs, albeit much shorter, forming the skeleton for the new seamless walls. And finally the new walls went up.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02132.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02132.jpg" border="0" alt="New walls, kitchen side" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02135.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02135.jpg" border="0" alt="New walls, back room side" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I took particular pleasure in redoing the wall above the washing machine - the wiring that had been installed here was atrocious. There were cables hanging out of the roof and terminations by double-adapter and all sorts of bad ideas. With the new wall in place there is just one double outlet with a light switch on it, and all the wiring is hidden behind the wall.&lt;/p&gt;

&lt;p&gt;After a couple of applications of gyprock compound, some frustrating hours with the trowel and sander, and a couple of coats of white paint the walls are ready for final sand, a paint to match the room, and some cornice. My tragic gyprocking skills beside, I'm very happy with the result.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02141.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02141.jpg" border="0" alt="Walls ready for final coat, 1" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02139.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02139.jpg" border="0" alt="Walls ready for final coat, 2" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02138.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02138.jpg" border="0" alt="Walls ready for final coat, 3" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While a layer of compound was drying I made up the triangular supports for the new bar. Although trying to correctly measure the mitre cut lengths while dealing with the existing surface's various interpretations on "horizontal" was a foreseen challenge, the difficulty of working with the hardwood studs left in the wall was a big surprise to me: cut the timber put a worrying large load on the compound saw; screws had to be significantly predrilled or the heads would just screw off; and nails, despite being predrilled, would bend every time. This was some seriously heavy duty wood!&lt;/p&gt;

&lt;p&gt;Nonetheless I managed four strong, level supports, that after a sand and a stain, look the part.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02140.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02140.jpg" border="0" alt="Breakfast bar supports" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the meantime, I also bit the bullet and purchased some new masonite and set about laying that. 'twas a pity to have to rip up two layers of flooring just to put two more back down, but at least I have discovered the history of the flooring in that room as well as and have the best opportunity for laying a nice new floor.&lt;/p&gt;

&lt;p&gt;The masonite sheets were $16.50 each, so a new masonite underlay added about $100 to the cost of the new floor.&lt;/p&gt;

&lt;p&gt;The doorways also received a new coat of paint to match the highlight colour from the exterior of the house.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02137.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02137.jpg" border="0" alt="New masonite, 1" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02136.jpg"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02136.jpg" border="0" alt="New masonite, 2" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the kitchen finally physically prepared, I was able to put the finishing touches on my new kitchen plans. And so I present, rendered in 3D for your enjoyment, Heath's New Kitchen:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-perspective1.png"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-perspective1.png" border="0" alt="Perspective 1" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-perspective2.png"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-perspective2.png" border="0" alt="Perspective 2" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-floorplan.png"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/kitchen-floorplan.png" border="0" alt="Floor Plan" width="585" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now to get some quotes, finalise the materials, and actually get the thing ordered.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/kfwApgwYxCI" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/kfwApgwYxCI/000262.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000262.html</guid>
<category>General</category>
<pubDate>Tue, 12 Jan 2010 21:54:40 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000262.html</feedburner:origLink></item>

<item>
<title>My sauna now has an access door</title>
<description>&lt;p&gt;Given the hiding I've unleashed on this house over the last few weeks, an update is in order.&lt;/p&gt;

&lt;p&gt;With the sky window in place (highly recommended - looks classy and the ventilation is tremendous) it was time to gut the room to make preparations for a kitchen. A weekend of huffing and puffing and I had the furniture cleared. Since then I've had a constructive outlet in case any frustration begins to build. Ripping into the wall and floor with a hammer really takes the edge off.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02099.jpg" border="0" alt="Destruction zone." width="650" /&gt;&lt;/p&gt;

&lt;p&gt;This weekend I spent some time deliberating over a new floor covering. I'm going lino for the ease of install, the softness under foot, the ease of cleaning and the stability. I brought a few samples home, but I'm none the wiser. Fortunately I've had some valuable input from the fairer gender.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02100.jpg" border="0" alt="Lino decisions. #1" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02101.jpg" border="0" alt="Lino decisions. #2" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02105.jpg" border="0" alt="Lino decisions. #3" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;Mid week I had an electrician come in to fit the kitchen and nearby rooms with some new power outlets. One of the big motivations for the work was to establish some sort of order amongst the chaos that is 90 year old wiring. In particular I was aware that access under the house was terrible, thanks to an inconveniently positioned old fireplace, and access to the roof was even worse - there was no manhole!&lt;/p&gt;

&lt;p&gt;Months ago I invited the next-door neighbour over (he was born in my house - on the kitchen table, in fact) to show me where the manhole used to be. He hobbled into the back area and slowly raised his cane, pointing to the spot in the old kitchen near where an exhaust fan was now installed.&lt;/p&gt;

&lt;p&gt;After meeting with the leccy I started to see a great deal of justification for installing a manhole. While he was busy cutting holes in the walls I figured now is as good a time as any to rip the exhaust fan out. That left a convenient peephole into the roof, but with no small children near by to throw into the roof, the hole was going to have to be enlarged. I drew a rough guide on the ceiling and with a run of the reciprocating saw and an explosion of dust, a manhole was born!&lt;/p&gt;

&lt;p&gt;This weekend I had an opportunity to square the hole, install a border and cut a cover to size. Who knows how many years it has been since anyone has been in the roof, but there certainly was some dust to disturb. I made a good and proper mess.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02109.jpg" border="0" alt="Mess" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02106.jpg" border="0" alt="Dirty old man" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;There's something disappointingly plain about the result. Even those tell tale signs of an arrested fall from the ladder on the wall to the right were gone after a once-over with a cloth and spray.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02110.jpg" border="0" alt="Manhole installed" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;Oh - after spending some time in the roof this weekend I actually came across the original manhole. My neighbour was right - it was right near the exhaust fan, but not quite where I installed the new one. Under a layer of dust and insulation fibre was a small trapdoor, which when lifted revealed some patchwork over a small hole - right above the bathroom wall that can be seen just to the left of the new manhole!&lt;/p&gt;

&lt;p&gt;With access to the roof established, the opportunity presented itself to do a couple of wiring jobs. I came across some bargain ceiling fans in Bunnings and thought I'd whack one of in each of the two secondary bedrooms. Shouldn't be too hard right?&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02111.jpg" border="0" alt="Yay, chandelier." width="650" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02112.jpg" border="0" alt="Yay, more chandeliers!" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;After twelve hours of crawling through the roof, dealing with incomplete and crappy hardware kits, breaking tools and screws, unraveling 90 years of accumulated roof wiring and generally having a ball of a time, both fans are installed and operational! Same old story - if I had to do another one it would probably take about an hour or two. Plenty of lessons learned!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02115.jpg" border="0" alt="I&amp;apos;m a fan" width="650" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02116.jpg" border="0" alt="FANtastic." width="650" /&gt;&lt;/p&gt;

&lt;p&gt;All of a sudden it's almost midnight on Sunday, and I've spent the weekend on a ladder or in the roof. I celebrated tonight by putting my newly discovered rice skills to good use, cooking up about 1.5L of rice to satiate a weekend of sweat. One more week of work to go and then I can spend two weeks doing reno's non-stop!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02113.jpg" border="0" alt="I&amp;apos;m a fan" width="650" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/CG8gENtFTZY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/CG8gENtFTZY/000261.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000261.html</guid>
<category>General</category>
<pubDate>Sun, 13 Dec 2009 22:08:38 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000261.html</feedburner:origLink></item>

<item>
<title>A Call To Engineers</title>
<description>&lt;p&gt;More than a century ago Albert Einstein laid out his theories on relativity. Ever since, countless complex debates have raged in scientific journals and physics laboratories, challenging the veracity of the theory. Even today there is little consensus on whether relativity reflects the actual state of affairs, or just conveniently models certain physical behaviour. In the meantime however, Engineers have rolled out a global positioning system that allows anyone with a few hundred dollars to burn, to plot their location on Earth to an accuracy of a few metres. If those Engineers had failed to include the theory of relativity in their calculations however, the system would accumulate errors of about 10km per day&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; and quickly become a global positioning mess. Yet, despite the complex scientific principles at work, the global positioning system is accessible to a vastly wider audience than the latest debate on the challenge to relativity theory posed by, say, gravitational lensing or black hole warping.&lt;/p&gt;

&lt;p&gt;In 2009, a century after Einstein disturbed the space time continuum, Chris Mooney and Sheril Kirshenbaum delivered an impassioned plea for enhanced scientific literacy in their book, &amp;#8220;Unscientific America&amp;#8221;. The authors cite dismay with the lack of educated leadership on fundamentally scientific challenges such as global pandemics, climate change and the energy crisis. They voice a call to arms for an army of ambassadors to translate scientific knowledge into material ready for consumption by the wider public. The primary recruits for the new army are scientists and scientific advisors, but consider this - what proportion of the wider public you know would turn glassy-eyed in a discussion on the bending of space-time but at the same time would barely raise an eyebrow when their GPS tells them to take a left at the next lights?&lt;/p&gt;

&lt;p&gt;Fellow engineers, our profession is the link between science and the wider public. Our craft is responsible for delivering science to the people. Make no mistake, this is our call to arms.&lt;/p&gt;

&lt;p&gt;Before you drop your soldering irons to don iron arms however, let us consider what is at stake.&lt;/p&gt;

&lt;p&gt;Humanity has always had unanswered questions. Are we alone? How does consciousness arise? Why do we die? And we accept that any answers to these questions are necessarily matters of faith. Humanity&amp;#8217;s body of knowledge is not substantial enough to rely on rationality. The complication we face today however, is that these unanswered questions have extended to matters of our own creation. Are vaccines safe? How does my GPS work? Why is nuclear power generation dangerous? In these matters our body of knowledge is enough to substantiate rational answers, but it is no longer feasible for any one person to consume the entire body of knowledge. Humanity wants answers however, and as is human, people will turn to faith to find them.&lt;/p&gt;

&lt;p&gt;So far there is nothing wrong with this scenario. It is unreasonable to expect that every question one faces should result in scientific investigation, so we need to take some answers on faith. However, like the bifurcation point in a chaotic system, the decision on where that faith is placed causes radically different paths to be taken. Due to the innate &amp;#8220;in-group&amp;#8221; effects of trust in human psychology, the initial formation of a source for matters of faith has powerful ramifications. In particular, the bonding effect of trust gives the bifurcation point its typical point-of-no-return quality, and is such a powerful motivator that people regularly abandon their personal values to adhere to it. &lt;/p&gt;

&lt;p&gt;Still there is not necessarily any dilemma here. Humans will seek to place their faith in a source for matters that are beyond their immediate rational comprehension. This faith will naturally form groups and members of the group will often act in the interest of the group, rather than their own. Many constructive organisations are based on these principles. Political parties, companies and community groups all operate well when their members - initially inducted by some shared appeal - continue to row in the same direction.&lt;/p&gt;

&lt;p&gt;The dilemma arises subtly. It starts with a group who base their faith on principles that are unambiguously orthogonal to scientifically established knowledge. Even then, no immediate peril awaits - we would be much worse off in a world without dissenting opinions. No, the dilemma arises through the interaction of incorrectly formed faith, and the perpetuating effects of groupthink. Psychologist Irving Janis describes the results of groupthink as a &amp;#8220;fiasco&amp;#8221;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;, for once a harmless conclusion has been established due to faith in incorrect principles, it becomes exceedingly difficult to extricate members of the faith when logical application of its existing conclusions form new, dangerous conclusions.&lt;/p&gt;

&lt;p&gt;But how exactly can an awry explanation of some physical phenomena lead to a dangerous conclusion? Consider the following hypothetical conversation between a well-intentioned enquirer (WIE), a rationally-minded aid (RMA) and a kind helper (KH):&lt;/p&gt;

&lt;p&gt;WIE: &lt;em&gt;I&amp;#8217;ve got a crook knee. What should I do about it?&lt;/em&gt; &lt;br /&gt;
RMA: &lt;em&gt;Looks swollen. It could be an autoimmune disease causing an inflammatory response. You might need some non-steroidal anti-inflammatory drugs like ibuprofen.&lt;/em&gt; &lt;br /&gt;
WIE: &lt;em&gt;Okay thanks. I&amp;#8217;m going to get a second opinion just to be sure.&lt;/em&gt; &lt;br /&gt;
KH: &lt;em&gt;Hmm, I think your second chakra might be blocked by stress and the healing energy is not getting to your knee. You&amp;#8217;re under a bit of stress aren&amp;#8217;t you? Yes, that&amp;#8217;s okay, I have just the thing. Try this homeopathic remedy, it&amp;#8217;s great for soothing the second chakra.&lt;/em&gt; &lt;br /&gt;
WIE: &lt;em&gt;Okay. It&amp;#8217;s safe is it? I&amp;#8217;ll give it a try.&lt;/em&gt; &lt;br /&gt;
RMA: &lt;em&gt;You tried what? It&amp;#8217;s just bloody water! Why didn&amp;#8217;t you try some naproxen?&lt;/em&gt; &lt;br /&gt;
WIE: &lt;em&gt;Um, well, I already feel much better.&lt;/em&gt; &lt;br /&gt;
RMA: &lt;em&gt;You idiot, it&amp;#8217;s just the placebo effect!&lt;/em&gt; &lt;br /&gt;
WIE: &lt;em&gt;Oh, okay. By the way, I was thinking about getting my kid vaccinated but Kind Healer was saying something about it leading to Autism.&lt;/em&gt; &lt;br /&gt;
RMA: &lt;em&gt;Kind Healer is a dangerous crack pot. Don&amp;#8217;t listen to anything she has to say. By skipping vaccination you are risking outbreaks in the general population of diseases that can be safely controlled. All drugs have side-effects but do you really want to jeopardise the eradication of plagues that have killed millions?&lt;/em&gt; &lt;br /&gt;
WIE: &lt;em&gt;Um. I guess not. Um&amp;#8230; I&amp;#8217;m going to see what Kind Healer has to say anyway.&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;Individual freedom to form scientific conclusions based on faith in principles that are at odds with established scientific knowledge is worth defending. Any pressure to give up this freedom is a slippery slope towards the Brave New World dystopia of Aldous Huxley. As author Neil Gaiman says, &amp;#8220;Freedom to believe means the freedom to believe the wrong thing, after all&amp;#8221;&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;. Dissenting opinions should be welcomed, if only as opportunities to check our own assumptions.&lt;/p&gt;

&lt;p&gt;How then, can we prevent a benign misunderstanding of the way the world works from perpetuating a destructive application of groupthink? First consider why, as &amp;#8220;Unscientific America&amp;#8221; claims, science has so far ultimately failed to bring about enlightenment.&lt;/p&gt;

&lt;p&gt;For making assessments of the mechanisms of the world, to enable prediction for how it will operate in the future, the scientific method is the best we have. And it is mighty good - a great deal of the natural processes around us are well understood and can be precisely modelled to formulate generalisations about how they work. For the technically trained, the scientific method seems about as natural and suitable as eating and laughing. But, and here&amp;#8217;s the rub, the scientific method is not a great way of sharing scientific insights with those without a technical background or a aptitude for technical thought processes.&lt;/p&gt;

&lt;p&gt;The failure of the scientific method to garner support is particularly well illustrated by the Intelligent Design Movement. Advocates claim that Intelligent Design is a scientific theory&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" rel="footnote"&gt;4&lt;/a&gt;&lt;/sup&gt;. Scientists claim that it fails to adhere to some of the tenets of the scientific method, in particular the requirement that predictions can be made, tested, verified and falsified. The debate often falls into a pit when an advocate asks why, since evolution is just theory, Intelligent Design can&amp;#8217;t also be a theory. After all, isn&amp;#8217;t having freedom to pose alternate theories what scientific debate is all about?&lt;/p&gt;

&lt;p&gt;To most scientists, the claims are absurd. The misinterpretation of the scientific method is painfully clear to them. But arguing such is rarely a fruitful exercise and it is not long before accusations of defective intellect are made and nothing constructive will result.&lt;/p&gt;

&lt;p&gt;The subtlety of the scientific method was no more dramatically and desperately demonstrated than on the 18th October, 2004, when the Dover Area School District board in Pennsylvania voted 6-3 to add the following statement to their biology curriculum:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Students will be made aware of the gaps/problems in Darwin&amp;#8217;s theory and
_of other theories of evolution including, but not limited to, intelligent design.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As part of the decision, teachers were required to read a statement to their Biology students in the following year that read in part:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Because Darwin&amp;#8217;s Theory is a theory, it is still being tested as new evidence&lt;/em&gt;
&lt;em&gt;is discovered. The Theory is not a fact. Gaps in the Theory exist for which&lt;/em&gt;
&lt;em&gt;there is no evidence.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The three school board members who voted against the original curriculum change, resigned in protest. Ultimately a court order a year later ruled that the board had violated the First Amendment and that intelligent design was not a science so shall not be taught in a biology class. But the widespread misunderstanding of the pursuit of science is evident. And history does not give much hope for change on this front, since the same fundamental controversy ignited the headlines more than 84 years ago, in the infamous Scopes Trial&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" rel="footnote"&gt;5&lt;/a&gt;&lt;/sup&gt;. In 1925, John Scopes was charged with teaching evolution in a Tennessee school and the ensuing legal case brought fame to the sensitivity of teaching a scientific theory that offers challenges to an established faith.&lt;/p&gt;

&lt;p&gt;This disconnect between a scientist&amp;#8217;s methods and the general public&amp;#8217;s methods is at the core of the failure of science to bring enlightenment to the masses.&lt;/p&gt;

&lt;p&gt;In a recent Lateline interview, Chris Mooney offered some suggestions as to why people had lost touch with science and therefore what prompted his &amp;#8220;Unscientific America&amp;#8221; book. Mooney explained that the problem arose because scientists are rewarded for technically dense work. They are not taught to, and not compensated for, distilling their work into approachable summaries. Mooney urged scientists to present their work to a wider audience and to make their judgements available to politicians. But what profession is based around adopting scientific developments for use by the general public? What profession is concerned with extracting the elements of science that have practical applications and producing those applications? Are not Engineers best placed to deliver science to the people?&lt;/p&gt;

&lt;p&gt;In fact it goes deeper. Not only are Engineers uniquely placed to act as the bridge between the technically exclusive world of science and the reality of the public, but Engineers have the power of the tangible.&lt;/p&gt;

&lt;p&gt;The truly frightening element of the declining respect for science is the parallel damage to trust. The general public is still curious enough to look for answers and concerned enough to base decisions on the word of their sources. But the impenetrable, dynamic, theoretical nature of good science has left people looking to other, more practical sources to relate to and trust. And there are few more practical sources than a tangible, physical artefact.&lt;/p&gt;

&lt;p&gt;As psychologist Dacher Keltner&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" rel="footnote"&gt;6&lt;/a&gt;&lt;/sup&gt; has shown, physical touch has a strong connection to the experience of trust. For example, an experiment widely used to demonstrate the influence of touch on trust involves a host describing a task, while very lightly touching the backs of some of the participants. The participants who received the brief touch were more likely to cooperate with, rather than compete against, their partner. In short, the mechanism of trust is activated by the sensation of touch. If &amp;#8220;I&amp;#8217;ll believe it when I see it&amp;#8221; then I can&amp;#8217;t refute it when I touch it.&lt;/p&gt;

&lt;p&gt;Fellow engineers, consider your role as the mediator between science and the people. Consider the tangible products of your work and their power to establish trust. Consider the good intentions of those without your technical training in their pursuit for knowledge. And consider the ramifications for all of us, if we fail to establish scientific knowledge as an authority for answers.&lt;/p&gt;

&lt;p&gt;The onus of scientific enlightenment lies not with the scientists, but with the professionals who routinely create products of science - be they bridges, calculators or nuclear power plants - that the wider public can touch. Mere scientific rigour will not capture the trust of the people. A scientist&amp;#8217;s unwavering subscription to the principles of rationality and deduction will do them few favours in capturing the minds of the people. As Rabindranath Tagore put it, &amp;#8220;A mind all logic is like a knife all blade. It makes the hand bleed that uses it.&amp;#8221;&lt;sup id="fnref:7"&gt;&lt;a href="#fn:7" rel="footnote"&gt;7&lt;/a&gt;&lt;/sup&gt;. Instead it is the engineer who must realise their role in bringing scientific enlightenment. It is the field of engineering that must encompass the challenge of ensuring cultural and political thought has strong rational influences. It is engineers who must be available to offer honest, dependable, humble and tangible solutions to the scientific challenges of the world.&lt;/p&gt;

&lt;hr /&gt;

&lt;ol&gt;
&lt;li id="fn:1"&gt;&lt;p&gt;As calculated by Richard W. Pogge, Ohio State University, published in &lt;em&gt;Real-World Relativity: The GPS Navigation System&lt;/em&gt; and generously made available &lt;a href="http://www.astronomy.ohio-state.edu/~pogge/Ast162/Unit5/gps.html"&gt;here&lt;/a&gt;.&lt;a href="#fnref:1" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;

&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Irving L. Janis&amp;#8217; seminal work concerning groupthink is &lt;em&gt;Victims of groupthink; a psychological study of foreign-policy decisions and fiascoes&lt;/em&gt; published in 1972 by Houghton Mifflin.&lt;a href="#fnref:2" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;From page 435 of Neil Gaiman&amp;#8217;s book, &lt;em&gt;American Gods&lt;/em&gt; published in 2001 by William Morrow.&lt;a href="#fnref:3" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;The Seattle based think tank, Discovery Institute, is well known for its advocacy of Intelligent Design. Their &lt;a href="http://www.discovery.org/csc/topQuestions.php"&gt;FAQ webpage&lt;/a&gt; summarises some of the claims made by advocates.&lt;a href="#fnref:4" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;The trial of Scopes vs. The state of Tennessee, often called the &amp;#8220;Scopes Monkey Trial&amp;#8221;, tested the Butler Act, which states that any theory that denies Divine Creation and states that man descended from animals must not be taught in any state-funded educational establishment in Tennessee. The text of the Butler Act is available &lt;a href="http://www.law.umkc.edu/faculty/projects/ftrials/scopes/tennstat.htm"&gt;here&lt;/a&gt;.&lt;a href="#fnref:5" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;Dacher Keltner, a psychologist at University of California, Berkeley, is a proponent of &amp;#8220;positive psychology&amp;#8221;. He is the directory of the Greater Good Science Center and explores the establishment of traits such as trust in his book, &lt;em&gt;Born to Be Good&lt;/em&gt; published in 2009 by W.W. Norton &amp;amp; Co.&lt;a href="#fnref:6" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:7"&gt;
&lt;p&gt;Rabindranath Tagore was a Bengali polymath. This quote is from his 1916 poetic work, &lt;em&gt;Stray Birds&lt;/em&gt;, translated to English by Tagore himself.&lt;a href="#fnref:7" rev="footnote"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/npbRbB1LEbw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/npbRbB1LEbw/000260.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000260.html</guid>
<category>Geek</category>
<pubDate>Fri, 04 Dec 2009 21:31:16 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000260.html</feedburner:origLink></item>

<item>
<title>There's a hole in my roof</title>
<description>&lt;p&gt;After some &lt;a href="http://heath.hrsoftworks.net/archives/000258.html"&gt;cardboard template deliberation&lt;/a&gt;, and too much back and forward with builders and retailers, I finally booked in a day for the roof window install.&lt;/p&gt;

&lt;p&gt;The builder really knew his product, and lacking a sheetmetal cutter and reciprocating saw, I'm very glad I bit the bullet and paid for the install.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02084.jpg" border="0" alt="The first cut" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02087.jpg" border="0" alt="The surgeon making a little incision" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02088.jpg" border="0" alt="A hole!" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02092.jpg" border="0" alt="Window from outside" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02093.jpg" border="0" alt="Window from inside" /&gt;&lt;/p&gt;

&lt;p&gt;With the window installed I was left to my own devices to redo the wiring for the light and install the tunnel. After some significant delays getting the wiring done, and some time-consuming struggles trying to decide on design and style in Bunnings, progress started to appear.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02095.jpg" border="0" alt="Tunnel about to start" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02096.jpg" border="0" alt="Making progress on tunnel" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02097.jpg" border="0" alt="Night time, tunnel taking shape" /&gt;&lt;/p&gt;

&lt;p&gt;There's some trim, filling and staining yet to go, but things are coming together very nicely.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/D57tFAXJDcA" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/D57tFAXJDcA/000259.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000259.html</guid>
<category>General</category>
<pubDate>Sun, 15 Nov 2009 22:05:19 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000259.html</feedburner:origLink></item>

<item>
<title>Long weekend craft</title>
<description>&lt;p&gt;This weekend I discovered that when unfolded, the cardboard from a beer carton is almost precisely the size of the sky window I'm having quoted at the moment. In fact, the excess cardboard fits into the gaps to produce a template with such precision, I just had to stick it to my ceiling.&lt;/p&gt;

&lt;p&gt;Given that this whole measuring/quoting/waiting on builders process means that I'm not actually getting any construction done, I've had to make do. And given that my imagination can often use a little assistance, this is a useful exercise in making an informed decision about sizes and positions.&lt;/p&gt;

&lt;p&gt;Basically my options are the size of the cardboard template, 550x980, or with some extra constructions work, the next size up, 780x980. In a room so small, 780x980 is a big window. Think it would be a better choice?&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02072-1.jpg" border="0" alt="Roof window template 1" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC02073-1.jpg" border="0" alt="Roof window template 2" /&gt;&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/r6e8G9jou3U" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/r6e8G9jou3U/000258.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000258.html</guid>
<category>General</category>
<pubDate>Mon, 05 Oct 2009 16:17:12 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000258.html</feedburner:origLink></item>

<item>
<title>Newsstand, you're dumped</title>
<description>&lt;p&gt;No response from my enquiry to Newsstand's developer, posted &lt;a href="http://heath.hrsoftworks.net/archives/000256.html"&gt;here&lt;/a&gt;, but as fortune would have it NewGator silently released their iPhone client with Google Reader sync a couple of days ago.&lt;/p&gt;

&lt;p&gt;I make a point of saying "silently", because for the past month or two they've been very vocal in assuring us loyal users (I've used NetNewsWire on the Mac for yonks) that phasing out of their own synchronisation service would be followed by updated support for Google Reader sync instead. We'd be first to know, they said, when the iPhone client was ready. Somehow I missed the release until tonight.&lt;/p&gt;

&lt;p&gt;And the results of synchronisation of my entire 47 subscription feed list is clear (test done with one unread post):&lt;/p&gt;

&lt;p&gt;Newsstand: &gt;5MB&lt;br /&gt;
NetNewsWire: &lt;47KB&lt;/p&gt;

&lt;p&gt;There's just no question about it. Newsstand is unusable and NetNewsWire is usable.&lt;/p&gt;

&lt;p&gt;Technically, the difference is this:&lt;/p&gt;

&lt;p&gt;Both readers start by grabbing the feed list from Google Reader. Newsstand then grabs all of the last 25 posts of every feed through the Google Reader api. Stupid. NetNewsWire on the other hand, grabs the feed list and then uses the Google Reader api to find out if any feeds have unread posts. Then, instead of grabbing 25 posts from all the feeds, it uses the 'xt' flag to only grab the unread posts from only the feeds with unread posts. In other words, NetNewsWire uses Google Reader for what its designed for!&lt;/p&gt;

&lt;p&gt;Now I'm a bit peeved that I paid $6 (and $5 for 40MB of wasted data) for Newsstand after reading the &lt;a href="http://www.wired.com/gadgetlab/2009/09/newsstand-probably-the-best-iphone-news-reader" &gt;unequivocal buy recommendation&lt;/a&gt; on Wired. And on a wider scale, I'm peeved that I'm relying on a Wired article for iPhone app recommendations. Either the reviews on the App Store need to become better informed and more reliable, or there needs to be some way of trialling apps! At least NewsGator have got the model right - I used their free, ad supported version to conduct this test, and once I've finished writing this post I'll be straight back to the App Store to buy their "Pro" version. I wouldn't even care if it was any different to the free version - it's only a couple of bucks and the value to me is immense.&lt;/p&gt;

&lt;p&gt;Oh - unlike Newsstand, NetNewsWire only supports Instapaper, not ReadItLater. Argh, it appears I signed up for the wrong one. Great... another sign up process to battle through.&lt;/p&gt;

&lt;p&gt;Stay tuned for a more considered report on the shortcomings of the iPhone.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/pZTXRdQhdcg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/pZTXRdQhdcg/000257.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000257.html</guid>
<category>Geek</category>
<pubDate>Thu, 24 Sep 2009 23:40:40 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000257.html</feedburner:origLink></item>

<item>
<title>Newsstand for iPhone download stacks of data?</title>
<description>&lt;p&gt;Sent to the Newsstand developers:&lt;/p&gt;

&lt;p&gt;I noticed a large spike in my iPhone data usage, and on investigation I find my recently purchased copy of Newsstand is transferring about 5MB during every refresh of my feeds from Google Reader, even though only one or two new messages are downloaded.&lt;/p&gt;

&lt;p&gt;When I sniffed the traffic, I find Newsstand is passing the parameters "?n=25&amp;ck=535895056" to each feed on Google Reader, which downloads a heap of data every time. For example, "GET /reader/atom/feed/http://feeds.feedburner.com/WhereTheHellWasI?n=25&amp;ck=535907056 HTTP/1.1" returns over 225KB of data.&lt;/p&gt;

&lt;p&gt;I don't know alot about Atom, but shouldn't Newsstand be passing the "r=o" and "ot" parameters as well, to only get the posts since the last check?&lt;/p&gt;

&lt;p&gt;If Newsstand has to download the last 25 message from everyone of my feeds, every time I want to check for new posts, it's useless to me. That's why I'm hoping I've missed something!&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/bTX-o9KJQkk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/bTX-o9KJQkk/000256.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000256.html</guid>
<category>Geek</category>
<pubDate>Thu, 24 Sep 2009 03:35:05 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000256.html</feedburner:origLink></item>

<item>
<title>Rafto's Rapid Recovery</title>
<description>&lt;p&gt;or the meal for when you couldn't be stuffed preparing a meal:&lt;/p&gt;

&lt;p&gt;3 raw eggs&lt;br /&gt;
2 peeled bananas&lt;br /&gt;
1/6 cup desiccated coconut&lt;br /&gt;
1/6 cup sugar&lt;br /&gt;
400mL milk&lt;/p&gt;

&lt;p&gt;Throw it all in a blender. Blend. Consume.&lt;/p&gt;

&lt;p&gt;Experiment with the coconut and the sugar to get the balance just right - you want enough coconut to get the flavour, but not too much you're choking on the flakes. And you want enough sugar to offset the tang of the eggs but not too much to make it sweet. The second banana helps.&lt;/p&gt;

&lt;p&gt;The rest you can just use as you have available.&lt;/p&gt;

&lt;p&gt;I'm really surprised I hadn't discovered this earlier. Just the thing after a night of climbing and martial arts, when the thought of cooking a meal is too much. Delicious once you have the balance right, and second only to a beer for soothing aching muscles.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/PYZDAmuqWbE" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/PYZDAmuqWbE/000255.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000255.html</guid>
<category>General</category>
<pubDate>Tue, 22 Sep 2009 00:00:38 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000255.html</feedburner:origLink></item>

<item>
<title>The Fragility of Curiosity</title>
<description>&lt;p&gt;In the early 20th century Albert Einstein lamented that &amp;#8220;it is a miracle that curiosity survives formal education&amp;#8221;. Last Saturday, about a century after Einstein voiced his concerns about the fragility of curiosity, I had the grand pleasure of being uplifted by the hoots, gasps, laughter and feverish involvement of juvenile curiosity at the ABC Family Science Fun Day in Ultimo. There was no sign of a damaged sense of curiosity, as hundreds of children raced from display to display, touching scaly and spiky reptiles, wielding soldering irons, crawling through a large scale stomach model and interacting with scientists.&lt;/p&gt;

&lt;p&gt;My science festival weekend began portentously when on the train to Sydney I was seated behind three junior high school aged kids who, fortunately enough, hadn&amp;#8217;t developed the social graces that tend to keep our conversations quiet. I was privy to every word then, and it didn&amp;#8217;t take long for one of them to quip,&lt;/p&gt;

&lt;p&gt;&amp;#8220;Hey, why when you&amp;#8217;re on the train and you stand up like this, and jump into the air, you don&amp;#8217;t fly back?&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;It&amp;#8217;s cause there&amp;#8217;s no wind pushing you back ay.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Nah I reckon it&amp;#8217;s cause when you jump, see, this happens and it&amp;#8217;s like, different.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Like with gravity and stuff?&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Yeah, like imagine, what if you had the train all around here and then there was a big gap in the middle here, so there&amp;#8217;s still wind but the platform would be there&amp;#8230;&amp;#8221;&lt;/p&gt;

&lt;p&gt;The conversation trailed off but it&amp;#8217;s hardly important. It was already clear the boys&amp;#8217; schooling had not dulled their curiosity but indeed, invigorated it. Not only were they voluntarily discussing physics problems, but they were using their powers of hypothesis and thought experiments to do so.&lt;/p&gt;

&lt;p&gt;Incidentally, the problem the boys were discussing reminds me of an old &lt;em&gt;Hey Hey It&amp;#8217;s Saturday&lt;/em&gt; skit where a cannon was used to launch a tennis ball vertically from a moving vehicle before it passed under a bridge. The experiment showed that if the vehicle maintained its velocity, the ball would in fact fall back into the vehicle after it emerged from the other side of the bridge. A rather more spectacular demonstration of similar physics principles shows that with some care, it&amp;#8217;s possible to land a plane on a runway less than 15 metres in length:&lt;/p&gt;

&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LLCBL7B2onM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/LLCBL7B2onM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;Some time later, one of the boys piped up again,&lt;/p&gt;

&lt;p&gt;&amp;#8220;How many millimetres in a kilometre?&amp;#8221;&lt;/p&gt;

&lt;p&gt;I kid you not - the &lt;a href="http://www.10daysofscience.com/how-many-billions-in-a-trillion"&gt;coincidence&lt;/a&gt; is startling.&lt;/p&gt;

&lt;p&gt;&amp;#8220;That&amp;#8217;s easy, 100! No, 10,000.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Nah, like there&amp;#8217;s 1000 metres in a kilometre isn&amp;#8217;t there? How many millimetres in a metre?.&lt;/p&gt;

&lt;p&gt;At this point, Dad gets a little fed up with all the distractions and interjects, &amp;#8220;just, just don&amp;#8217;t worry about it, okay?&amp;#8221;.&lt;/p&gt;

&lt;p&gt;But still, neither their education nor their uninterested guardian could quell the curiosity burning within, and after some silence, the conversation picked up as if it had never stopped,&lt;/p&gt;

&lt;p&gt;&amp;#8220;It&amp;#8217;s 10,000! Yeah cause it&amp;#8217;s times isn&amp;#8217;t it? Is that like multiply? Okay&amp;#8230; 1000 times&amp;#8230; is it 100 millimetres in a centimeter?&amp;#8221;&lt;/p&gt;

&lt;p&gt;Again, the boys never quite settled on an answer, but the scientific curiosity and the scientific techniques for exploring that curiosity were evident. It was a splendid precursor to the ABC Family Science Fun Day.&lt;/p&gt;

&lt;p&gt;Among from the general air of fascination and wonder that permeated the Fun Day, several moments remain in my mind as indicative of the unbridled enthusiasm that exists in children if they&amp;#8217;re given a chance to explore their scientific curiosity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Mad Labs were massively popular all day. Here participants were given a chance to build a lie detector or other simple device by actually soldering the parts together. Father and son teams were common and it was great to see the kids handling the soldering duties. As one of the organisers said during a live radio interview on the day, &amp;#8220;20 kids with hot soldering irons? What could possibly go wrong?&amp;#8221;. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="http://img93.yfrog.com/img93/764/9ny.jpg" alt="Mad Labs" /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Surfing Scientist held two hour long shows and I caught the moment in both where he asked for volunteers. Skilfully he had already involved them in his show, &amp;#8220;shooting&amp;#8221; them with air from a makeshift air cannon and stunning them (and the rest of the audience) by sending beautiful toroidal vortices of fog over their heads. When he then asked for three volunteers, the reaction was an explosion of outstretched hands and excited pleas. It was truly inspiring. I can&amp;#8217;t mention the Surfing Scientist&amp;#8217;s show without including this awesome video, which he used to end the show.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PbR9JcZNipY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PbR9JcZNipY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From the walk-through stomach to the bed of nails, the line ups of kids super keen to take part was huge. They couldn&amp;#8217;t get enough.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="http://img223.yfrog.com/img223/1967/7d9.jpg" alt="Bed of Nails" /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The animal displays were a huge hit. But not only were the kids chomping at the bit to get to pat a blue tongue lizard or look at a green tree frog, they were just as fascinated by the preserved scorpions and spiders, and had barrels of questions to unload on the demonstrators. When I let this large leaf insect climb on my &amp;#8220;geek&amp;#8221; shirt, I inadvertently became one of the demonstrators and fielded a barrage of quick questions and requests for a &amp;#8220;turn&amp;#8221; with the insect.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="http://img207.yfrog.com/img207/9288/g1d.jpg" alt="Leaf insect" /&gt;&lt;/p&gt;

&lt;p&gt;The real value of days like the ABC Family Science Fun Day occurred to me while seated at the &amp;#8220;Inventors&amp;#8221; show. Three of the judges and two of the past inventors (of the electric water purifier and the earthquake-hardened mud brick house) from the ABC&amp;#8217;s New Inventors show held a discussion panel on the reality of invention. The themes raised tended to concern the economics and the effort involved in producing a viable invention, but one discussion path struck a cord with me. A young girl asked the panel if they always wanted to be a inventor when they grew up. The two inventors who otherwise had quite different experiences, both suggested that they found it hard to consider themselves inventors - instead they were exercising their curiosity about the way the world works, and combining that with an innate desire to actually fix a problem when they see it.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://img254.yfrog.com/img254/8064/e7rk.jpg" alt="The Inventors" /&gt;&lt;/p&gt;

&lt;p&gt;When another audience member asked what traits they thought had led them to their success, the panel was unanimous is expressing humbleness - that they felt they had no special traits beyond the farmer that solves problems on the farm on the run with whatever resources are available at the time. One of the inventors put his success down to growing up in the country, getting a practical feel for how things work, &amp;#8220;working out how far up the tree you can climb before you&amp;#8217;re in danger of breaking your arm&amp;#8221;, then coming to the city to find a hundred problems looking for a solution - and creating that solution.&lt;/p&gt;

&lt;p&gt;It occurred to me that the inventors were discrediting the notion that they had some gift, or that their methods were unusual, precisely because they had been born with curiosity just like everyone else. Their discriminating feature then, wasn&amp;#8217;t possession of a unique trait (although clearly they had developed expertise in their particular fields), but that their juvenile curiosity had survived formal education. From curiosity comes a desire to understand how the world works, and from understanding how the world works comes a desire to improve the way the world works. If your curiosity can survive through to adulthood, you&amp;#8217;ll never find yourself without an occupation. As Dorothy Parker put it, &amp;#8220;The cure for boredom is curiosity. There is no cure for curiosity.&amp;#8221;&lt;/p&gt;

&lt;p&gt;And that&amp;#8217;s why I get excited about events like the ABC Family Science Fun Day and urge you to rediscover your juvenile curiosity or stimulate it in someone else - you may just be kindling the start of a world changing career path.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Addendum: I&amp;#8217;ve included pictures of children in this post, which lives on the Internet. I realise that&amp;#8217;s controversial, but found it difficult to justify that the report of a family event, emphasising the important role of kids, should censor muddy pictures that happen to include kids enjoying the event. If I receive any suggestion that the photos are not welcome, I&amp;#8217;ll remove them immediately.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/10uYF52x_Vg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/10uYF52x_Vg/000254.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000254.html</guid>
<category>General</category>
<pubDate>Wed, 09 Sep 2009 00:25:05 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000254.html</feedburner:origLink></item>

<item>
<title>Woolworths Everyday Money credit card</title>
<description>&lt;p&gt;I recently signed up for a Woolworths Everyday Money credit card. I figure that I'm not the only person in the world that actually researches the impact of financial designs on their own situation, so I won't be the only person to get frustrated by the lack of useful comparison data available. For the sake of a small contribution to that cause, here is the value table for the Everyday reward program. Why every company from Qantas to Telstra insist on valuing their deals in "points", only the citizens of Pointsville will know. &lt;/p&gt;

&lt;p&gt;Points earned - value received&lt;br /&gt;
3,448 (min) - $20&lt;br /&gt;
4,310  -  $25&lt;br /&gt;
5,172  -  $30&lt;br /&gt;
Each 862 points thereafter a further $5&lt;br /&gt;
172,400 (max)  -  $1,000&lt;/p&gt;

&lt;p&gt;You earn a point for every dollar spent, double for partner shops and triple for Woolworths shops.&lt;/p&gt;

&lt;p&gt;I'm fairly happy so far. Do your own research!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/fEoc2Zldsac" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/fEoc2Zldsac/000247.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000247.html</guid>
<category>General</category>
<pubDate>Sun, 06 Sep 2009 14:51:36 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000247.html</feedburner:origLink></item>

<item>
<title>Scientific Coincidence</title>
<description>&lt;p&gt;I'm on the train on the way to the Ultimo Science Festival and the kids in front of me are discussing what happens when the train is moving and you jump into the air. Why don't you move, they ask? "Cause there's no wind pushing you back ay", "Nah I reckon it's cause when you jump, like it's different", "Like with gravity and stuff", "Yeah, like what if you had the train all around here and there was a big gap in the middle, then the platform would be here..."&lt;/p&gt;

&lt;p&gt;Isn't that great? Hypothesizing and even thought experiments!&lt;/p&gt;

&lt;p&gt;Later: "how many millimeters in a kilometer?" (I kid you not the coincidence is startling), "that's easy, 100! No, 10000", "nah like there's 1000 metres in a kilometre isn't there? How many millimeters in a metre?". Dad pipes up, "just, just don't worry about, okay". Grr.&lt;/p&gt;

&lt;p&gt;After some silence, "It's 10000! Yeah cause it's times isn't it? Is that multiply? Okay 1000 times... is it 100 millimetres in a centimeter?"&lt;/p&gt;

&lt;p&gt;Go Scientific Curiosity!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/ubGzcl77IJE" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/ubGzcl77IJE/000253.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000253.html</guid>
<category>Geek</category>
<pubDate>Fri, 28 Aug 2009 18:27:51 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000253.html</feedburner:origLink></item>

<item>
<title>Cabinet shopping</title>
<description>&lt;p&gt;Snail mailed today:&lt;/p&gt;

&lt;p&gt;To The Manager,&lt;/p&gt;

&lt;p&gt;On the 1st of August, 2009, I visited your OzRobes showroom in Broadmeadow and purchased two utility cabinets and related materials for $499.24. That day I took home what I was told was all the necessary components.&lt;/p&gt;

&lt;p&gt;Over the next two weeks I returned to the store two or three times to pick up parts that had been forgotten in the original package or to return parts that were incorrect. In the meantime I also ordered six shelves which were promised on a particular day but forgotten. The matter of the shelves has since been resolved.&lt;/p&gt;

&lt;p&gt;Today two doors remain unavailable, despite many promises that they would be available on particular days. Every time I am told the doors will be ready on a particular day, I cancel other plans, prepare the worksite, travel to the showroom and am disappointed to discover the job has been overlooked.&lt;/p&gt;

&lt;p&gt;I have been attended to by “Sam”, who has assured me on at least six occasions that I will be telephoned back to sort the matter out. On only one of those occasions was a return call initiated by someone at OzRobes.&lt;/p&gt;

&lt;p&gt;On the 22nd of August, after another missed promise of a call and delivery, I entered the showroom and voiced my growing frustration to Sam. Sam noted in his computer system that I had grown “quite irate” and expressed sympathy, stating that the experience is unacceptable, the owners will now be involved, someone will lose their job over the events, and some sort of refund should be able to be organised. He then assured me, acknowledging my doubt, that I would receive a call on Monday.&lt;/p&gt;

&lt;p&gt;Monday has now passed without any communication and I have no faith remaining in the service of the store.&lt;/p&gt;

&lt;p&gt;This morning I have been unable to find an alternate provider that could match the doors. If OzRobes is unable to resolve the matter by this weekend, I will engage my financial institution’s fraud control centre on Tuesday the 1st of September to cancel the original credit card transaction and ask that you honour the cancellation as failing to provide the goods paid for. The separate transaction for the shelves may remain. Obviously this scenario leaves me with partially installed cabinets, many wasted hours and a very disappointing experience, and is therefore highly undesirable but I see no alternative.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br /&gt;
Heath Raftery&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/ALalN35mtoM" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/ALalN35mtoM/000252.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000252.html</guid>
<category>General</category>
<pubDate>Tue, 25 Aug 2009 09:45:49 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000252.html</feedburner:origLink></item>

<item>
<title>How many billions in a trillion?</title>
<description>&lt;p&gt;You are currently participating in a mighty event - when it is over the world will have moved two thousand kilometres through the solar system. Mankind will have expended about thirty million megajoules just staying alive, and added about four billion grams of carbon dioxide to the atmosphere in the process. About fourteen hectares of forest will have been cut down and over a hundred people will have died. The Earth will be hit by lightning six thousand times and there's not a thing you can do to stop it. That's because these hundreds, thousands, millions and billions of things happen in a minute, every minute. Yep, that mighty event and the numerous consequences occurred while you were downloading and reading the first paragraph of this article.&lt;/p&gt;

&lt;p&gt;Two thousand kilometres may seem like a long way, but it's just a minute of the year long trip the Earth takes around the sun. Thirty million megajoules is 30000000000000 (30 quadrillion) joules, but there are over 6000000000 (6 billion) people on the earth, and it takes about 4500 joules to power your body for one minute. Four billion grams of carbon dioxide weighs more than 24 Boeing 747s, yet that's how much the human race naturally breaths out every minute of the day.&lt;/p&gt;

&lt;p&gt;Confounded yet? You should be - only by understanding the inherent difficulty in comprehending large numbers can you begin to appreciate the pause we should all take when consuming media articles that contain them. As Xavier Rizos wrote in his post, &lt;a href="http://www.10daysofscience.com/science-non-science-and-non-sense"&gt;"Science, non-science and non-sense"&lt;/a&gt;, comfortably dealing with science is important because science is "a highly cultural and political area and thereby essential". And in a world of trillion dollar debts and billion ton pollution problems, having the numerical literacy to interpret, compare, estimate and appreciate the numbers is essential to comprehension.&lt;/p&gt;

&lt;p&gt;There was a time when reports of million dollar corporate bonuses and billion dollar profits would shock the casual reader. Now however, after months of reports of trillion dollar deficits the casual reader is numb. How do we actually appreciate what it means to owe a trillion dollars?&lt;/p&gt;

&lt;p&gt;One way to get a "feel" for a trillion dollars is to physically represent it. Unfortunately, even if you collected one representative token every second on your way to building your physical display of one trillion, it would take you over 30 thousand years to create your work. Fortunately, we can model the same process, &lt;a href="http://www.pagetutor.com/trillion/index.html"&gt;like so&lt;/a&gt;. Getting a feel for a trillion? Seriously, take a minute to read the linked article - physical appreciation is an excellent tool for appreciating orders of magnitude, and that's exactly the skill that was being nurtured when you played with counting blocks in primary school. Stacking objects in collections of 10 or 100 or 1000 is a great way to understand the difference between a billion, 10 billion, 100 billion and a trillion. A trillion is a huge number.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.ape2zebra.com/images/thumbs/haba/counting-blocks-450.jpg" alt="metric counting blocks, from Haba Wooden Toys" /&gt;&lt;/p&gt;

&lt;p&gt;But physical realisation only goes so far when you're getting into the billions and trillions. A trillion anything, physically represented, is certainly impressive, but it's still far enough beyond reality that comparisons and intelligent reckoning is difficult. Another excellent tool we have for appreciating large numbers is by making comparisons - rates and ratios. Take a look at this video to get an idea of what one trillion dollars could buy you:&lt;/p&gt;

&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/at3MNu8BRwQ&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/at3MNu8BRwQ&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;Now physical realisation and rates and ratios are fine when someone has gone to the trouble of presenting them, but what are we, the casual readers of newspapers, supposed to do? As a mathematician, I'm lazy, and will always look for the simplest answer (it's an &lt;a href="http://en.wikipedia.org/wiki/Occam's_razor"&gt;Ockham's razor&lt;/a&gt; thing). The time honoured tool for comprehending large numbers is the laziest method we have: &lt;em&gt;orders of magnitude&lt;/em&gt;. Despite "orders of magnitude" being used in popular literature to mean just about anything, it has a precise meaning in the sciences. Quite simply, an order of magnitude is a power of  ten. If something is one order of magnitude larger than something else, it is 10 times as big. If it is two orders of magnitude larger, it is 10 squared or 100 times as big. Three orders is 10 cubed or 1000 times. It gets even easier when you drop the "squared" and "cubed" language and note that the order of magnitude correlates to the number of zeros after the 1. Two orders of magnitude is 100 times. Six orders of magnitude is 1000000 times.&lt;/p&gt;

&lt;p&gt;And the laziness doesn't stop there - orders of magnitude are so useful that all those zeroes become tiresome. That's why scientists shorten 1000000 to 1e6. The 'e' (or 'E') stands for exponent, but that's by the by - all you need to know is that the '6' tells you how many zeros there are. That way orders of magnitude can be read straight off the number: 1e9 is three orders of magnitude bigger than 1e6.&lt;/p&gt;

&lt;p&gt;There's one final piece of the puzzle that will link all this orders of magnitude business to the numbers you see in newspaper articles. The numbers and unit prefixes we use just so happen to correspond to a very simple pattern of orders of magnitude:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.hrsoftworks.net/otherpics/ordersOfMagnitude.png" alt="Orders of magnitude and their relationship to everyday numbers and units" /&gt;&lt;/p&gt;

&lt;p&gt;Once you have that relationship down pat, it's a snap to see an article about the &lt;a href="http://www.news.com.au/couriermail/story/0,27574,25962837-3102,00.html"&gt;BrisConnections&lt;/a&gt; fiasco and realise that the $4.8 billion Airport Link project costs 4.8 with 9 orders of magnitude and is therefore 3 orders of magnitude (or a thousand times) larger than the $4.5 million (4.5 with 6 orders of magnitude) cost worn by project manager Thiess John Holland.&lt;/p&gt;

&lt;p&gt;Or you could read about &lt;a href="http://www.news.ontario.ca/opo/en/2009/08/schools-get-green-makeover.html"&gt;energy efficiency in Toronto schools&lt;/a&gt; and realise that the annual energy saving of 100 million megajoules has an order of magnitude of 14 (two zeros, plus six for million, plus six for mega) and that the $4.8 billion spent so far has cost about $4.80 per 100 kilojoules saved each year (4.8e9 dollars for 1e14 joules equals 4.8 dollars per 1e5 joules).&lt;/p&gt;

&lt;p&gt;Not only is learning a level of numeracy a shortcut to lazy comprehension, numerical appreciation is a vital tool for anyone that wants to consume the news of today with more than robotic capability to respond.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/BhX-VnG1uOk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/BhX-VnG1uOk/000250.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000250.html</guid>
<category>Geek</category>
<pubDate>Sat, 22 Aug 2009 19:11:42 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000250.html</feedburner:origLink></item>

<item>
<title>Altium workspace opens with missing projects</title>
<description>&lt;p&gt;After creating an Altium Designer 6.8 workspace last week and importing a dozen Protel schematic projects, I opened it again this morning to discover that all but one of my patiently imported projects had disappeared. The fix was surprisingly simple, making it even more frustrating that I had to spend my time working around a simple Altium oversight.&lt;/p&gt;

&lt;p&gt;Opening the &lt;code&gt;.DsnWrk&lt;/code&gt; workspace file in a text editor, I saw the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[ProjectGroup]
Version=1.0
[Project0]
ProjectPath=ProjectX\PCICard\PCICard.PrjPcb
[Project1]
ProjectPath=ProjectX\PCICard\SHIELDS\SHIELDS.PrjPcb
[Project3]
ProjectPath=ProjectX\DaughterBoard\DaughterBoard.PrjPcb
[Project4]
...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and so on to Project 12. Quite confident that Altium couldn't be so brain dead as to create a workspace file that it can't open, I nevertheless changed &lt;code&gt;[Project0]&lt;/code&gt; to &lt;code&gt;[Project1]&lt;/code&gt; and &lt;code&gt;[Project1]&lt;/code&gt; to &lt;code&gt;[Project2]&lt;/code&gt;. The change was prompted by the pattern I found in example workspaces that come with Altium - ie. the first project is "Project1" and additional projects are number sequentially. The result looked like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[ProjectGroup]
Version=1.0
[Project1]
ProjectPath=ProjectX\PCICard\PCICard.PrjPcb
[Project2]
ProjectPath=ProjectX\PCICard\SHIELDS\SHIELDS.PrjPcb
[Project3]
ProjectPath=ProjectX\DaughterBoard\DaughterBoard.PrjPcb
[Project4]
...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And whaddya know, after Altium's worryingly long launch process, the workspace opened and all 12 projects appeared once again. Yep, I'm sorry to report that Altium can create files that it can't open.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/u_m0aFQOjco" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/u_m0aFQOjco/000249.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000249.html</guid>
<category>Geek</category>
<pubDate>Mon, 17 Aug 2009 12:48:55 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000249.html</feedburner:origLink></item>

<item>
<title>Take a Midnight Shower</title>
<description>&lt;p&gt;It&amp;#8217;s that time of year again! Every August our Earth hurtles through the debris left by the comet Swift-Tuttle. Fortunately for us, the Earth has a thick atmosphere (about 100kms of it) that not only shields us from space debris, but can do so in a spectacular fashion called a &amp;#8220;&lt;a href="http://www.universetoday.com/guide-to-space/stars/what-is-a-shooting-star/"&gt;meteor shower&lt;/a&gt;&amp;#8221; by vaporising the space rocks in brilliant streaks of light.&lt;/p&gt;

&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kqn4SwglCBg&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/kqn4SwglCBg&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;This year the show is predicted to peak on the night of Wednesday, 12th August. The Perseid Meteor Shower, as it&amp;#8217;s known, is named for the Perseus constellation, since the shower appears to originate from the constellation. In fact, the shower is at least a trillion (1 followed by 12 zeros) times closer to use than the stars of Perseus!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.iau.org/static/themes/constellations/gif/PER.gif" height=300 width=300 alt="Perseus, the constellation! Image from the International Astronomical Union (IAU)."/&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/2/28/Persus-with-the-head-of-med.jpg" height=300 width=225 alt="Perseus, the legendary Medusa killer! Image from Wikipedia, licensed under the Creative Commons Attribution ShareAlike 3.0 License."/&gt;
Perseus the constellation and Perseus the legendary Medusa killer! Isn&amp;#8217;t the resemblance uncanny? Images from the International Astronomical Union (IAU) and Wikipedia (Creative Commons Attribution ShareAlike 3.0 License) respectively.&lt;/p&gt;

&lt;p&gt;While us Southern Hemispherians don&amp;#8217;t normally see much of Perseus in Winter, the shower will be visible all over the world.&lt;/p&gt;

&lt;p&gt;Around 11pm to 1am would be a good time to cast your eyes skyward - there&amp;#8217;s no need for binoculars or telescopes for this show. For the best chance of spotting some Swift-Tuttle debris, generally face East and look somewhere overhead. After spiralling through space all this time, the debris could wind up striking the Earth&amp;#8217;s atmosphere just about anywhere - if we&amp;#8217;re especially lucky a piece might just graze the atmosphere and form a rare &lt;a href="http://apod.nasa.gov/apod/ap090302.html"&gt;earthgrazer&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;The moon is actually our enemy for this astronomical event, so try to position yourself away from city light, but near a building or tree that can block the moon light from your eyes - it might even be worthwhile taking a look &lt;a href="http://aa.usno.navy.mil/data/docs/RS_OneDay.php"&gt;before or after&lt;/a&gt; the moon gets too bright.&lt;/p&gt;

&lt;p&gt;Get comfortable, listen to some music and sip a warm beverage - you may be lucky to see more than 50 meteors a minute, but it will come in fits and starts, and there&amp;#8217;s bound to be periods where there&amp;#8217;s nothing to see but the stars of our universe.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/b01pD3LSWX0" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/b01pD3LSWX0/000248.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000248.html</guid>
<category>Geek</category>
<pubDate>Wed, 12 Aug 2009 09:25:49 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000248.html</feedburner:origLink></item>

<item>
<title>Places To Live</title>
<description>&lt;p&gt;Tonight I pushed out a new version of &lt;a href="http://www.placestolive.com.au"&gt;PlacesToLive&lt;/a&gt; to the Interwebs. This is the first significant clean up I've made since its debut in April and I'm particularly pleased to see that it has hummed along with stability in the meantime. With the minor tidying of this release, the stage is set to increase awareness and get serious about making this the go-to place for sharehousing and housemates in Australia. I have a Facebook ad and a Google ad doing the rounds, but there's still more I can do. Even after a steady stream of competitors that came on the scene this year, I'm relieved to discover that they are all very crap, and still believe PlacesToLive is the &lt;a href="http://www.placestolive.com.au/faq"&gt;best site for shared accommodation&lt;/a&gt; in Australia.&lt;/p&gt;

&lt;p&gt;If you agree, tell others, if you don't tell me!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/lxDlpVE37HY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/lxDlpVE37HY/000246.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000246.html</guid>
<category>General</category>
<pubDate>Sun, 09 Aug 2009 23:09:17 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000246.html</feedburner:origLink></item>

<item>
<title>Astronomical Alignment</title>
<description>&lt;p&gt;At a little after midday on the 7th of August, humankind will experience a remarkable moment, if for a fleeting second, as the clock ticks over to show 12:34:56, 7/8/9. Depending on your clock, you may have even captured a rehearsal event in the wee hours of the morning. But if you do want to catch the show, be sure to get in today. It's a performance that's unlikely to appear again for another 100 years. If you can't wait that long, fear not, because in less than 80 years today's alignment well be spectacularly surpassed, when all 10 digits will align in perfect order: 01:23:45, 6/7/89.&lt;/p&gt;

&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jL5xZoA7suY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jL5xZoA7suY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;But how did we arrive at this extraordinary moment? With a great deal of rigmarole, as it turns out. When Jesus was walking the Earth 2000 years ago the world had not yet thought to count years &lt;em&gt;anno domini&lt;/em&gt; (AD), and Augustus had only recently been honoured in the calendar system, renaming Sextilis to August. But the calendar of the time, the Julian calendar (named for Julius Caesar), was quite accurate by today's measures - astronomers had correctly approximated the period of seasonal variation over the year to 365 days and even accounted for most of the inaccuracy by adding an extra day to February every four years. And this was 1600 years before Galileo Galilei managed to get himself arrested by vehemently arguing that the Earth revolves around the sun!&lt;/p&gt;

&lt;p&gt;In fact it took until Galilei's time for the Julian calendar to be surpassed. On the 24th of February, 1582 (by our current calendar), Pope Gregory XIII decreed the Gregorian calendar and it became the internationally accepted civil calendar we still use today (although there are plenty of &lt;a href="http://infosthetics.com/archives/2006/12/creative_calendar_design.html"&gt;creative variations&lt;/a&gt; on how to present it). Most of Europe at that time was already using the Incarnation of Jesus as an epoch for counting the years, and the main reform introduced by the Gregorian calendar was to further refine the inaccuracy of leap years by specifying the "don't leap if divisible 100, except if also divisible by 400" condition we use today. So in a world that still mostly believed the sun revolved around the Earth, astronomers were able to measure the yearly period to 365.2425 days. Not bad, considering we now know that the earth actually takes between 365.2421 and 365.2596 days to orbit the sun, depending on which of the several &lt;a href="http://en.wikipedia.org/wiki/Year"&gt;possible points of reference are used&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That brings us to 2008 AD, which is actually 2007 lots of 365 or 366 days since Jesus was born, because his first year is denoted 1 AD - and even then scholars generally agree that the historical evidence is too unclear to be sure that 1 AD wasn't off by at least a few years. But let's stick with the status quo, which places us at day 733407, and move on to the month.&lt;/p&gt;

&lt;p&gt;The origin of a month is suggested by its cognate, Moon. Indeed, a month arose as a measure of the cycle of moon phases. The irregular lengths of the months we use today however, are less a measure of astronomical behaviour and more a product of variously motivated adjustments over a long and vague history. The variation from astronomical behaviour is particularly evident in February, which can pass without a single full moon occurring. Our modern month lengths were set way back in 45 BC with the introduction of the Julian calendar, and August became the eighth month instead of the sixth several hundred years prior. August 2008 places us at day 733619.&lt;/p&gt;

&lt;p&gt;Even before it was well understood that the Earth undergoes rotation, it was clear to astronomers that the pattern of stars above them repeated with some regularity, and the period of a day could be measured. The day then, has historically formed a useful fundamental measure of time, from which other units such as the year and the hour, could be defined. The 8th day of August brings us to day 733627.&lt;/p&gt;

&lt;p&gt;The hour was chosen in ancient civilisations as a convenient way to section a day, and the most logical division of the time was twelve. The period between sunrise and sunset was therefore split into twelve hours, and a full day became 24 hours. Most people these days would assume that dividing by ten would have been a more logical choice. Perhaps it would have been, but when it's clear to you that the seasonal variations of the year are marked by twelve cycles of moon phases, and all your life you've been counting to twelve on one hand by tapping your thumb against each of the phalanges of your other four fingers, you may well think otherwise. The 12th hour on the 8th day puts us at hour 17606867 AD.&lt;/p&gt;

&lt;p&gt;The Babylonians recognised the number 60 as being particularly suitable for arithmetic, given it is divisible by 2, 3, 4, 5, 6 and 10, and did their astronomical calculations in the sexagesimal (base-60) system. It is from them that our divisions of the hour - the minute and the second - arise. The 34th minute of the 12th hour puts us at minute 1056412028 AD, and finally, the 56th second of the 34th minute places the historical event of 12:34:56 on the 7th August, 2009 at the 63384721712th second, &lt;em&gt;anno domini&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But what does 63384721712 represent? Well, substituting dots for seconds might give you a &lt;a href="http://www.vendian.org/envelope/dir2/day_of_dots_clock/"&gt;pictorial representation&lt;/a&gt;. Or consider that that many 5 cent coins would weigh more than four and half Sydney Harbour Bridges, yet if you placed all those coins end to end you'd still only be one hundredth the way to the Sun. In other words, large numbers are terribly hard to comprehend, and that's why scientists use a variety of units - instead of the Sun being 6338472171200 coins away, it's 1 AU (astronomical unit) away. Instead of the Sydney Harbour bridge weighing 14085493713 coins, it weighs 36 kilotons. The units we use to tell the date might be a hodge-podge of millennia old decisions, but they sure are a great deal nicer than keeping track of 63384721712 seconds!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/5liSbnGVjGY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/5liSbnGVjGY/000245.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000245.html</guid>
<category>General</category>
<pubDate>Fri, 07 Aug 2009 01:53:00 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000245.html</feedburner:origLink></item>

<item>
<title>Vindication</title>
<description>&lt;p&gt;Isn't it nice when you go out on your own to make an assertion, and then some time later someone backs it up? Maybe it's a case of throwing enough shit that at least some of it sticks, but I'll take two recent events as vindication to enjoy anyway.&lt;/p&gt;

&lt;p&gt;Back in early 2008 I mused about the folly I saw in &lt;a href="http://heath.hrsoftworks.net/archives/000190.html"&gt;emphasising the memorisation of timestables&lt;/a&gt; as a critical part of mathematics education. My point was that there is so much "depth, application and beauty" available in mathematics, that spending time on mechanics that will develop naturally anyway is flawed. The few responses I received generally refuted the argument as fantasy. It was uplifting then, to read Paul Lockhart's &lt;a href="http://www.maa.org/devlin/LockhartsLament.pdf"&gt;&amp;quot;A Mathematician's Lament&amp;quot;&lt;/a&gt; (a worthwhile foreword to the essay is &lt;a href="http://www.maa.org/devlin/devlin_03_08.html"&gt;here&lt;/a&gt;), in which Paul passionately argues that the concept of beauty in mathematics is completely obscured by the robotic rote learning of traditional mathematics education. Paul's manner is rather extreme but his thoughts are based only on frustration gained through years of experience. At least it's nice to know I'm not the only one with the fantasy.&lt;/p&gt;

&lt;p&gt;Later in 2008 I ranted about the painful NSW &lt;a href="http://heath.hrsoftworks.net/archives/000223.html"&gt;road toll fiasco&lt;/a&gt;. I followed it up with a link to a &lt;a href="http://www.smh.com.au/news/national/free-etags-not-so-free-for-disabled/2008/12/01/1227979933090.html"&gt;Sydney Morning Herald article&lt;/a&gt; that added a facts-and-figures backed addendum to my raving. A couple of months after writing the article I finally caved and signed up for an E-Toll account in anticipation of a Sydney trip. I racked up $5.20 during that trip, it was deducted from my $10 minimum deposit and the magic toll beeper has sat in my bedside drawer ever since. Six months later the RTA themselves vindicated my rant by showing just how hostile they could make their toll system. In June I was sent a delightful email by the RTA informing me that my account had been "Blacklisted" and I may be issued a Toll Notice if I travel on a Toll Road, since the account had reached the minimum required balance of $0. Confident that my bedside drawer had not taken any trips to Sydney in the last six months, I logged on to find I'd been charged not for using toll roads, but for having the account. $1.25 a month of "account management fees" had quickly reduced my balance to zero and prompted the ominous "blacklist" email. Fine I thought, I'm on the blacklist, I get it, I promise I'll stay away from Sydney. That was not enough it seems, as another email arrived a couple of days ago with my latest statement (for my "blacklist" account). The monthly "account management fees" have not been blacklisted in the slightest, and combined with a unexplained "toll facilities" charge of $6.65, I'm now $9.60 in the red. That'll teach me for trying to pay my tolls.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/wBBN-dqm0sg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/wBBN-dqm0sg/000244.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000244.html</guid>
<category>Rant</category>
<pubDate>Mon, 20 Jul 2009 22:47:27 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000244.html</feedburner:origLink></item>

<item>
<title>Maven and Cargo through a proxy</title>
<description>&lt;p&gt;If I had a dollar for every hour I've wasted trying to force yet another command line app to go through a HTTP proxy, I'd probably be $100 richer. The latest target for frustration was Cargo, as used by Maven. Here's four hours of hair-pulling pain, solved in 50 lines. Hope it saves someone else some hair.&lt;/p&gt;

&lt;p&gt;Maven's proxy configuration is actually documented, so only takes a moderate amount of pain to realise you need to add the following to your &lt;code&gt;~/.m2/settings.xml&lt;/code&gt; file, before the final &lt;code&gt;&amp;lt;/settings&amp;gt;&lt;/code&gt; tag:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;proxies&amp;gt;
    &amp;lt;proxy&amp;gt;
        &amp;lt;active&amp;gt;true&amp;lt;/active&amp;gt;
        &amp;lt;protocol&amp;gt;http&amp;lt;/protocol&amp;gt;
        &amp;lt;host&amp;gt;proxy.server.com.au&amp;lt;/host&amp;gt;
        &amp;lt;port&amp;gt;8080&amp;lt;/port&amp;gt;
        &amp;lt;username&amp;gt;your_username&amp;lt;/username&amp;gt;
        &amp;lt;password&amp;gt;your_password&amp;lt;/password&amp;gt;
        &amp;lt;nonProxyHosts&amp;gt;*.server.com.au|whatever.com&amp;lt;/nonProxyHosts&amp;gt;
    &amp;lt;/proxy&amp;gt;
&amp;lt;/proxies&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Maven is then able to connect to its various HTTP servers.&lt;/p&gt;

&lt;p&gt;When Maven calls on the Cargo plugin however, there's some indication that Cargo is supposed to pick up Maven's proxy settings. I'm using Cygwin (it's the best I can do to hide the tragedy that is Windows, and it's not always pretty) and this didn't work.&lt;/p&gt;

&lt;p&gt;In my &lt;code&gt;pom.xml&lt;/code&gt; file for the project I was working on, there is a section that begins:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;plugins&amp;gt;
    &amp;lt;plugin&amp;gt;
        &amp;lt;groupId&amp;gt;org.codehaus.cargo&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;cargo-maven2-plugin&amp;lt;/artifactId&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;At some point, Maven calls on Cargo to download and install Tomcat. No amount of elaborate configuration could convince Cargo to use global proxy settings and the documentation is a long way from useful, so instead I had to make the settings specific to the Tomcat container. This is how you do that:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;plugins&amp;gt;
    &amp;lt;plugin&amp;gt;
        &amp;lt;groupId&amp;gt;org.codehaus.cargo&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;cargo-maven2-plugin&amp;lt;/artifactId&amp;gt;
        &amp;lt;configuration&amp;gt;
            &amp;lt;container&amp;gt;
                &amp;lt;containerId&amp;gt;tomcat5x&amp;lt;/containerId&amp;gt;
                &amp;lt;zipUrlInstaller&amp;gt;
                    &amp;lt;proxy&amp;gt;
                        &amp;lt;host&amp;gt;proxy.server.com.au&amp;lt;/host&amp;gt;
                        &amp;lt;port&amp;gt;8080&amp;lt;/port&amp;gt;
                        &amp;lt;user&amp;gt;your_username&amp;lt;/user&amp;gt;
                        &amp;lt;password&amp;gt;your_password&amp;lt;/password&amp;gt;
                    &amp;lt;/proxy&amp;gt;
                &amp;lt;/zipUrlInstaller&amp;gt;
            &amp;lt;/container&amp;gt;
        &amp;lt;/configuration&amp;gt;
    &amp;lt;/plugin&amp;gt;
&amp;lt;/plugins&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And ta-da, Cargo is able to download Tomcat. Rinse, lather, repeat.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/IOfe0a3E-F4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/IOfe0a3E-F4/000243.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000243.html</guid>
<category>Geek</category>
<pubDate>Mon, 06 Jul 2009 18:18:38 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000243.html</feedburner:origLink></item>

<item>
<title>Fixing the roof</title>
<description>&lt;p&gt;After weeks of rain and more and more leaks forming in the back section of the house, I could no longer justify waiting another week for a change in the weather, and dedicated one Friday morning to replacing the roof section.&lt;/p&gt;

&lt;p&gt;Here's the sad "before" shot. Sheets of tin shaped into tiles, full of cracks and ill-fitting overlaps.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01977.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01977.jpg" alt="Before" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the lead up to the Friday I banked some time in lieu and scheduled a day off. I measured, remeasured and double checked my re-measurement to ensure I had the roof section dimensions right, and contacted Hancock Speedway to order the Colorbond. After several iterations of visiting or calling, being told they'd call back, and not hearing from them again, I started to gather that this is not your average customer-service orientated business. No bother, I'd just have to push the order a little. So I faxed through a plan, received a quote and placed the order without bothering them too much with consumer-level questions. That's when I found out that the material wouldn't be ready until 1pm on the Friday in question. Given I was to pick R up at the train station at 4pm and head straight to Tamworth, this was the first spanner in the works. Hiding my frustration at not managing a single returned call in the weeks beforehand, I convinced sheetmetal guy to take pity on my plight and he stated he could have the material ready by 9am.&lt;/p&gt;

&lt;p&gt;I woke on the Friday morning to clear skies, and began carting tools up on to the roof as the sun was coming up. By 9am I had removed the 30 million bent, rusty, "intricately" placed nails from the existing roof and thrown the old sheets in a pile in the backyard, exposing the guts of the roof. That's when it first started raining.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01986.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01986.jpg" alt="Old roof sheets" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scouring the local hardware store's shelves for the biggest tarps I could find, I loaded up with the temporary protection and covered the bare roof as best I could using fragments of old tarps and plenty of bricks. The tarps did a great job of catching the rain, helping it drain into large, heavy pools before dumping through the roof and into the house below.&lt;/p&gt;

&lt;p&gt;It was well and truly time to gather the new material to start providing some proper protection, so I headed down to Hancock's to pick my order up. After another painful lesson in businesses not particularly customer-service orientated, the sheetmetal lady found my order and asked where my vehicle was. I pointed to my car, but suggested that I'd probably be better off with the loan trailer I'd organised, given the order was over five metres long. Somewhat surprised, sheetmetal lady obliged and found me trailer boy.&lt;/p&gt;

&lt;p&gt;Trailer boy helped me hook the trailer up in the rain and then in broken English (English was probably his first language, but not exactly his strong point), directed me to park somewhere down there. I parked somewhere down there, and waited for something to happen. Eventually trailer boy came out and mumbled something about the trailer. In the trailer were some stands that formed a ladder rack over the trailer. I began to install them into their slots, and this seemed to satisfy trailer boy, so I continued. Trailer boy then reappeared driving a fork lift and carrying what looked awfully like five and a half metres of Colorbond sheetmetal. He lowered the load onto the trailer frame, mumbled something about screws and then disappeared. He returned, passed me a bag of screws, and turned to leave.&lt;/p&gt;

&lt;p&gt;"Ah... am I right to go?", I asked. &lt;em&gt;mumble&lt;/em&gt; "yah" &lt;em&gt;mumble&lt;/em&gt; he eloquently replied.&lt;/p&gt;

&lt;p&gt;I looked at the metal on the trailer and realised all seven sheets were in the same bundle, and figured I could throw the screws in the car and finally get out of the rain and the road of the couple of other customers, who had patiently been waiting for this charade to move on. It occurred to me that I had no idea how secure the fork lift placed load was on the rack though, so I thought it best to at least tie the sheets down. I had a few bungee cords in the car, so grabbed a bunch of them and encircled the sheets, terminating as best I could on the tie-down point free zone of the rack.&lt;/p&gt;

&lt;p&gt;At this point my phone rang, and some bloke called Steve was asking how to get into my place. I thought about how the rain was currently having no problem at all entering my place, before I suddenly realised I'd also organised a pest inspector to visit on the same day. I apologised and said I'd be home in 10 minutes. And finally, I carefully drove out of Hancock's.&lt;/p&gt;

&lt;p&gt;As I was gradually slowing for the first set of lights, 50 metres out of Hancock's, it occurred to me that I couldn't see the load in the mirrors to check how it was travelling, due to its elevation on the racks. I needn't have worried, since seconds later as I was approaching a standstill, there was an almighty bang and seven sheets of Colorbond entered the car through the back window.&lt;/p&gt;

&lt;p&gt;I popped the hazards on and jumped out to inspect the damage. Naturally, as I was planning on pulling the metal out of the window, the car started to roll back down the road. This is the first car I've owned where I've let someone else do the maintenance (it's a requirement of the warranty). Given the handbrake gets worse every time it is serviced, I'm not real excited about the arrangement. Anyway, I caught up with the car, jumped back in, hit the brakes, turned the engine off, put it in gear and returned to planning a way to get the metal back on to the racks. It was about then I realised I was the rubber-neckee on the road this time, as 20 drivers slowed for the lights, each peering out their windows at the strange man playing with his trailer in the rain.&lt;/p&gt;

&lt;p&gt;With a few well timed grunts, I managed to extract the sheets from the back seat and heave them back on to the racks. I grabbed a few more bungee straps from the back of the car and rigged up some restraints to the front and back of the load. Then, with ever so gentle movements, I drove home.&lt;/p&gt;

&lt;p&gt;By great fortune and generosity, two friends were waiting at my place to render assistance for a couple of hours. First I sorted the pest man out, marking the areas I thought might need some attention inside the house with a nice thick trail of the mud and water I'd collected so far that morning. Then my assistants and I managed to unload the trailer, and I talked them through the worksite and the plan of attack I had in mind. With a burning desire to be in two places at once, I then left them both while I took care of a little smashed window problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01978.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01978.jpg" alt="Oops" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It turns out auto service shops just get glass repair shops to do the work anyway, so I started down the list in the phone book (literally the phone book - I was too wet to use the computer! I knew those books would come in handy for something other than stands one day!). After several wild goose chases, I finally turned to the big shop, O'Brien, who had just the window I was after. The friendly O'Brien lady was so sincere, you'd almost believe she'd never heard of someone smashing a car window through their own negligence before!&lt;/p&gt;

&lt;p&gt;"Oh no, how did that happen?"&lt;/p&gt;

&lt;p&gt;"Um, some sheetmetal slid off a trailer and into the back of my car."&lt;/p&gt;

&lt;p&gt;"Oh you poor thing! That's no good. When would you like it fixed?"&lt;/p&gt;

&lt;p&gt;"Ah... it's kinda raining and there's a hole in my car and I'm driving to Tamworth in 6 hours. Is now okay?"&lt;/p&gt;

&lt;p&gt;"Oh yes of course, let's see what we can do for you. I'm going to call local O'Brien lady and see when they can fit you in."&lt;/p&gt;

&lt;p&gt;I was then put in a teleconference with the two ladies who debated about when the job could be done. Local O'Brien lady was pretty adamant that they were all booked out for the afternoon, but with some pleading on my behalf by call centre O'Brien lady, local O'Brien lady conceded that if I was to get the car to them immediately and leave it with them for the afternoon, they might get a chance. That was all the invitation I needed, so I ended the call and then badgered one of my assistants to meet me at O'Brien while I returned the trailer. As fortunate would have it, O'Brien was a few shops down from Hancock Speedway.&lt;/p&gt;

&lt;p&gt;I belted back to Hancock's with the trailer in tow. After I unhooked the trailer, a friendly senior trailer man came to give me a hand, and I related my mishap with the window. I then tested my luck by ending the story with "don't suppose you have any insurance or anything that covers something like that?". He asked which guy loaded it and tied it down. I told him young trailer boy had loaded it, but it hadn't been tied it down, except the few bungee straps I wrapped around it. He recalled that it should be tied down with some procedure, so it comes down to who tied it down and was well worth checking with fat desk man. We finished with the trailer and he lead me in to see fat desk man and related the story. Fat desk man wasted no time in raising his voice and proclaiming that it's the fault of you (pointing at me), the person that tied it down. "That's why we don't get involved in tying it down!". I apologised for upsetting his breakfast (it was getting on towards 11am, but I figured a man like that wouldn't let that stop him), thanked friendly senior trailer man and got out of there.&lt;/p&gt;

&lt;p&gt;At O'Brien reception lady came to do the damage report but suggested I might need to get the panels beaten out first. Politely, but with some haste I assured her it was fine, that that was a plastic cover, not a metal panel, and that it is on the outside, and the window is on the inside. She accepted that explanation and carried on with the paperwork. For some reason reception man also wanted to assess the damage, and remarked that I might need to get the panels beaten out first. I pointed out that the window frame actually had superficial damage, that he was referring to a plastic cover that is on the outside, and the window needs to be done first. Ah yes he said, so it is. We negotiated a 3pm pickup time, ensuring that I could get the car at that time regardless of the state of the job, and belted back to the house.&lt;/p&gt;

&lt;p&gt;My assistants then showed me how they were actually knights in shining armour and had managed, while I was dancing around on the phone in the house below, to unpack the sheets and raise several of them on to the roof ready to be put into position. It was reasonable straightforward then, albeit rather cumbersome, to cut a section for the chimney, slide the first sheet into place and smack the first screw home. With a couple more screws in place, we took a moment to assess the fit. I'd started at the end of the roof with the longer sections, and the first 5.4 metre length of Deep Ocean Colorbond corrugated roofing fit like a glove.&lt;/p&gt;

&lt;p&gt;It was nearing midday by that stage and my assistants literally had a plane to catch. They helped me raise the remaining sheets on to the roof, were compensated for their critical contribution only by my sincere thanks, and left to pack their bags.&lt;/p&gt;

&lt;p&gt;The other two longer sheets slid into place without too much trouble, but while drilling through the sheets the bit became snagged between the two layers and snapped. No problem of course, I'll just grab another one from the 96 million bits I've bought over the years. Except that I couldn't find any. Every bit set I found had the same gap where the smaller bits were supposed to be. Back to the hardware store for a refill and another exhibit in the case for having my own garage in the future. I was to break another four bits before I got the knack of lining up multiple sheets mid-drill.&lt;/p&gt;

&lt;p&gt;Not long after I finished screwing the second sheet in place I realised the amateur mistake unfolding. From my observation post on the roof I could see four or five other corrugated roofs, and based on the unanimous evidence from my committee of four or five, I realised I shouldn't have screwed the first seven or eight screws into the valleys of the corrugation. It makes a lot of sense really, given the better leak protection and more tolerance to flex that screwing into the mountains gives. I was glad this realisation hadn't occurred to me 180 screws down the track instead.&lt;/p&gt;

&lt;p&gt;Next up were the shorter sheets. They slid neatly into position but hung about a handspan over my intended edge. Disappointed, I nevertheless continued, since the alternative was a tarp, and the overhang only obscured a fairly superfluous gutter, draining instead on to the existing corrugated iron of the lower roof section. A few days later I redid the measurements and discovered the sheets were in fact 170 millimeters longer than requested and quoted on the packaging note. When I rang up Hancock's to ask if there is any simple method of fixing up the overhang now that the sheets have been laid, I was told that I was lucky it was only four sheets that came too long, and that the roofies would just trim a roof's worth with tin snips. Mildly curious why someone in the trade would snip 20 millimeters at a time, instead of using one of the far more practical and neat tools available, or even get the material cut to size in the first place, I nonetheless just resolved to bank another lesson, and be happy that the overhang was not critical.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01983.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01983.jpg" alt="Longer sheets" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By 2:30pm I had all the sheets into position, a few screws in each sheet and filled a few of the gaps around the edges with silicone, and it was time to pick the car up. I quickly packed the tools up as best I could, did some hurried preliminary packing for the Tamworth trip, and scrubbed my bloodied and silicone covered hands. As I was about to jump on the pushbike to race down to O'Brien, they called and happily announced the car would be ready to pick up... at 4pm. R's train arrived at 4:06pm, and it didn't take too much calculation to figure this was a non-ideal situation. When I explained that I really would like the car earlier, and asked if he could cancel the work so I could pick it up, he replied that no, they've already progressed too far and have had to take the cover right off. I could just imagine the conversation between glass guy and receptionist lady,&lt;/p&gt;

&lt;p&gt;"Shouldn't the customer get those panels fixed before we replace the glass?"&lt;/p&gt;

&lt;p&gt;"Nah, he reckons the cover is on the outside so the glass will go on the inside"&lt;/p&gt;

&lt;p&gt;"Oh look, we have to take the cover off the outside to replace the glass on the inside! Hmm, that's going to take a while."&lt;/p&gt;

&lt;p&gt;I asked the bloke on the phone whether I could pick it up any earlier, and he replied, "okay, it'll be ready by 3:30pm". Beauty. I spent another 20 minutes packing some belongings and preparing for the drive-by loading that was about to take place, and then jumped on the bike headed for O'Brien.&lt;/p&gt;

&lt;p&gt;At O'Brien I did my best to shake the rain off, loaded the bike in the back of the car and entered the shop to pay. I noted on the way past that the job looked excellent, a nice clean window in place and all the glass fragments cleaned up. It was clearly nearing Friday afternoon chaos in reception and when someone finally became available to take my money I had my speech to thank the team for accommodating my hurried plight well and truly rehearsed. Payment, like a jab with a needle, didn't take too long, and receptionist lady finished by printing a receipt. If I had realised that it would require searching for spectacles to read the date from her watch (despite the extra large print day clock above the computer) and even some assistance with some computer function, "Baaaarry! How do I get past this screen?", I could probably have done without the receipt. But my desperation for each minute was hardly to be expected and with the transaction complete I thanked them for going out of their way for me, jumped in the car and high-tailed it home.&lt;/p&gt;

&lt;p&gt;At home I put some left-over Thai in the microwave for two minutes, giving me a deadline for showering and dressing. I then grabbed the food, the bags lying in my room, filled my pockets with essentials and blasted out the door. Travelling under the speed limit, of sound in air, I met R at the train station, threw her in the car and then boom, we were off to Tamworth! I was about 4 minutes late picking R up, but apologised and explained we'd make the time up because I'd printed off this map of an awesome shortcut through the Hunter Valley. It was a good plan, but it would have been better if I had remembered to pick the map up from my bed at home. It could still have been a good plan if I had not have lost count of the roundabouts on the Newcastle Link Road, and accidentally ended up on the Freeway North. Not to worry, with a quick detour up the Freeway I caught back up with my intended route and thanks to some unexpected sign postings, managed to follow it faithfully all the way to the highway.&lt;/p&gt;

&lt;p&gt;Apart from a kilometre of coal train at Scone, the trip was otherwise fast, and by calling in some organisational favours on the way to make up for my lack of preparation, we arrived for a sensational show in Tamworth only ten minutes late. On stage to make it very, very worthwhile, was the talented Kyle Raftery. You should check him out - he's much better on a ladder than I am.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01981.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01981.jpg" alt="All sheets in place" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01985.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01985.jpg" alt="All sheets in place 2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/6iWizemNgqA" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/6iWizemNgqA/000242.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000242.html</guid>
<category>General</category>
<pubDate>Tue, 30 Jun 2009 00:04:27 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000242.html</feedburner:origLink></item>

<item>
<title>Project DR Lancer</title>
<description>&lt;p&gt;As circumstance would have it, this arrived at my place the other day, for a total of $300.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01952.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01952.jpg" alt="DR Lancer Arrives" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01953.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01953.jpg" alt="DR Lancer Arrives" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I figured it might be a cheap way to get my sister into her first car, and she tended to agree. It was a recent write off, so the first job was to assess the damage.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01954.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01954.jpg" alt="Damage assessment" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01955.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01955.jpg" alt="Extent of bending" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01956.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01956.jpg" alt="Close up of bent frame" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Obviously the bonnet, headlight, indicator and left guard were rooted, but the bumper look salvageable. What use is a perfect bumper on a first car anyway? Inside, the frame surrounding the light was mangled good and proper. Once I had the guard off it was obvious the frame inside the guard was bent in, crushing the air resonator box and fuse box.&lt;/p&gt;

&lt;p&gt;I started the repair by removing all the panels from the front so I could measure and compare the damaged side to the good side.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01958.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01958.jpg" alt="Frontal of bent frame" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01961.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01961.jpg" alt="Aerial of bent frame" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And then began a scientific and sophisticated method of pulling the bent sections out.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01962.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01962.jpg" alt="Pulling the frame out" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01963.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01963.jpg" alt="Enlisting some help from a V8" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01964.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01964.jpg" alt="Specialist repair apparatus" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01965.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01965.jpg" alt="Chained up, ready to pull" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The results from the first pull were impressive. With many cycles of gentle tugs and measuring, I had the important mounting points back within 10mm of the other side.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01966.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01966.jpg" alt="Pop! Out comes the bend" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01967.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01967.jpg" alt="Measuring to make sure" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From here I started the hammer work, belting the frame in all manner of directions to try to match the shapes back up, and using a hydraulic jack to lever the heavy parts upwards. Finally, it was time for the first trial fit.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01969.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01969.jpg" alt="OMG, it fits!" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01970.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01970.jpg" alt="Light in, metal primed" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01971.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/th_DSC01971.jpg" alt="And again" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the fading light I started to bolt everything back together and glue the cracks in the plastic. I finished for the night leaving some parts in traction for the glue to dry, the indicator waiting to pop back in, and the rest of the front end looking very neat indeed.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01973.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01973.jpg" alt="Almost done!" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This morning I'll popped the final parts together and get some photos of the finished product.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01975.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Lancer/DSC01975.jpg" alt="Almost done!" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cost so far has been:&lt;/p&gt;

&lt;p&gt;Car: $300
Light: $150
Indicator: $38.50
Guard: $150
Bonnet: $220
Total: $858.50&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/_10duJby8a0" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/_10duJby8a0/000241.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000241.html</guid>
<category>General</category>
<pubDate>Sun, 24 May 2009 21:31:03 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000241.html</feedburner:origLink></item>

<item>
<title>Tips I may be bullshitting you</title>
<description>&lt;p&gt;Not to be out done by the charlatans of the world, I have my own bag of tricks that are sure fire signs that I'm bullshitting you. Here's ones to look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I'm wearing a tie. A tie is like a mask that hides deceit behind faux professionalism. I've developed a mistrust of ties, and in particular, never trust myself in a tie.&lt;/li&gt;
&lt;li&gt;I start a story with "During my travels through". I probably haven't travelled through that location and it probably has nothing to do with what I'm about to say, but it does give it an air of authority!&lt;/li&gt;
&lt;li&gt;I have a microphone. There's something about the giddy power of voice amplification that lends itself to telling porkies.&lt;/li&gt;
&lt;li&gt;I say "I give up". I actually mean you should give up because I'm going to wait until no one is looking and then work single-mindedly to win.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/LswkJJQj1sI" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/LswkJJQj1sI/000240.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000240.html</guid>
<category>General</category>
<pubDate>Sun, 24 May 2009 13:44:51 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000240.html</feedburner:origLink></item>

<item>
<title>Tips for Bullshitting</title>
<description>&lt;p&gt;It seems there&amp;#8217;s no want for examples of fine bullshitting in the world around us. What occurs to me is the brazen techniques used across the board, that no doubt given the right audience, actually prove convincing. I think I might be allergic to bullshit - every time I see it some dash of bullshit in a piece of communication, I can&amp;#8217;t help but completely disregard the entire piece. Here&amp;#8217;s a little list I&amp;#8217;ve collected, of ways to bullshit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Polarise the argument. Establish an us versus them mentality, preferably where them is &amp;#8220;society&amp;#8221;, the government, or those not privy to the bullshit exposition. Few will challenge the assertion that all of society has been teaching them the wrong thing their whole lives, and that you&amp;#8217;re there to save them. &lt;strong&gt;Bullshit alert:&lt;/strong&gt; &amp;#8220;Still struggling with your normal saw? That&amp;#8217;s because everyone has been doing it completely wrong by pushing the saw instead of pulling it. Use this new &amp;#8216;pull&amp;#8217;-saw instead.&amp;#8221;&lt;/li&gt;
&lt;li&gt;Throw in maxims, but take them entirely out of context. People like the familiarity of a maxim, and don&amp;#8217;t seem to mind when they&amp;#8217;re highjacked to mean something entirely unreasonable.&lt;/li&gt;
&lt;li&gt;Make comparisons to a few household name geniuses, claiming they knew it all along, and therefore, all the geniuses in the world have known the bullshit all along. Make sure the genius is dead, so people wont bother to check if they hadn&amp;#8217;t anything to do with the argument at all.&lt;/li&gt;
&lt;li&gt;Use graphs in appallingly asinine ways. Graphs have a way of suggesting scientific rigour without requiring it. The axes need not make sense and there does not need to be data relating to the graph. &lt;strong&gt;Extra tip:&lt;/strong&gt; the word &amp;#8220;exponential&amp;#8221; can mean just about whatever you want it to mean, when describing bullshit with a graph.&lt;/li&gt;
&lt;li&gt;Make words up. For extra points, combine two words into one, instead of using &amp;#8220;and&amp;#8221; or some other basic sentence construct. Extra bonus points if your made up words form some barely pronouncable acronym.&lt;/li&gt;
&lt;li&gt;Claim nonsense statistics, especially when describing non-quantifiable data. Many people don&amp;#8217;t know what a denominator is let alone care that a statistic is worthless without one. Therefore, you are free to claim that 70% of wind is air, or something equally meaningless.&lt;/li&gt;
&lt;li&gt;Use &amp;#8220;order of magnitude&amp;#8221; when you mean a lot. Bonus points if the metric you&amp;#8217;re refering too isn&amp;#8217;t even quantifiable. &lt;strong&gt;Bullshit alert:&lt;/strong&gt; &amp;#8220;We are living in a world where technology is changing by an order of magnitude every ten years&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/xoBH6ZFzTIc" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/xoBH6ZFzTIc/000239.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000239.html</guid>
<category>Rant</category>
<pubDate>Sat, 23 May 2009 13:22:42 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000239.html</feedburner:origLink></item>

<item>
<title>Fixing the garage</title>
<description>&lt;p&gt;While I'm keen as mustard to actually improve this house, having a house that is more than 80 years old does mean that the occasional weekend is taken up just putting bits back where they should be. Last weekend I had a chance to put the end beam in the garage roof back where it should be.&lt;/p&gt;

&lt;p&gt;Before I put the gutter up, rain off the roof used to drain straight on to the wooden beam running the width of the garage. The beam was fairly rotten and not entirely rectangular any more, but I managed to get the gutter up anyway. The extra weight of the rain carrying gutter however, was too much for the weakened beam and it had started to separate from the rest of the roof.&lt;/p&gt;

&lt;p&gt;Here's what it looked like once I had it down.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01951.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01951.jpg" alt="Old beam" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I considered sanding it back to the good wood and reusing it, but a quick trip around the corner to the Mitre 10 had me convinced that for less than $40, I was better off carrying a brand new one home! The new beam measured 45x140x3900.&lt;/p&gt;

&lt;p&gt;The old beam was secured to the wooden frame of the garage by pairs of 70mm nails, which were really struggling for traction in the old timber. The friendly Mitre 10 bloke recommended some monster allen head wood screws. I'm pretty confident the garage will fall over before this beam comes loose.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01948.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01948.jpg" alt="New beam showing allen head bolts" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Getting this 3.9m beam up into position was only a little less difficult then actually pre-drilling and then screwing it into place while it balanced there. I ended up hammering a bunch of nails part way in to provide rest points for the beam, and then pulled some tricks out of Kyle's book by balancing on the ladder, resting the beam on my shoulder, the bolt in one hand and the drill in the other.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01947.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01947.jpg" alt="New beam in place" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You'll see it was important I actually got a photo of my nice new beam, because the next step was to put the facia and gutter back on, entirely obscuring my work. Getting the facia into place proved even more difficult than the beam, since there was no where to place supporting nails, and the facia had a terrible habit of bending and threatening to snap in two.&lt;/p&gt;

&lt;p&gt;Nonetheless, the facia and gutter was much more secure with a solid new beam to nail to, and the job was done quicker than I expected.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01950.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01950.jpg" alt="Gutter back in place" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01949.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01949.jpg" alt="Gutter and facia" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/rH-J7bpvmJ4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/rH-J7bpvmJ4/000238.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000238.html</guid>
<category>General</category>
<pubDate>Tue, 05 May 2009 00:26:53 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000238.html</feedburner:origLink></item>

<item>
<title>Fixing the microwave oven</title>
<description>&lt;p&gt;Some of the keys on my microwave stopped working recently. In the past this has been fixed with the timeless technique of forgetting about it and hoping for the best. This time the problem was more stubborn.&lt;/p&gt;

&lt;p&gt;It's a fairly simple unit, so I pulled it apart looking for gremlins.&lt;/p&gt;

&lt;p&gt;Here's what the keypad looks like from the front, and from the back.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/DSC01942.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/crap/th_DSC01942.jpg" alt="Outside keypad" title="" /&gt;&lt;/a&gt; &lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/DSC01943.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/crap/th_DSC01943.jpg" alt="Inside keypad" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The green flat flexible cable (FFC) on the left is the connection to the keypad. The keypad itself is a sealed unit, so I figured the problem was in the connection.&lt;/p&gt;

&lt;p&gt;First I tried removing the FFC, blowing in the connector, wiping the connection pins and reseating the cable. With some pressing and probing, a few more keys started to work, until I happened upon the correct combination of presses and prods to get all the keys working. By the time I had it all back together however, less keys were working than before I took it apart.&lt;/p&gt;

&lt;p&gt;From there I tried a bunch of stuff I was sure would fix it. I used various sprays on the electrical connections and cleaned the surfaces with sharp instruments. I even wedged a piece of plastic in to increase the pressure of the low-insertion force (LIF) connector, and trimmed the FFC so the connector gripped a fresh section. But the response of the keypad was getting worse.&lt;/p&gt;

&lt;p&gt;Finally I bit the bullet and ran out to Jaycar to buy this $30 conductive pen.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/DSC01946.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/crap/th_DSC01946.jpg" alt="Conductive pen" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My aim was to reapply the conductive pads that sit on the end of the FFC. Somehow the tiny pads allow electrical conductivity between the pins in the connector and the tracks within the FFC. It was surprisingly hard to be neat with the pen, but by carefully alternating between the pen and an X-Acto knife, I was able to create large, consistent pads on the end of the FFC.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/DSC01944.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/crap/th_DSC01944.jpg" alt="Conductive pads" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This time, after the conductive ink had tried, as soon as I replaced the keypad in the microwave, all keys worked perfectly.&lt;/p&gt;

&lt;p&gt;Long story short, a $30 conductive pen could save you a $200 microwave.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/XhnBouNzDOw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/XhnBouNzDOw/000237.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000237.html</guid>
<category>General</category>
<pubDate>Sat, 04 Apr 2009 14:58:28 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000237.html</feedburner:origLink></item>

<item>
<title>Companionship</title>
<description>&lt;p&gt;I have been spending a considerable amount of time in front of the computer over the last few weeks. Normally this makes for a fairly isolated existence, given the level and length of concentration involved. By an uncanny culmination of coincidences however, I've had a constant source of companionship.&lt;/p&gt;

&lt;p&gt;My secondary monitor is an old CRT that spews out a fair bit of heat up through its vents. It also has a reasonably flat top that provides a high shelf in my room. Add to that the fact that I'm at home a lot these days, and that my cat is terrified of the new cat of the house, and you have a recipe for many hours of cat-on-monitor.&lt;/p&gt;

&lt;p&gt;It's quietly comforting, and often amusing to have this sedentary companion keep me company:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01899.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01899.jpg" alt="Bruit1" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01900.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01900.jpg" alt="Bruit2" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01901.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01901.jpg" alt="Bruit3" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01902.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01902.jpg" alt="Bruit4" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01903.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01903.jpg" alt="Bruit5" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01931.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01931.jpg" alt="Bruit25" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01907.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01907.jpg" alt="Bruit7" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01908.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01908.jpg" alt="Bruit8" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01909.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01909.jpg" alt="Bruit9" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01910.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01910.jpg" alt="Bruit10" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01911.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01911.jpg" alt="Bruit11" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01912.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01912.jpg" alt="Bruit12" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01913.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01913.jpg" alt="Bruit13" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01915.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01915.jpg" alt="Bruit14" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01917.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01917.jpg" alt="Bruit15" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01918.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01918.jpg" alt="Bruit16" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01919.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01919.jpg" alt="Bruit17" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01920.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01920.jpg" alt="Bruit18" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01921.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01921.jpg" alt="Bruit19" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01922.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01922.jpg" alt="Bruit20" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01923.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01923.jpg" alt="Bruit21" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01924.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01924.jpg" alt="Bruit22" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01925.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01925.jpg" alt="Bruit23" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01928.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01928.jpg" alt="Bruit24" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01905.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01905.jpg" alt="Bruit6" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And not to be out done, the big bully cat has her own interpretations on comfort:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01926.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01926.jpg" alt="Jana1" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01927.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01927.jpg" alt="Jana2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01929.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01929.jpg" alt="Jana3" title="" /&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01930.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01930.jpg" alt="Jana4" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/RPgqHjpCiAw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/RPgqHjpCiAw/000236.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000236.html</guid>
<category>General</category>
<pubDate>Tue, 31 Mar 2009 10:28:36 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000236.html</feedburner:origLink></item>

<item>
<title>Metering Musing</title>
<description>&lt;p&gt;In 10 years time, most households will have a display in their home that reports on the current and recent utility usage (primarily electricity, water and gas) within the home. Such devices are already available and the development and interest is exploding. The cost to install the hardware in new homes will become trivial, and retrofitting will become more accessible. The applications are both obvious and far-reaching, and the implications for awareness of domestic energy consumption are impressive. More esoteric applications include charging or rewarding individual house occupants for their power usage, or compiling real-world application efficiency reports.&lt;/p&gt;

&lt;p&gt;In 10 years people will find it hard to believe that people were so ignorant of their household energy usage footprint 10 years ago. Like cars that report their own fuel consumption, houses that report their own energy consumption will change perceptions.&lt;/p&gt;

&lt;p&gt;Today, when I check the water meter I figure if the digits are changing, I have a leak to attend to. If I check the power meter and nothing is changing, I figure it is broken.&lt;/p&gt;

&lt;p&gt;In 10 years time this wont be the case.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/UGURbMMAtuo" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/UGURbMMAtuo/000235.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000235.html</guid>
<category>General</category>
<pubDate>Fri, 27 Mar 2009 02:38:08 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000235.html</feedburner:origLink></item>

<item>
<title>Dilbert's Hell House</title>
<description>&lt;p&gt;I just caught the short for the upcoming season of Gordon "Fucking" Ramsey's &lt;em&gt;Hell's Kitchen&lt;/em&gt; and was inspired. Gordon is pictured with angel wings and a halo, ostensibly repentant for swearing so much, before restoring our faith in his charisma by swearing again. Funny.&lt;/p&gt;

&lt;p&gt;Here's an idea for a TV series to consider: &lt;a href="http://www.dilbert.com"&gt;Dilbert&lt;/a&gt;, the eponymous comic strip Engineer, is fifteen years older and has taken on a management role within an Engineering firm. Dilbert is now a cranky, jaded and stubborn Engineer. Every episode he makes some early, bold prediction about the appropriate solution to an Engineering problem based on years of experience and on years of growing myopic and out-of-touch. Every actor will portray an easy to follow, one-dimensional character, and speak using completely inappropriate and fustian jargon.&lt;/p&gt;

&lt;p&gt;The central characters will then act independently in solving the central problem, taking clandestine risks to pursue their own suspicions. At various points the central characters will meet, and Dilbert will unleash a flurry of profanities at the more junior engineers, who will see this approach as a harsh, but useful learning exercise.&lt;/p&gt;

&lt;p&gt;Ultimately it will turn out Dilbert was wrong in the details, and someone's life will be put at risk. Occasionally there will be a flashback to some Engineering decision earlier in Dilbert's life that killed someone, and some tear-jerking words of piercing wisdom will come from a client. Dilbert of course, was still fundamentally right, and by combining the most relevant parts of the solutions so far presented, the original Engineering problem will be solved. Everyone will live happily ever after.&lt;/p&gt;

&lt;p&gt;I can't take all the credit for this stunning TV plot. I've just taken the most prominent elements of two current shows with excellent ratings - &lt;em&gt;Hell's Kitchen&lt;/em&gt; and &lt;em&gt;House&lt;/em&gt;. It can't fail to be a worldwide hit.&lt;/p&gt;

&lt;p&gt;Except, as I see it, it will take about 30 seconds before everyone realises that the characters' pompous speech is not only unrealistic but would have any other Engineer trying to avoid all further conversations. It might take another 30 seconds for the audience to realise that the risky and bravado-charged manner in which the Engineers work would have the entire team sacked before the episode is out. One outrageous outburst from Dilbert and the audience would lose respect for him, quickly followed by any respect for the junior engineers if they chose to put up with it. It would be unlikely the audience would last the first episode before they become disenchanted with the perilous approach the protagonist has to his work, and the beaten and pathetic forgiveness of his disciples.&lt;/p&gt;

&lt;p&gt;Except I would most likely be &lt;a href="http://en.wikipedia.org/wiki/List_of_House_%28TV_series%29_awards_and_nominations"&gt;wrong&lt;/a&gt; and &lt;a href="http://reality-tv-cast-profiles.suite101.com/article.cfm/10_reasons_to_love_gordon_ramsay"&gt;wrong&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And that's why I'm sticking to Engineering and staying away from Entertainment.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/WIwNr7zdImA" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/WIwNr7zdImA/000234.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000234.html</guid>
<category>Rant</category>
<pubDate>Tue, 24 Mar 2009 22:46:13 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000234.html</feedburner:origLink></item>

<item>
<title>Rails callbacks from Google Maps events</title>
<description>&lt;p&gt;One of the major difficulties I've had with my new Ruby on Rails (RoR) site is managing the interaction between the Javascript world of Google Maps API and the Ruby world of RoR. Ostensibly there should not be a great divide - RoR has RJS pages interacting directly with Javascript, and a Ruby call from Javascript is just a URL fetch with the right HTTP verb (GET, PUT, etc.). The fact that Ruby operates on the server and Javascript operates client side however, as well as the stack of clever detail-hiding Rails wizardry, means things aren't always straight forward.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://ym4r.rubyforge.org/"&gt;ym4r_gm Plugin&lt;/a&gt; (the delightful name comes from "Yahoo! Maps For Rails _ Google Maps", hinting heavily at the plugin's origins) for RoR aims to simplify the use of the Google Maps API from Rails. I made the mistake of assuming it does anything beyond simplifying the generation of the Google Maps API initialisation Javascript for your webpage. When you understand that it just consists of Ruby objects that spit out the Javascript for creating themselves, things start to make a lot more sense. Any management of the Javascript references themselves still has to be managed manually, and that includes interacting with them after initialisation.&lt;/p&gt;

&lt;p&gt;I quickly found myself in a bind when I wanted to create map events and GMarkers (the pins and icons that appear on a Google Map) on the fly that dynamically fired actions on my RoR controllers. After significant head scratching, I came up with the following solution, which I hope saves someone else some hours of frustration:&lt;/p&gt;

&lt;p&gt;If you have an event on the initial map, you can take advantage of the ym4r_gm convenience method &lt;code&gt;event_init&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@map.event_init(@map, :dblclick,
                "function(overlay, latlng) { myJavaScriptCode; }")
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But if that Javascript code is not static, or more likely, needs to do some Ruby on Rails work to consult your model, or update some session variables or whatever, you need a way to call back to your controller. In the ActiveView world you'd use &lt;code&gt;remote_function&lt;/code&gt;, but we're in the ActiveController world. All is not lost, we can still use the functions, as long as we include the right files:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;include ActionView::Helpers::PrototypeHelper
include ActionView::Helpers::JavaScriptHelper

func_str = remote_function(:url =&amp;gt; { :action =&amp;gt; :dblclick_map_event } )
@map.event_init(@map, :dblclick,
                "function(overlay, latlng) { " + func_str + " }")
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That saves us hardcoding all that "new Ajax.Request" stuff, which is a good thing in my books.&lt;/p&gt;

&lt;p&gt;But we're not done yet - by calling a Ruby action we've thrown away the Javascript parameters passed to us. In particular, chances are that we'll definitely need &lt;code&gt;latlng&lt;/code&gt; to find out where the double click occurred. Here's the most pleasant way I found of combining the Javascript and Ruby elements:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;include ActionView::Helpers::PrototypeHelper
include ActionView::Helpers::JavaScriptHelper

func_str = remote_function(:url =&amp;gt; { :action =&amp;gt; :dblclick_map_event,
                           :lat =&amp;gt; "lat_ph", :lng =&amp;gt; "lng_ph" } )
func_str[/lat_ph/] = "'+latlng.lat()+'" # replace placeholders
func_str[/lng_ph/] = "'+latlng.lng()+'"
@map.event_init(@map, :dblclick,
                "function(overlay, latlng) { " + func_str + " }")
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here we insert a bit more Javascript into the Javascript generated by the remote_function function to pass the lat and lng values to the RoR action. In our RoR controller we'd access those values with &lt;code&gt;params[:lat].to_f&lt;/code&gt; and &lt;code&gt;params[:lng].to_f&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can exploit the Javascript access even further by adding calls before or after the &lt;code&gt;remote_function&lt;/code&gt; call. For example, I disabled the standard pan-on-double-click behaviour of Google Maps by calling &lt;code&gt;map.setCenter()&lt;/code&gt; in my double click handler:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;include ActionView::Helpers::PrototypeHelper
include ActionView::Helpers::JavaScriptHelper

func_str = "map.setCenter(map.getCenter());\n"
func_str += remote_function(:url =&amp;gt; { :action =&amp;gt; :dblclick_map_event,
                            :lat =&amp;gt; "lat_ph", :lng =&amp;gt; "lng_ph" } )
func_str[/lat_ph/] = "'+latlng.lat()+'" # replace placeholders
func_str[/lng_ph/] = "'+latlng.lng()+'"
@map.event_init(@map, :dblclick,
                "function(overlay, latlng) { " + func_str + " }")
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Okay, there's only one thing left to do. This is all fine and dandy for initialisation code, but how do we add events like this on the fly? I'm afraid this is where ym4r_gm lets us down. We can still use the convenience classes GIcon, GLatLng and GMarker, but we're going to have to code the event creation ourselves:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@map = Variable.new("map")
regionIcon = GIcon.new(:image =&amp;gt; "images/maps/regionMarker.png",
                       :shadow =&amp;gt; "images/maps/regionMarkerShadow.png",
                       :iconSize =&amp;gt; GSize.new(64.0, 64.0),
                       :shadowSize =&amp;gt; GSize.new(69.0, 69.0),
                       :iconAnchor =&amp;gt; GPoint.new(32.0, 32.0),
                       :infoWindowAnchor =&amp;gt; GPoint.new(32.0, 32.0))
point = GLatLng.new([lat, lng])
marker = GMarker.new(point,
                     :icon =&amp;gt; regionIcon)

func_str = remote_function(:url =&amp;gt; { :action =&amp;gt; :dblclick_region_event,
                           :marker_id =&amp;gt; "marker_id_ph" } )
func_str[/marker_id_ph/] = "'+gmarkers.indexOf(marker)+'" #replace placeholder string

@js_str += "var marker = #{MappingObject.javascriptify_variable(marker)};\n" +
           "gmarkers[#{select_id.to_s}] = marker;\n" +
           "map.addOverlay(marker);\n" +
           "GEvent.addListener(marker, \"dblclick\", function(latlng) { #{func_str} });" +
           "map.panTo(#{MappingObject.javascriptify_variable(point)});"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here's what is going on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@map = Variable.new("map")&lt;/code&gt; uses ym4r_gm to retrieve our previously created Google Map object&lt;/li&gt;
&lt;li&gt;&lt;code&gt;regionIcon = GIcon.new&lt;/code&gt; uses ym4r_gm to create the Javascript necessary to create a GIcon. Note that since we're doing this on the fly we don't have any existing Javascript objects and have to recreate this each time.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;point = GLatLng.new&lt;/code&gt; ditto&lt;/li&gt;
&lt;li&gt;&lt;code&gt;marker = GMarker.new&lt;/code&gt; ditto&lt;/li&gt;
&lt;li&gt;&lt;code&gt;func_str[/marker_id_ph/] = "'+gmarkers.indexOf(marker)+'"&lt;/code&gt; this time I'm using the index of the Javascript object reference to the marker I just created as the parameter to the RoR action call. Note that &lt;code&gt;gmarkers&lt;/code&gt; is a global Javascript object for my page ('g' for Global, not Google), and &lt;code&gt;marker&lt;/code&gt; is what I'll call the new Javascript GMarker.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@js_str += "var marker = #{MappingObject.javascriptify_variable(marker)};\n"&lt;/code&gt; here we start to write the necessary Javascript. That's a &lt;em&gt;Javascript&lt;/em&gt; object called &lt;code&gt;marker&lt;/code&gt;, which is created using the ym4r_gm convenience method &lt;code&gt;javascriptify_variable&lt;/code&gt; and passing it the &lt;em&gt;Ruby&lt;/em&gt; object, also called &lt;em&gt;marker&lt;/em&gt;. I learned how to use &lt;code&gt;javascriptify_variable&lt;/code&gt; by reading the ym4r_gm code.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;"gmarkers[#{select_id.to_s}] = marker;\n"&lt;/code&gt; next the new &lt;em&gt;Javascript&lt;/em&gt; object gets stored in the global &lt;em&gt;Javascript&lt;/em&gt; array.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;"map.addOverlay(marker);\n"&lt;/code&gt; we have to call straight Google Maps API Javascript to add the new marker to the map.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;"GEvent.addListener(marker, \"dblclick\", function(latlng) { #{func_str} });"&lt;/code&gt; and also to add the event, substituting the result of our &lt;code&gt;remote_function&lt;/code&gt; call for the function content.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;"map.panTo(#{MappingObject.javascriptify_variable(point)});"&lt;/code&gt; and finally using some of the same tricks to pan the map to the point the marker was just added.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that all this Javascript has been generated, how does it actually get executed? There are two ways. The first is the ym4r_gm intended way, which only works for map initialisation. As the ym4r_gm docs says, you simply need to include:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;%= GMap.header %&amp;gt;
&amp;lt;%= @map.to_html %&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;in your RoR view, between the &lt;code&gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;/code&gt; tags and have your action render the view. That works fine for the initial page view, but of course our marker code should execute without having to reload the how page. That's where RoR's RJS pages come in.&lt;/p&gt;

&lt;p&gt;Remember when I created the &lt;code&gt;@js_str&lt;/code&gt; variable? Shortly after that I call &lt;code&gt;render :action =&amp;gt; "search_form"&lt;/code&gt;. Instead of a normal &lt;code&gt;erb&lt;/code&gt; view file however, I create a file called &lt;code&gt;search_form.js.rjs&lt;/code&gt;, which allows me to include Javascript. Once I've done that, all I need to put in that file is this line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;page &amp;lt;&amp;lt; @js_str
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And the Javascript in &lt;code&gt;@js_str&lt;/code&gt; will be executed in an AJAX call, dynamically updating your map. I've also added a &lt;code&gt;page.replace_html&lt;/code&gt; and a &lt;code&gt;page.visual_effect&lt;/code&gt; call to dynamically update the HTML sections of the page.&lt;/p&gt;

&lt;p&gt;So there you have it. Dynamic Google Maps pages using RoR and ym4r_gm. I wish someone had written this before I tried to figure it out!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/Y4FKwXVBdPE" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/Y4FKwXVBdPE/000233.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000233.html</guid>
<category>Geek</category>
<pubDate>Tue, 03 Mar 2009 14:11:48 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000233.html</feedburner:origLink></item>

<item>
<title>Merging Rails migrations</title>
<description>&lt;p&gt;I'm building my first Ruby on Rails site and as the doctor orders, I've created a number of migration scripts along the way as the database schema evolves. Migrations are cool and all, but at certain milestones the growing list of migrations is no longer useful. I'd like to roll up all the migrations up to that point and start from the current schema.&lt;/p&gt;

&lt;p&gt;Rafe Colburn &lt;a href="http://rc3.org/2006/07/28/managing-rails-migrations"&gt;wrote a post&lt;/a&gt; asking whether a plan existed to do just that. The responses he received were not particularly helpful, so I came up with my own plan that seems to work well:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;rake db:schema:dump&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rake db:data:dump&lt;/code&gt; (requires the yaml_db plugin I believe)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;script/generate migration create_schema&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;copy contents of db/schema.rb into the newly created migration file in db/migrate and edit it as necessary (eg. reorder fields, remove &lt;code&gt;:force&lt;/code&gt; option, add &lt;code&gt;t.timestamps&lt;/code&gt;, change strings to symbols, create &lt;code&gt;drop_table&lt;/code&gt;’s for &lt;code&gt;self.down&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;delete each of the migrations leading up to the newly created one&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rake db:drop&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rake db:migrate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rake db:data:load&lt;/code&gt; (requires the yaml_db plugin I believe)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That should leave you with an up to date database, and all the incremental migrations replaced by a single complete migration.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/tCfPLiWaAqY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/tCfPLiWaAqY/000232.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000232.html</guid>
<category>Geek</category>
<pubDate>Sun, 01 Mar 2009 13:01:18 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000232.html</feedburner:origLink></item>

<item>
<title>Define: tree</title>
<description>&lt;p&gt;Mac users, try this: double-click to highlight the word "tree" in this sentence and go to the Application menu (the one that says Safari or Firefox or whatever), then Services-&gt;Look Up in Dictionary.&lt;/p&gt;

&lt;p&gt;Here's what happens when I use the Dashboard dictionary widget to define "tree":&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/Picture1-1.png" border="0" alt="Define: tree"&gt;&lt;/p&gt;

&lt;p&gt;Odd. Deliberate? Rare quirk? Coconut conspiracy? I don't know...&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/L5R5qE93d28" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/L5R5qE93d28/000231.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000231.html</guid>
<category>Mac OS X</category>
<pubDate>Fri, 27 Feb 2009 15:07:13 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000231.html</feedburner:origLink></item>

<item>
<title>Intruders in the night</title>
<description>&lt;p&gt;In the height of Summer, this house demonstrates an uncanny trick. As the sun goes down and the cool night air arrives, the inside of the house steadily gets hotter. During the day, by closing the blinds and being a little particular about air flow, we're able to keep the loungeroom below about 24&amp;deg;C. Then, as if the house had been holding its breath, valiantly saving us from the sun's worst, it appears to give up around sunset. The thermometer in the loungeroom steadily climbs up to 28 or 29&amp;deg;C and I start to wonder whether I should move my bed into the backyard for the night.&lt;/p&gt;

&lt;p&gt;Instead, I generally find myself lying on my back, limbs outstretched, with the bedside fan providing the only means of restful slumber. That was until a moment of genius graced my sweltering brain one night, and I decided to open my bedroom window!&lt;/p&gt;

&lt;p&gt;I've been painting the house, so of course the window would not budge at first, and it took a suspicious looking few minutes of working away at it with a screwdriver before it creaked open for the first time this Summer. I don't know whether to be glad or concerned that no one in the street was disturbed by the scene of a lad dressed in boxers, jimmying away at a bedroom window with a screwdriver, eventually forcing it open. Perhaps the fact that the suspicious youth finished by closing the window and then entering the house by the front door calmed anyone's concerns.&lt;/p&gt;

&lt;p&gt;Finally the window was open and the bedside fan a million times more effective as it brought in crisp night air, instead of blowing the same sweaty air back at me. But as I lay in bed, enjoying the cool breeze, I began to recall why I don't go to bed early. Unless it is some time past midnight, and I've at least already fallen asleep in my chair a couple of times or woken up on the couch with the crossword on my face and a pen still in my hand, I'm not ready to shut off.&lt;/p&gt;

&lt;p&gt;And so I began a three hour dialogue with my brain. There are many life's important mysteries to be contemplated, such as, is pure water the epitome of neutral taste, and if so, does air have a taste? Or, am I more often misunderstood or just wrong, and is there really any difference? Or, are those two tiles in the ceiling crooked? Or, as it occurred to me this particular night, would anyone be so brazen as to stick their hand through the now open bedroom window, intending to grab something of value within?&lt;/p&gt;

&lt;p&gt;I consoled this fear by figuring it was rather unlikely, but if it were to occur I would be prepared. I imagined grabbing the hand as it emerged through the blind and throwing the window down on to the attached arm in one deft manoeuvre. Anyone that was to try a stunt tonight would never do it again, I imagined, and I returned to the matter of chatting with my brain.&lt;/p&gt;

&lt;p&gt;A couple of hours later I was still awake, casually attempting to solve the world's problems with my eyes closed, when I heard a movement at the window. Surely not! My eyes shot open and my ears primed. Again, a noise at the window, this time suggesting contact with the blind. I leapt out of bed and floated across the floor. In an instant I was standing, staring at the dark space where the blind covered the open window, hands slightly raised and poised to respond to the next movement. The blinds parted for a split second, something protruded into my domain and I launched in to attack.&lt;/p&gt;

&lt;p&gt;My leading hand grabbed at the intrusion and I swung with a mighty launch of my right hand at the black area through the blind. Nothing resisted the swing and I fell part way through the blind, stopped on the other side only by my forehead which collected the window frame in its slid-up position. There was no one to be seen through the window and the only evidence anyone had been there was due to my limbs crashing through the blind, breaking one slat in half and tearing five more.&lt;/p&gt;

&lt;p&gt;As I gathered my thoughts, I contemplated running outside to see if I could see anything. I then remembered the neighbours across the road were up, chatting on the balcony. Surely they'd seen something. I gathered my phone, keys and wallet - the process seems to represent the gathering of thought that lead to action - and headed across the road.&lt;/p&gt;

&lt;p&gt;"Did you see that at the window just now?" I asked, as they giggled and calmly smoked.&lt;/p&gt;

&lt;p&gt;"Yes", they replied, "we saw it".&lt;/p&gt;

&lt;p&gt;"Well, who was it, where did they go?", I stammered.&lt;/p&gt;

&lt;p&gt;"It was a cat. You should have seen it jump!" they explained.&lt;/p&gt;

&lt;p&gt;That would have been my cat, calmly returning from her nightly roaming to retire in my room. She had probably quite enjoyed the fact that I'd opened the bedroom window, allowing her to come and go as she pleases. She probably didn't enjoy the fact that he latest return had been answered by her owner, blindly crashing through the window at her. We're both glad, I sure, that I didn't enact the grab and window slam trick I had concocted earlier in the night.&lt;/p&gt;

&lt;p&gt;In the morning I woke to find my cat had returned at some point in the morning, finally able to sleep peacefully in the room as she normally does. I also found a tidy little lump on my forehead, a dishevelled looking blind and a rather sheepish ego.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/uk_SjN3j9v4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/uk_SjN3j9v4/000230.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000230.html</guid>
<category>General</category>
<pubDate>Mon, 16 Feb 2009 16:00:26 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000230.html</feedburner:origLink></item>

<item>
<title>Facebook Clairvoyance</title>
<description>&lt;p&gt;Facebook has long struck me as approaching self-awareness. The power of the "Mutual Friends" feature alone is particularly humbling.&lt;/p&gt;

&lt;p&gt;In a brief but startling moment recently, Facebook revealed a little too much of its omnipotence when it reported a pair of wall posts between me and a friend with unusual date stamps.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/Facebookfuture.png" alt="Facebook future" /&gt;&lt;/p&gt;

&lt;p&gt;Planning my day just got a lot easier, now that Facebook displays what I will be doing tomorrow.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/l4lK8YcJEUU" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/l4lK8YcJEUU/000229.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000229.html</guid>
<category>Geek</category>
<pubDate>Thu, 12 Feb 2009 16:20:01 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000229.html</feedburner:origLink></item>

<item>
<title>Well placed wizz-bangery</title>
<description>&lt;p&gt;I'm one of those people that read the release notes on new software to see what features are available to play with. Generally however, I forget about the wizz-bang cool stuff approximately 30 seconds after I read it and get excited. Apple are often criticised for form over function, playing up showy features at the expense of productive improvements. Amongst the aesthetically impressive stuff though, real gems of usefulness do creep in.&lt;/p&gt;

&lt;p&gt;It's been a while since the "data-aware" feature was introduced into Mail, and I'd all but forgotten about it. Given the way it blew me away the other day, it might be worth rehashing this tale...&lt;/p&gt;

&lt;p&gt;I received an email recently, confirming an appointment for the next week. It was a typically ugly business email, full of HTML gunk, including a huge signature with at least 8 typefaces and an image. For me to remember the crux of the email, without the bold, underline, black, blue and red distractions, I needed a new event in my calendar. When I hovered the mouse over the section of the email that stated the appointment date, a focus overlay appeared over the text that made up the date and I was presented with a drop down menu. When I selected the first of the two menu options, to create a new iCal event, the following appeared:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/dataaware.png" /&gt;&lt;/p&gt;

&lt;p&gt;With no work on my behalf, a new event was ready with the subject of the email as the title, the location magically extracted from somewhere and the start time already entered. All I had to do was pick the destination calendar and click "Add to iCal".&lt;/p&gt;

&lt;p&gt;Snazzy features that actually streamline your workflow are what make a computing experience enjoyable. This wasn't even a stretch for the data-aware feature, which is capable of the same given colloquial phrases like "this afternoon" or "tomorrow evening".&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/zhOwaJAwgfg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/zhOwaJAwgfg/000228.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000228.html</guid>
<category>Geek</category>
<pubDate>Wed, 11 Feb 2009 23:24:44 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000228.html</feedburner:origLink></item>

<item>
<title>On Seeking Experience</title>
<description>&lt;p&gt;In January of last year I made the decision to leave a low pressure job, working on what I wanted to work on, getting paid well and being very well respected by my co-workers and management.&lt;/p&gt;

&lt;p&gt;My decision was based on two tenets. Firstly, I saw the purpose of my department moving away from where I was most valuable. And rightfully so. The company was reining in its research and development aspects and concentrating on its profitable core business service delivery arms. I didn't want to be the only remaining R&amp;D dude, twiddling my thumbs in the periods between when the company wished to exercise its R&amp;D capabilities.&lt;/p&gt;

&lt;p&gt;The second tenet was more personal. I simply wanted to spread my wings, and earn some experience outside the cosy embrace of my first professional employer. I knew I had been spoiled with generous and protective management, but I also needed to fill out my experience more widely and find out where I could take my career with the retrospective angle of perspective.&lt;/p&gt;

&lt;p&gt;Job hunting turned out to be a lesson in itself about the world of recruitment and it took until December for me to finally sign on the dotted line and start a new job.&lt;/p&gt;

&lt;p&gt;The warning bells came early, with the boss regularly delivering neurotic outbursts, outlandish and public criticisms of co-workers, gratuitous stories of sexual exploits, occasionally ranting and yelling at customers on the phone and regularly proclaiming bipolar business decisions. But I needed to succeed and tried to keep up with the flip-flopping priorities while ensuring that the project I was managing was going to be delivered. Things did not improve and on Monday, with a heavy heart, I decided that the current project would be my last and started looking for another job.&lt;/p&gt;

&lt;p&gt;Today, Friday, a significant chapter in my experience-seeking journey was written when for the first time, I was fired.&lt;/p&gt;

&lt;p&gt;The notion that I was fired still does not sit with me well. I pride my self on being able to handle complex situations and find a solution. Firing is for people who are out of their depth, or who either refuse to or are unable to perform. I didn't fall into those categories, but I did fail to "manage up".&lt;/p&gt;

&lt;p&gt;In the first couple of weeks of my employment, once I realised that I had been employed not to add a software project management capability to the business, but to serve as the figure that would rescue a failing relationship with a difficult customer, I subdued the situation as best I could and quietly tried to figure out whose toes I was stepping on. Since I was employed as a stopgap, not an addition or replacement, then surely there was resistance to my being there. The answer was easy to find. I was in an uncomfortable position of taking the role of a guy straddling the point between taking on business direction he didn't want to deal with and going back to a software development role he's worked hard to rise above. What I failed to then do, was win the respect of my superiors by continually asking for how they would do my tasks. I failed to adapt to the management style and realise that keeping my job would require more emphasis on ensuring I was well synchronised with the pressures and rapidly evolving expectations of management, rather my more instinctive priorities of completing quality work. Business is about managing relationships and those relationships are affected by business pressures. This is a useful lesson.&lt;/p&gt;

&lt;p&gt;In the end, I'm content to lose this battle. I'm proud of what I achieved in a short time, was never going to stay employed without losing my dignity and self-worth, and I had already made my mind up to leave. I feel awful to have left a project halfway through, but there were probationary period considerations. I feel for the two engineers left - bright, reliable and hard workers - who are in the minority for not being fired during their probation period and are left dealing with regular and public character slights or work criticisms, and deal with headaches and upset stomachs in a stressful environment.&lt;/p&gt;

&lt;p&gt;What do I do now? Well first I write. I write so slowly that it serves as an excellent process to order my thoughts. The many paragraphs I've already deleted writing this have been cathartic and served their purpose. Next I thoroughly enjoy the fact that I have days at home to myself. I'm terribly excited about getting stuck into a couple of projects that are sitting here begging for attention. Already this afternoon I've marked off a nice collection of jobs that had been gathering. And then I work stupidly hard on finding another job. In less than three months I've gathered more perspective than I expected and weathered a significant professional chapter with valuable lessons. I've also inherited a blight on my career history, but it can't all be roses I suppose.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/acZfP8Jamds" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/acZfP8Jamds/000227.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000227.html</guid>
<category>General</category>
<pubDate>Fri, 06 Feb 2009 18:12:35 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000227.html</feedburner:origLink></item>

<item>
<title>Behind bedroom door #1</title>
<description>&lt;p&gt;With a change of housemates, some wise encouragement meant the opportunity was taken to remodel one of the bedrooms at my place. My only requirement was that I could do it myself, because I&amp;#8217;m silly like that. Here&amp;#8217;s how it unfolded:&lt;/p&gt;

&lt;p&gt;This shot was taken before I moved in.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/originalbedroom.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_originalbedroom.jpg" alt="Bedroom0" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And this is where we started, with my lovely assistant kindly replacing the pale blue window sill with clean white.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom1.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom1.jpg" alt="Bedroom1" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And then some delicious brown.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom2.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom2.jpg" alt="Bedroom2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Having had the luxury of being fast and loose with paint spillage, it was time to remove the old &amp;#8220;vibrant&amp;#8221; red carpet.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom3.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom3.jpg" alt="Bedroom3" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom4.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom4.jpg" alt="Bedroom4" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And, with the help of a couple of kind lads who received only steak and beer in return, the new underlay and warm brown carpet was put down.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom5.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom5.jpg" alt="Bedroom5" title="" /&gt;&lt;/a&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/Bedroom6.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_Bedroom6.jpg" alt="Bedroom6" title="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And with a very welcome lady&amp;#8217;s touch, the completed bedroom is gorgeous.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/DSC01889.jpg" alt="Bedroom6" title="" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/yMt3pe0UmGI" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/yMt3pe0UmGI/000226.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000226.html</guid>
<category>General</category>
<pubDate>Thu, 01 Jan 2009 17:18:54 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000226.html</feedburner:origLink></item>

<item>
<title>Things you don't care about</title>
<description>&lt;p&gt;This week my girlfriend's Hotmail account was compromised and everyone on her contact list sent a spam email. Naturally, this is a very upsetting and embarrassing experience. Every contact - friends, relatives, past employers and ex-boyfriends - G had emailed in the last how ever many years received an email, purportedly from her, about some foreign trading online company.&lt;/p&gt;

&lt;p&gt;Despite my assurances that no one should ever trust what appears in the "From" line, and that billions of these sorts of emails are sent every day, there are still plenty of her contacts on the receiving end that do not have spam filters finely tuned to a several hundred per day email influx. This is evidenced by the numerous replies she received, which despite intentions, no doubt compounded the embarrassment.&lt;/p&gt;

&lt;p&gt;The challenge I see, is how best us very computer literate folk can broach the subject of computer security to those we care about, without alienating them. I remember when G first sent me an email from her Hotmail account to my work address recently. I sighed because I knew was going to start getting spam to an account where I can't control the filtering, but certainly wasn't about to blame her for doing so. The only thing worse than being criticised for doing something you thought was a nice gesture would be not understanding why it's a problem in the first place. And prior to this event it would have been very hard for her to see that there's a problem at all.&lt;/p&gt;

&lt;p&gt;In the short term, G has changed her account password, made sure her vacation message (aka autoresponder) is disabled, and I convinced her to empty her online contact book. From my reading, there's little she could have done to prevent this particular attack, which is a hopeless feeling. The advice I would like to give is that if you absolutely must use Hotmail (and I'd suggest that setting up a forwarding address would negate most reasons to keep a Hotmail address) that you only use the web interface to check emails that haven't been downloaded and other odd jobs. Everything else should be done through a home computer email client where you can control the security. Even in light of this incident, how do you convince someone that what they've always done, what is so easy and what "everyone else" does, is not a good idea? Worse, how do you phrase it in a way that won't seem like complicated, insurmountable trouble? "Email" to the vast majority of the Internet world is a website, and an "email client" is exclusive jargon.&lt;/p&gt;

&lt;p&gt;For the record it appears Gmail is also not immune. Both Gmail and Hotmail push their products as complete online email solutions - indeed, they try to make them look and act like email clients! With that sort of promotion it is no wonder that people are prepared to turn their email over to them. But without requiring every user to spend the considerable time to understand the security implications of using email over the web, is this really a good idea?&lt;/p&gt;

&lt;p&gt;Finally, here is a summary of the technical details of the attack, as far as I can gather. Note this is &lt;b&gt;definitely not&lt;/b&gt; a captcha defeat or a from address spoof. The emails were sent from her account.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The email subject was "Hey friend,"&lt;/li&gt;

&lt;p&gt;&lt;li&gt;The email body was:&lt;/p&gt;

&lt;blockquote&gt;Hey friend,
 How are you doing recently? I'd like to introduce you a very good foreign trading online company and the website is www.ele-y100w.com
It can offer you so many kinds of electronic products which you may be in need,such as laptops, gps, TV, cell phones, ps, MP3/4, motorcycles even several kinds of musical instruments and etc..
You can take some time to have a check ,there must be something you are interested in and you 'd like to purchase .
The contacts:
 MSN: eley100w@hotmail.com 
 Email: eley100w@188.com 
Hoping you can enjoy your shopping from that company !
Regards&lt;/blockquote&gt;&lt;/li&gt;

&lt;p&gt;&lt;li&gt;Variations of this email have been used, with only the web addresses changed.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;Gmail and Hotmail have both been affected. The Gmail attacks appear to also set the vacation message to the same content.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;Several people claiming to be very computer savvy have been affected.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;Several people claiming very strong passwords have been affected.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;A few people have claimed that they run Linux or a Mac and only access Hotmail from those computers.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;Oldest report found is June 2008, latest is November 2008.&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;The attack vector is undetermined.&lt;/li&gt;&lt;/p&gt;

&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/gj2x3kCRtaw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/gj2x3kCRtaw/000224.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000224.html</guid>
<category>General</category>
<pubDate>Sat, 29 Nov 2008 12:31:50 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000224.html</feedburner:origLink></item>

<item>
<title>Taking the toll</title>
<description>&lt;p&gt;For some - and this may come as a shock to those for whom Sydney is synonymous with New South Wales - travelling to Sydney is akin to waxing one's genital regions. Sure, many claim it's fun, stylish, and even commonplace. And like ripping hairs out, the memory of the irritation dulls over time and you think about giving it a crack again. Each time I take the plunge however, I'm left walking like I've spent too much time in the saddle.&lt;/p&gt;

&lt;p&gt;After my last trip to the Harbour City, I discovered that the only thing less navigable than Sydney is the myriad of websites wanting your money for navigating Sydney. Of course, the easy thing to do is gunk your windscreen with another electronic car doohicky and breeze through the exclusive "E-tag only" lanes. When you average a trip to Sydney once a year or so though, it's hard to justify adding $90 ($40 for the tag, $50 minimum deposit) to the trip for the privilege of joining the toll road club. It'd be like you bank saying, "Good News! We're phasing out the hassle of having to remove your card from your wallet in order to use the ATM. Introducing Barcode-On-The-Wrist!", and then requiring $90 for the privilege of wearing your bank account identification. At least the first $50 of withdrawals wouldn't come out of your account - they would have already been deducted when you first signed up!&lt;/p&gt;

&lt;p&gt;So I took the alternative and tried to pay my tolls online. It soon became evident that this wasn't your grandmother's online payment process. I found a stack of dead-end websites offering to take my toll, but none would let me check whether I actually owed anything - all I could do was make a payment in good faith, and if there was an amount owing it would be paid. If there wasn't... my deposit would still be gratefully accepted, just in case I ever do use that particular toll road! Even the rate was unclear - there was no indication of the variation for North and South bound or the different times of the day or week. After meandering through more toll websites than "no right turns" in Sydney, I paid all that I could see I might have incurred.&lt;/p&gt;

&lt;p&gt;In return for my patronage, a letter arrived a couple of weeks later that delighted in informing me I had briefly graced their particular stretch of toll road and neglected to pay the troll my due. At least they compensate their "admin" department well, adding a $10 charge to the toll for the taxing burden of sending an automated letter.&lt;/p&gt;

&lt;p&gt;Next year I'm counting on pubic hair being back in fashion.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/wNgFHvHHz1E" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/wNgFHvHHz1E/000223.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000223.html</guid>
<category>Rant</category>
<pubDate>Mon, 24 Nov 2008 21:43:12 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000223.html</feedburner:origLink></item>

<item>
<title>The Great Firewall of Australia</title>
<description>&lt;p&gt;I've put a new banner in the side bar of this site. It links to a &lt;a href="http://nocleanfeed.com/"&gt;site&lt;/a&gt; campaigning to have the Australian government's Internet censorship plans halted. The background and justification is all there on the site, so I'm not going to repeat it here, except to say that I'm seriously concerned this story has not yet hit mainstream Australian media. Remember the uproar and public shaming of China's efforts to censor the Internet media around the Olympics? Now similar plans are being made in the lucky country and Australia's apathetic public have barely been bothered.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/GVaSEcZQ7bM" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/GVaSEcZQ7bM/000222.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000222.html</guid>
<category>Rant</category>
<pubDate>Mon, 27 Oct 2008 23:03:05 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000222.html</feedburner:origLink></item>

<item>
<title>The future, on a platter.</title>
<description>&lt;p&gt;Way back in the dark ages of mid 2007, I wrote about what I saw as a looming period of &lt;a href="http://heath.hrsoftworks.net/archives/000152.html"&gt;technical enlightenment&lt;/a&gt;. This vision has not waned. The channels of information I have at my fingertips continue to provide me with extraordinary pieces of insight and development, time and again.&lt;/p&gt;

&lt;p&gt;Radio has been around for some time, but only recent developments have enabled me to pick the shows that appeal to me, download them to my &lt;a href="http://www.zazz.com.au/pastproducts.php?past=725"&gt;sunglasses&lt;/a&gt;, and lead a eye-wear fashion parade while I ride to work. While trend envy is an obvious side effect of my choice of lens-flipping glasses, it's also the only reason I get to listen to quality radio programs like All In The Mind on ABC Radio National and Dr Karl on Triple J.&lt;/p&gt;

&lt;p&gt;One segment on Dr Karl the other day caught my attention. Renowned skeptic &lt;a href="http://en.wikipedia.org/wiki/Michael_Shermer"&gt;Michael Shermer&lt;/a&gt; was guest question answerer. One of the callers brought up the experiments conducted by  &lt;a href="http://www.princeton.edu/~pear/jahn.html"&gt;Robert Jahn&lt;/a&gt; at the &lt;a href="http://www.princeton.edu/~pear/"&gt;PEAR laboratory&lt;/a&gt;. The caller was adamant that Mr Jahn had conducted robust and objective experiments over many years that consistently showed a random signal emitted from a machine could be influenced by the thoughts of humans. While they had heard of the experiments, neither Dr Karl nor Mr Shermer were familiar enough with the work to offer much comment, beyond some general skepticism.&lt;/p&gt;

&lt;p&gt;15 years ago that would have been that. I would have forgotten Jahn did any experiments or what their significance was. Not any more. Not only is Jahn's biography and laboratory details a web site away, more importantly the scientific papers the group produced are freely available for anyone to review. In particular, a &lt;a href="http://www.princeton.edu/~pear/pdfs/jse_papers/6REM%20i0892-3310-006-04-0311.pdf"&gt;thorough report&lt;/a&gt;, published in the &lt;i&gt;Journal of Scientific Exploration&lt;/i&gt;, documents the findings of an experiment to see if the thoughts of humans remote to a random number generator could influence that generator.&lt;/p&gt;

&lt;p&gt;The real power here is that there is nothing stopping me, Joe Nobody, from repeating Jahn's experiments and publishing the results to the world (perhaps even submitting to a journal that wasn't set up to document paranormal events). How positively empowering it is to think that anyone with access to an Internet enabled computer has the potential to turn scientific endeavour on its head. A repeated experiment that corroborated findings showing correlation between human thought and machine output would be simply staggering.&lt;/p&gt;

&lt;p&gt;Incidentally, I'm not going to follow up Jahn's work, but this snippet of the paper linked above might whet someone's appetite. The numbers are the output of a random number generator with mean 100, as a participant hundreds of miles away tried to influence it with their mind high and low.&lt;br /&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/Picture1.png"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/th_Picture1.png" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apart from Jahn's work, a couple of other snippets of information that have blown my mind recently:&lt;/p&gt;

&lt;p&gt;1) Researches at the University of Washington planted electrodes on individual neurons in the motor cortex of monkey brains and connected them via a computer to muscles in the monkey's wrist. They then temporarily paralysed the normal signal path that controlled the monkey's wrist and found that within a couple of weeks the monkeys had learnt to deftly control their wrist with the artificial nerve path. The computer simply counted the frequency of pulses occurring in the monitored neurons   and translated that to electrical signals to the muscles. The ramifications for enabling movement in paraplegics are striking. &lt;a href="http://spectrum.ieee.org/print/6908"&gt;Link.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) A team from the Security and Cryptography Laboratory in Switzerland successfully demonstrated a method of deciphering the faint electromagnetic radiation emitted from the cord that connects a regular keyboard to computer. From up to 20 metres away they could determine the keys pressed on the keyboard, which suggests there's some appreciation to be given to the seemingly benign amount of radiation our regular activities generate. &lt;a href="http://lasecwww.epfl.ch/keyboard/"&gt;Link.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) A horse got its head stuck in a tree. NSFW. &lt;a href="http://www.weirdspot.com/index.php/weblog/horse_got_head_stuck_in_tree/"&gt;Link.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/TCk4wqU93_A" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/TCk4wqU93_A/000221.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000221.html</guid>
<category>Geek</category>
<pubDate>Sun, 26 Oct 2008 20:22:01 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000221.html</feedburner:origLink></item>

<item>
<title>Swings and Roundabouts</title>
<description>&lt;p&gt;No you're not imaging it - this is one of the longest periods I've gone without more than a few words posted to this here blog. More evidence that blog activity is inversely proportional to actual life activity. I didn't plan it, things have just been going well for me recently. My priorities have shifted and I'm enjoying finding a new equilibrium, shared with someone I care about.&lt;/p&gt;

&lt;p&gt;But never fear! The geek within still burns strong. And the geek within has finally managed to take the gloves off, put some real money aside, and dive into the sharemarket. What an enormously energetic introduction to share trading! What follows is my impression of the events of the last few months, from the perspective of a first time trader.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/y4JUswwcxuw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/y4JUswwcxuw/000220.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000220.html</guid>
<category>Geek</category>
<pubDate>Tue, 14 Oct 2008 15:56:27 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000220.html</feedburner:origLink></item>

<item>
<title>Painting progress, again</title>
<description>&lt;p&gt;Amazing how a lick of paint can change the mood of a place.&lt;/p&gt;

&lt;p&gt;The front door:
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01810.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01810.jpg" alt="House1" title="" /&gt;&lt;/a&gt; &lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01856.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01856.jpg" alt="House2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/-HSfAI7u7rU" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/-HSfAI7u7rU/000219.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000219.html</guid>
<category>General</category>
<pubDate>Sun, 28 Sep 2008 17:35:04 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000219.html</feedburner:origLink></item>

<item>
<title>Painting progress</title>
<description>&lt;p&gt;I'm happy to report that the front of the house is done. The light at the end of the tunnel is well in sight now. The photos are a poor substitute to actually looking at it (particularly the after photo, which I'm struggling to find the right light for) but it's great to look back and see the difference.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01779.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01779.jpg" alt="House1" title="" /&gt;&lt;/a&gt; &lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Home/DSC01800.jpg"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Home/th_DSC01800.jpg" alt="House2" title="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/TVYJEsDDzSo" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/TVYJEsDDzSo/000218.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000218.html</guid>
<category>General</category>
<pubDate>Sun, 24 Aug 2008 19:03:47 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000218.html</feedburner:origLink></item>

<item>
<title>NTLM Message Decoder</title>
<description>&lt;p&gt;I've just finished hacking up a very small program I should have written years ago. It turns out the ability to reverse engineer an NTLM HTTP proxy authentication message is still useful, and thus, &lt;a href="http://www.hrsoftworks.net/downloads/NTLMMessageDecoder.tar.gz"&gt;NTLMMessageDecoder&lt;/a&gt; is here.&lt;/p&gt;

&lt;p&gt;All it does is automate the deconstruction of the three NTLM message types as described &lt;a href="http://davenport.sourceforge.net/ntlm.html"&gt;here&lt;/a&gt; and elsewhere. It takes the base64 encoded version of the NTLM message (as it appears in the HTTP header) on standard input and spits out the results on standard output.&lt;/p&gt;

&lt;p&gt;The source code is included (under the Creative Commons license), as well as a pre-built version for Intel Macs. To build your own version, just run &lt;code&gt;make&lt;/code&gt;. Note that big endian architectures will need to edit the &lt;code&gt;ltohl&lt;/code&gt; and &lt;code&gt;ltohs&lt;/code&gt; functions (in main.c) to swap the endianess. Since I also built this on my Powerbook, here's an example of functions that will do the job:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;short ltohs(short in) { return ((in&amp;0xFF) &lt;&lt; 8) | ((in&amp;0xFF00) &gt;&gt; 8); }
long ltohl(long in) { return ((in&amp;0xFF) &lt;&lt; 24) | ((in&amp;0xFF00) &lt;&lt; 8) |
                             ((in&amp;0xFF0000) &gt;&gt; 8) | ((in&amp;0xFF000000) &gt;&gt; 24); }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I welcome modification submissions (detecting endianess, better formatting, NTLM improvements, etc.) and will publish your work, with attributions, under the same license if you like.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/4qCwjhK9v8U" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/4qCwjhK9v8U/000217.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000217.html</guid>
<category>Geek</category>
<pubDate>Tue, 12 Aug 2008 10:51:59 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000217.html</feedburner:origLink></item>

<item>
<title>Pissed as a treeshrew</title>
<description>&lt;p&gt;With all the &lt;a href="http://www.smh.com.au/news/health/boomers-worst-binge-drinkers/2008/07/30/1217097292450.html"&gt;hoopla&lt;/a&gt; surrounding &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/07/30/AR2008073001915.html"&gt;standards&lt;/a&gt; for excessive alcohol &lt;a href="http://www.naturalnews.com/023631.html"&gt;consumption&lt;/a&gt;, perhaps we've neglected the hardest hit.&lt;/p&gt;

&lt;p&gt;Spare a thought for the &lt;a href="http://www.smh.com.au/news/conservation/pintsized-mammal-with-huge-appetite-for-alcohol/2008/07/29/1217097189763.html"&gt;pentailed treeshrew&lt;/a&gt;, which spends two hours a night suckling on nature's beer source - flower buds of the Bertam Palm.&lt;/p&gt;

&lt;p&gt;Researchers from Germany's Bayreuth University reckon these little rodent like creatures are hitting the buds hard - hard enough to get your average human drunk - but are stumped by the animal's ability to appear sober. Well be stumped no more. As a slightly above average alcohol consumer, I can assure you that a well trained body will sedate the effects of alcohol, making getting pissed just that bit harder.&lt;/p&gt;

&lt;p&gt;Mark my words, it won't be long before we see pentailed treeshrews leaving the palm buds where they hang and turning to the guarana and bull urine of the alcopop tree. I can assure you that when this catastrophe nears, I'll be grabbing a case, jumping on a train and leaving to rock out with the raging rodents of the Malaysian rainforest.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/kTSTUeunhMg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/kTSTUeunhMg/000216.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000216.html</guid>
<category>General</category>
<pubDate>Thu, 31 Jul 2008 08:41:30 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000216.html</feedburner:origLink></item>

<item>
<title>Phone budgeting, geek style</title>
<description>&lt;p&gt;The Apple iPhone 3G was released here a couple of weeks ago. I've held out a long time getting a modern phone and the iPhone ticks many of the boxes I've been waiting for. Though as I've waited this long, I'm happy to watch how the costs settle and pick the best option for me. The selected carriers have been slow to announce pricing, but now that it's out, I see that it really isn't all that attractive.&lt;/p&gt;

&lt;p&gt;So in order to justify a new phone purchase, I decided to do a little research into my current mobile phone habits. Knowing how and when I use my current phone places me in a much more informed position when comparing the available options. Fortunately, Virgin Mobile provide a detailed call history to browse. Unfortunately however, with so much data easily available, I got a little carried away with the analysis.&lt;/p&gt;

&lt;p&gt;What follows turns out to be a real-world tutorial on using Excel, Python and R to extract meaning from a table of data.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/jxVFy7_G0L0" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/jxVFy7_G0L0/000214.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000214.html</guid>
<category>Geek</category>
<pubDate>Mon, 28 Jul 2008 23:02:52 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000214.html</feedburner:origLink></item>

<item>
<title>We're not alone</title>
<description>&lt;p&gt;I honestly thought this was a unique quirk, and never thought to share the experience. But there's something extraordinary about discovering that others share some unusual practice you've developed.&lt;/p&gt;

&lt;p&gt;You see, I often replay embarrassing moments from my life in my head (I have a few to choose from), and without warning, one of the words from the replayed conversation, or what I should have said, or even a "fuck" or "dickhead" will come bursting out of my mouth. And not in a whisper. Enough to shock me into consciousness and quickly look around to see if I've alarmed anyone.&lt;/p&gt;

&lt;p&gt;It turns out I'm not &lt;a href="http://www.43folders.com/2008/07/23/oooooooom"&gt;alone&lt;/a&gt;. A lonely post on &lt;a href="http://ask.metafilter.com/97265/Compelled-to-Blurt"&gt;Ask Metafilter&lt;/a&gt; has prompted a lengthy series of comments, as people corroborate the behaviour. Although there have been some attempts at on-the-spot classification (an "oooooom" moment, or an "Audio-compunctive Ejaculation"), I'm yet to see evidence it is explicitly recognised in psychology.&lt;/p&gt;

&lt;p&gt;My classic episode is recalling the time I was drinking with a mate that had recently been married, and thought it would be appropriate to ask him whether he knew I and his wife once "got together". Out it comes: "Dickhead!".&lt;/p&gt;

&lt;p&gt;Or the time a friend of the girl's bed I was sleeping in walked into her room and I tried to hide under the covers: "Fuggenin!".&lt;/p&gt;

&lt;p&gt;And that's enough of that, or I'll be twitching and blurting nonsense curses all night.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/ck1kmuOl9a4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/ck1kmuOl9a4/000215.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000215.html</guid>
<category>General</category>
<pubDate>Fri, 25 Jul 2008 00:58:39 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000215.html</feedburner:origLink></item>

<item>
<title>Journalistic responses</title>
<description>&lt;p&gt;To my surprise, Southern Cross Ten did respond to my earlier &lt;a href="http://heath.hrsoftworks.net/archives/000212.html"&gt;complaint&lt;/a&gt; about their story on a device that uses water to improve fuel efficiency. Commendation to them for following the issue up and taking the time to respond in full.&lt;/p&gt;

&lt;p&gt;Commendation reduced for missing the point.&lt;/p&gt;

&lt;p&gt;The letter I received did address what I thought was a breach of the Code of Practice in presenting factual material accurately. Apparently the code requires accuracy only in presentation of factual material. They claim the story was an expression of opinion and thus slides conveniently underneath the accuracy requirement. In my opinion, that's a fine line!&lt;/p&gt;

&lt;p&gt;The clincher though was the rebuttal to my claim that by broadcasting the story the network had promoted the business.&lt;/p&gt;

&lt;blockquote&gt;The purpose of the story was to tell viewers about a newsworthy product. Network TEN did not endorse or vouch for that product and care was taken to ensure the story reported the claims and opinions of its creators.&lt;/blockquote&gt;

&lt;p&gt;One might wonder why a television news show chose a backyard product, strangely missing from every other mainstream media channel, as a "newsworthy" story. But the larger problem here, as I see it, is the admission of irresponsibility in selecting articles for broadcast - there is no suggestion that the broadcasters realise that by broadcasting a news story they are implicitly promoting and validating the content. In fact, the injudicious manner is quite evident.&lt;/p&gt;

&lt;p&gt;The letter concludes by thanking me for the fifth time, and suggesting that if I have "strong concerns about the authenticity of the product" that I'm welcome to contact the manufacturers. A website link is included. A colleague suggested a fitting analogy to this suggestion: imagine if a television station decided to air a story on the business opportunity offered by a Nigerian banker, who only required your bank details and a small deposit to guarantee tens of thousands of dollars income per week. Would it seem right that broadcasting the story is ethical, because it's only the opinion of the Nigerian banker that you'll receive tens of thousands of dollars? And what if I had "strong concerns about the authenticity" of the banker's claims? Why wouldn't I just take those concerns up with the banker themselves?&lt;/p&gt;

&lt;p&gt;There will always be scammers in the world, and they don't give a hoot whether any particular person thinks they're scammers. The best way to deal with them is to ignore them, and certainly not to give them prime time exposure on free-to-air television!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/RhEjz1cRn44" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/RhEjz1cRn44/000213.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000213.html</guid>
<category>Rant</category>
<pubDate>Thu, 10 Jul 2008 00:23:33 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000213.html</feedburner:origLink></item>

<item>
<title>Journalistic responsibilities</title>
<description>&lt;p&gt;Ok, I get it. There's a target market for a news feed that is a stones throw from Today Tonight's trashy tabloid material. Ten News are welcome to sprinkle their television news show with updates on who has had a baby lately, or how many firefighters it took to get Snoogles down from the tree this time. There's a significant audience who enjoy their news service delivered that way.&lt;/p&gt;

&lt;p&gt;There's a chance however, that there would be some in this audience that would be easily misled. If you're watching trash, then there's some expectation that truths may be bent in the pursuit of sensationalism. In the nightly news bulletin however, I think there is some expectation of integrity.&lt;/p&gt;

&lt;p&gt;Which is why, after catching a story on Ten's late news one night, I'm very concerned about the blithe approach to informing the world that is being demonstrated. I faxed the following complaint through:&lt;/p&gt;

&lt;blockquote&gt;Towards the end of the news segment was a story about two men who have created a device, attached to their car, which when filled with water, would use the separated hydrogen and oxygen gases to improve fuel efficiency by 20%. Mention was made about their offer to install the device for some fee.

&lt;p&gt;The device and associated installation business is quite clearly, to anyone familiar with physics, chemistry, car mechanics, current scams, or enough common sense, a con. The two men features in the article are without any doubt in my mind, contributors to a global scam to convince people to pay them for a product which simply cannot work (specifically, extraction of hydrogen and oxygen from water requires more energy than it makes available).&lt;/p&gt;

&lt;p&gt;I fear, by broadcasting the story, Channel Ten is validating their scam and exposing many people to deception. Further, by promoting provably false statements, Channel Ten are promoting ignorance in their audience.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Apparently, by my faxing the complaint by the official channels and referring to the relevant Code of Conduct, the station is required to respond.&lt;/p&gt;

&lt;p&gt;Sure enough, a few days later a letter arrived in the post:&lt;/p&gt;

&lt;blockquote&gt;
Thank you for your recent letter regarding &lt;em&gt;TEN Late News with Sports Tonight&lt;/em&gt;.

&lt;p&gt;As your complaint relates to programming broadcast on a Network Ten affiliate station run by Southern Cross Broadcasting, I have forwarded your letter to their representative, Mr Barry Daley, who will respond to you directly.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;That letter was dated 13th June, 2008. I'm yet to hear from Southern Cross and suspect they'd be keen to ignore it. A retraction now would be embarrassing and untimely, so I can only hope some extra thought is given to the integrity of the news stories that make it to broadcast news. It's bad enough that people are so deluded by the petrol price conspiracies that I get 50 copies of that ridiculous email about boycotting a particular petrol vendor forwarded to me, but if seemingly reputable outlets start backing the "car running on water" nonsense, it wont be long before there's a thousand emails and campaigns doing the rounds about beating the oil companies with a water device.&lt;/p&gt;

&lt;p&gt;Some people aren't predisposed to doing their own thinking. That gives those that are a lot of work to do. Further, anytime one in a position of influence abuses their position, the pain for the rest increases.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/yLpLAusl1po" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/yLpLAusl1po/000212.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000212.html</guid>
<category>Rant</category>
<pubDate>Sun, 29 Jun 2008 12:36:50 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000212.html</feedburner:origLink></item>

<item>
<title>Rain rain go away</title>
<description>&lt;p&gt;I'd estimate there's about 60 hours of painting left to do on my house. Given that it is dark or dewy before and after work, I need approximately 5 weekends worth of painting to get it finished. When you take out soccer on Saturday and Sunday, it starts to become painfully clear why a rainy day puts an awful spanner in the works. A rainy Saturday can easily spoil the weekend, setting back the painting task by a week. And there's no guarantee the following week will be available for painting.&lt;/p&gt;

&lt;p&gt;In the theme of the good work over at &lt;a href="http://graphjam.com/"&gt;GraphJam&lt;/a&gt; the following relationship occurred to me as I find myself recovering after another week of rain.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/FrustrationGraph.png" alt="Frustration graph" width=550 /&gt;&lt;/p&gt;

&lt;p&gt;It's also my first chance to play with iWork Numbers!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/WElHNVZ6gf0" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/WElHNVZ6gf0/000211.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000211.html</guid>
<category>General</category>
<pubDate>Sun, 08 Jun 2008 12:02:27 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000211.html</feedburner:origLink></item>

<item>
<title>Hail to the Chinese</title>
<description>&lt;p&gt;What did you do to celebrate the impending Olympic games back in 2000? Fly a flag? Paint yourself green and yellow? Nothing at all? Aussies aren't known for their outward patriotism, but if it were an event, I think the Americans would have some stiff competition.&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="http://www.telegraph.co.uk/news/newstopics/howaboutthat/2068311/Chinese-man-sticks-2008-needles-in-his-head-to-mark-Beijing-Olympic-Games.html"&gt;this fella&lt;/a&gt;, who's demonstrating his excitement for the Chinese games by sticking pins in his head. More than a few though. More like 2008 of them. In the Olympic colours no less. Beats Syd, Olly and Shithead any day, methinks.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/china_needle404_675809c.jpg" alt="Chinese Olympian" /&gt;&lt;/p&gt;

&lt;p&gt;The Americans however, will not be out done in creating new entries for Guinness and his big book. This &lt;a href="http://www.telegraph.co.uk/news/newstopics/howaboutthat/2078695/World's-largest-fake-breasts---Maxi-Mounds.html"&gt;shy lass&lt;/a&gt; would probably serve well as a mascot representing dedication and plentifulness. Though, sporting a pair of 9kg breasts might mean "Ms Mounds" is not the best icon of good health and agility.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/breast404_676461c.jpg" alt="Ms Mounds" /&gt;&lt;/p&gt;

&lt;p&gt;Praise be to the boundary pushers, whatever their motivation may be.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/whSdzRR0wDQ" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/whSdzRR0wDQ/000210.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000210.html</guid>
<category>General</category>
<pubDate>Fri, 06 Jun 2008 19:10:00 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000210.html</feedburner:origLink></item>

<item>
<title>The Wacky World of Recruiters (Part 2)</title>
<description>&lt;p&gt;This is part two of a two part series starting &lt;a href="http://heath.hrsoftworks.net/archives/000208.html"&gt;here&lt;/a&gt;. This post will actually address the content I intended to write about, before I got side-tracked by some weird bread roll story.&lt;/p&gt;

&lt;p&gt;Here are some of the examples of the kind of out-of-touch arrogance I've seen in my recent experience with recruiters. Keep in mind that I have applied with these particular recruiters because employers of interest to me have decided to do their recruiting through their services:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example One&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/crap/Gemteqfunny.png"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/Gemteqfunny.png" width=500 alt="Gemteq Funny" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gemteq have decided that two chest baring female models are indicative of the service they provide. What better way to illustrative that you're all show and no substance? Gemteq are also superficial enough to adopt the title "Executive" while clearly "specialising" in a wide variety of generic, decidedly non-executive "temp" positions in call centres, retail and sales. Their "specialist" divisions in "IT&amp;T Technical" have not however, managed to design a homepage without a massive ERROR frame in prime focus position.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example Two&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every recruiter has their own version of the spiel about why their particular questionnaire is original and important, and how it better enables them to understand the candidate. After the third or fourth, it becomes clear that the questionnaires allow recruiters with zero specific domain knowledge of the technical aptitude indicators in a particular industry to perform vague pattern matching and check-boxing of hand-waving attitudes to work. I felt like a brain-dead monkey answering questions such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;List your Australian Standards knowledge.&lt;/strong&gt;&lt;br /&gt;
I've worked hard to memorise AS 2697-1990. Can I have a job manufacturing car jumper leads, over and over?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internet skill and experience (include email).&lt;/strong&gt;&lt;br /&gt;
What? You want to know my emailing experience?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software development skills (for each language show competency level, use while studying or commercially and duration of part-time and full-time usage).&lt;/strong&gt;&lt;br /&gt;
Well, for the C language there was 2.5 hours per night at a mediocre level but then 3 hours per day part-time at an excellent level, and then 2.5 years of use while studying, then full time for 6 months at a professional level. Then there's C++, Pascal, Objective-C, C#, Java...&lt;br /&gt;
  &lt;br /&gt;
&lt;strong&gt;What motivates you in your present position?&lt;/strong&gt;&lt;br /&gt;
Nothing! I've resigned!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Describe some external factors that had a major impact on your career to date?&lt;/strong&gt;&lt;br /&gt;
The price of coal has risen so my career has serviced a lot of coal mines? A friend suggested that perhaps the intention was to extract an admission that personal matters would cause me to skip work or something. Who really knows?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Power systems experience (please indicate voltage worked with)&lt;/strong&gt;&lt;br /&gt;
Lots of 650 volt stuff but there's no way I'll ever understand that crazy 660 volt world.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PLC programming (include PLC brands)&lt;/strong&gt;&lt;br /&gt;
Siemens. Please don't put me somewhere where they use Mitsubishi, my head will surely explode with the differences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;List application programs that you have strong commercial experience using&lt;/strong&gt;&lt;br /&gt;
That's going to take some listing...&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example Three&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A representative from AllStaff invited me in for an interview not, as he explained, to take up much of my time but just to get to know me to better present me to clients. This might have been a commendable aim, had he he allowed me to get a word in edgeways between him repeating how special his recruitment service was, how exclusive their clients are, and how since 1978 he's never not been given a position he has interviewed for. His success he explained, was regardless of the number of candidates going for the position, because he had taught himself how to sell himself. I wondered briefly what dimwits would employ such a shallow, technically vacuous, arrogant and time-wasting buffoon, and then simply resolved to never pursue a career where he had influence.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example Four&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sometimes I wonder whether recruiters are finding me a job, or selling me penis enlargement pills.&lt;/p&gt;

&lt;blockquote&gt;
Did you know that over 70% of vacancies are not
advertised!?

&lt;p&gt;This is the hidden job market, where if the right&lt;br /&gt;
person came along the employer would hire them.&lt;br /&gt;
With a few minutes of typing now, MACRO can help&lt;br /&gt;
you tap into this hidden market - for free!&lt;br /&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Did you know that 78% of statistics are made up? Macro were full of this scammy sales pitch crap.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example Five&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Living in Newcastle, I applied for a job situated in Newcastle, and the recruiter, a representative from Manpower Professional, who have an office in Newcastle, called to confirm that I could meet him for a pre-application meeting at 8:30am on Monday morning in Woy Woy, over an hour's drive away. He succumbed to my hesitation, admitting that he could use my 6 page Manpower questionnaire to put my case forward for the position to gauge interest before requiring that I travel to Woy Woy.&lt;/p&gt;

&lt;p&gt;This went nowhere until a couple of weeks later he called again to say that the company had put the process on hold temporarily, but were now keen to proceed. He again asked that I suggest a time for our meeting, and even offered to meet almost 10 minutes closer (still an hour away). I hesitated again, saying I'd contacted the company a while back and never heard anything, and that I had all but accepted a role already. He immediately changed tack, asking what my chosen company were offering. I indicated the rough salary on offer and he let out a little chortle, explaining that that was far too low and what he has to offer is far greater. The figure he suggested was indeed, far above anything I'd come across in some three months of investigation. So I asked him to send the job description through for me to review.&lt;/p&gt;

&lt;p&gt;The requirements stipulated that "Tertiary Engineering Qualifications are desirable", "Minimum 3 years experience in project related disciplines" is necessary and that "Electrical design experience" is desirable. In other words, Mr Manpower is suggesting that the company is willing to pay far more than other roles I'm going for, for someone who is far less qualified than me. After months of dealing with recruiters, my bullshit detector was well and truly primed and I politely told Manpower man that things didn't quite add up. I'm yet to hear back.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Epilogue&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ultimately I am glad to be done actively communicating with recruiters. Most interaction events left me feeling dirty. There were exceptions - I met some genuine people who went out of their way for me.&lt;/p&gt;

&lt;p&gt;Additionally, I think there is a very real, very specific need for a recruiting service: if a company is on the lookout for new talent, but is not in the position to maintain an active human resources search for a unspecified role, then employing the services of the right recruiter could well be a very smart move. It is the recruiter's role then to scan the field of job seekers, keeping an eye out for good matches on motivation, background, general ability and desires. Rather than matching on specific skills or experience, which can be completely satisfied by a plain old job advertisement, a recruiter can bring to a company's attention the kind of talent that may simply "fit". That sort of job placement is much harder to do with a traditional job advertisement, and seems to me to be the real role of a recruiting service.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/WeS_qNYEYdQ" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/WeS_qNYEYdQ/000209.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000209.html</guid>
<category>General</category>
<pubDate>Fri, 30 May 2008 00:48:11 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000209.html</feedburner:origLink></item>

<item>
<title>The Wacky World of Recruiters (Part 1)</title>
<description>&lt;p&gt;In applying for engineering jobs over the last couple of months I&amp;#8217;ve given my details to no less than 20 recruiters[1]. I&amp;#8217;ve never dealt with recruiters before, and the experience has been eye opening.&lt;/p&gt;

&lt;p&gt;To understand the motivation of a recruiter, it is worth considering how their role casts employees and employers into positions they are not used to. It has come to my attention that it is more illustrative to consider a recruiter as a provisioner of goods rather than a service provider. A recruiter provides a service only in the same sense that a bakery provides specialist access to bread. In the tricky world of recruiting however, the good is people like me. A recruiter works to sell me to an employer, who pays the recruiter for the acquisition.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s not hard to see why an employer would shop at a recruiter - acquiring humans goods is a really tough task. Attracting talent a hit and miss affair, interviews are notoriously ineffectual at evaluating suitability, and vacancy advertising is expensive. Given that companies only function if people do good work, it is clear why sensible employers would consider going to the expert suppliers of human goods.&lt;/p&gt;

&lt;p&gt;That leaves the relationship between recruiters and employees like me. Evidently I understand the need for recruiters. In fact, for me, the recruiter is providing a service for free! I only need to present my case for employability to a recruiter and then kick up the hells and relax, while the recruiter scans the job market, evaluates their network and finds a great match for me.&lt;/p&gt;

&lt;p&gt;Except that&amp;#8217;s not how it works at all.&lt;/p&gt;

&lt;p&gt;Fundamentally I am a bread roll at a bakery. If the bakery has a thousand customers who pay x dollars for looking for a hearty white roll, they are going to sell the hearty white rolls that have the 5 ticks of approval and are cheap to store. If the bakery has another roll also worth x dollars, that tends to be picky about who consumes it, it makes no business sense at all to work to sell that roll when there&amp;#8217;s a stack of hearty white rolls that sell for the same price. Even if the bakery finds a customer looking for that other roll, the one with the sesame seeds on top, there&amp;#8217;s only a certain amount of bending over backwards the baker is going to do to sell the roll. If that roll digs its crusty feet in, the baker has easier and more lucrative hearty white rolls to go on and sell.&lt;/p&gt;

&lt;p&gt;So what&amp;#8217;s a person like me - a crusty sesame seed roll - to do? I want to get sold, and being of able mind and body, I put myself on the market. As already established, the consumers shop at bakeries, and it is to bakeries I go. Not every bakery knows the specifics of the sesame seeds on my roll, so for them to be able to sell me they need me to enter the poly-unsaturated fat content breakdown, or my seed chewability, or my resistance to oat bacteria, into their product register.&lt;/p&gt;

&lt;p&gt;Up to this point the market forces are working - I&amp;#8217;m a crusty, picky roll presenting myself on the shelves of the bakeries that the discerning customers shop at. Imagine however, that there are about equal number bakeries to customers. Suddenly each bakery is jealously protective of its customers. Suddenly the possibility of a crusty sesame seed roll being sold relies entirely on being available at the right bakery. Further, that roll needs to make sure it is completely devoted to offering itself to every bakery, has low on-going costs, and is easy to sell. Otherwise, if the bakery wants to make money, it will work hard at selling that which is modestly suitable and easy to move.&lt;/p&gt;

&lt;p&gt;The analogy provides the background to my process of realisation in visiting recruiters. In recruiters we have a business selling a good. Their expertise lies in the selling of that good, not in the way that good is constructed. Recruiters are faced with a good that talks, that knows about its target market, that could in fact, communicate on a practical level with its customers. And therein lies my frustration with recruiters - in general I have found that they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jealously guard their clients&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Sure, without that exclusive relationship I&amp;#8217;d be less motivated to sign up with recruiters, but the secrecy means I&amp;#8217;m wasting time signing up with recruiters that may well have nothing that interests me.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Have no expertise (or have tried and failed) in the work their candidates do.&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;I think the ideal role for recruiter would be as a mediator between me as an engineer and the human resource elements of the employer. The general lack of appreciation for the work an engineer does however, means most recruiters are entirely committed to salesmanship, rather than mediation.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Push clients and candidates to make a sale rather than satisfy both.&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Every recruiter had their own spiel about how special they were for working to satisfy employer and employee. Every recruiter that found a company willing to see me also bugged and pestered me to pursue that course without consideration of my own desires. The recruiter only gets paid if they place me, and that is therefore their primary concern.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Consider themselves special for having contact with employers that any in-touch employee is already aware of.&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Given their were maybe 10 high potential employers on my radar, and many more recruiters, I quickly become sick of each recruiter telling me how special they were to have direct links to company X. Despite how special that recruiter feels, I still need to sign up with every one just to get my resume in front of a wide variety of companies.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Consider that their own particular generic, lengthy candidate questionnaire warrants full attention.&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;These questionnaires take time. A lot of time. That would be a mild frustration if it weren&amp;#8217;t for the fact that I&amp;#8217;d already spent considerable time on my own resume and cover letters, and that the questionnaires invariably are vague and unintelligent.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Typically enough, this post has taken a path I did not plan. I&amp;#8217;l save the original impetus for part two of this post, and conclude by saying that from meetings with 20-something recruiters, I had about 8 job interviews. 5 of those I set up myself through contacts in the industry. During this time my referees have been contacted zero times.&lt;/p&gt;

&lt;p&gt;[1] While I&amp;#8217;m doing a recap, it&amp;#8217;s worthwhile actually listing the recruiters I can find details of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hays&lt;/li&gt;
&lt;li&gt;Hayden Recruitment&lt;/li&gt;
&lt;li&gt;Hudson&lt;/li&gt;
&lt;li&gt;EMA&lt;/li&gt;
&lt;li&gt;WorkPac&lt;/li&gt;
&lt;li&gt;Hunter Industrial Recruitment&lt;/li&gt;
&lt;li&gt;Davidson&lt;/li&gt;
&lt;li&gt;Macro Recruitment&lt;/li&gt;
&lt;li&gt;BSI People&lt;/li&gt;
&lt;li&gt;Personnel Concept&lt;/li&gt;
&lt;li&gt;Calibrate Recruitment&lt;/li&gt;
&lt;li&gt;Nizza&lt;/li&gt;
&lt;li&gt;AllStaff&lt;/li&gt;
&lt;li&gt;Manpower Professional&lt;/li&gt;
&lt;li&gt;Agile Consulting&lt;/li&gt;
&lt;li&gt;Forsythes&lt;/li&gt;
&lt;li&gt;Gemteq&lt;/li&gt;
&lt;li&gt;Executive Talent International&lt;/li&gt;
&lt;li&gt;Avantia&lt;/li&gt;
&lt;li&gt;Connect Personnel&lt;/li&gt;
&lt;li&gt;Interlogic&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/D9GphwQbIiE" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/D9GphwQbIiE/000208.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000208.html</guid>
<category>General</category>
<pubDate>Sun, 25 May 2008 09:57:42 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000208.html</feedburner:origLink></item>

<item>
<title>This is what I aim for</title>
<description>&lt;p&gt;By some cosmically coincidental path, I recently stumbled across the blog of &lt;a href="http://reasonsyouwillhateme.com"&gt;Marieke Hardy&lt;/a&gt;. The particulars of my journey there are lost amongst the feverish information consumption I partake in after my evening scotch, but the point is I've found a voice that engages me and a personality that somehow, I feel I identify with. Marieke can be heard regularly on JJJ radio, the radio station that also happens to represent a voice I cling to as a rare, consistent, genuine and intelligent beacon in amongst the petty clichés of mainstream media. I think that strangely appropriate combination of interests is the reason I'm not afraid to say, at 26 years of age, that I have a 14 year-old crush on Marieke.&lt;/p&gt;

&lt;p&gt;I compare it to the crush of 14 year old not because I think it is immature, but because I think it is based entirely on ideals and not on personal connection. I've never met the lady, she's never heard of me, but I'm attracted to the way that she lays bare her identity to be consumed by those that are willing. Her candid, funny, unashamedly nerdy writing captures me in a unique way. Ultimately, this is the kind of writing I aspire to.&lt;/p&gt;

&lt;p&gt;I see Marieke blithely lay out phrases like "You may even come a little in your pants", and surround it by considered expressions such as "Why not pick up a novel and ... become so engrossed in Carson McCullers' searingly dry prose" and compare it to my own stunted, emotionless efforts. When I write "the particulars of my journey there are lost amongst the feverish information consumption I partake in after my evening scotch" I feel it is conceited and contrived.&lt;/p&gt;

&lt;p&gt;This blog is creative outlet I enjoy (it's contrasts well with the rigour of my primary passion, engineering), but I especially like that I get to look up to the unpolished writing of others and learn. Have a go at this gem:&lt;/p&gt;

&lt;blockquote&gt;Breaking a sweat is boring as fuck, but good for the brain. If you're able to balance William Boyd on the LED display thing or whatever the hell it is trying to convince you you're cycling through the Parisian streets, you are doubling the awesomeness pulsating through your receptors. That's right, cerebrovascular affairs are my specialty subject.&lt;/blockquote&gt;

&lt;p&gt;PS. Marieke's blog is anonymous, so just imagine that I said "Ms Fits" every time you thought you saw "Marieke".&lt;br /&gt;
PPS. I've been on a rather inspiring date tonight, hence the embarrassingly romantic post tonight.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/TD3sHpgDUrY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/TD3sHpgDUrY/000207.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000207.html</guid>
<category>General</category>
<pubDate>Thu, 22 May 2008 22:22:54 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000207.html</feedburner:origLink></item>

<item>
<title>Ambiguity had had no master</title>
<description>&lt;p&gt;Natural languages evolve without much consideration giving to logical consistency. Really, it's surprisingly that there are not more situations where the language we use corners us into lexical traps. Perhaps as we've grown with a developing language, we subconsciously accept that there is ambiguity in everything we say and that is why communication usually generates and relies on a relationship between deliverer and receiver.&lt;/p&gt;

&lt;p&gt;Ambiguity had had no master however, until this gem came to light:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/James_while_John_had_had_had_had_had_had_had_had_had_had_had_a_better_effect_on_the_teacher"&gt;James while John had had had had had had had had had had had a better effect on the teacher&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That it has existed as a Wikipedia page for six months so far, with many edits along the way, leads me to believe that it is a phrase with some persistence, assumably in linguistics circles. Those linguists ay? Had they had other pursuits, we'd all be had. Hadn't we?&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/TFhmYmlKxrg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/TFhmYmlKxrg/000206.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000206.html</guid>
<category>General</category>
<pubDate>Wed, 21 May 2008 09:28:36 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000206.html</feedburner:origLink></item>

<item>
<title>Stay humble</title>
<description>&lt;p&gt;The more I learn about the world, the more I realise I have yet to learn. I came across this today, and the owner's comments immediately impressed upon me as my thought of the day.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/closure.jpg" alt="Closure tattoo" /&gt;&lt;/p&gt;

&lt;p&gt;The tattoo is an illustration of the &lt;a href="http://psychology.about.com/od/sensationandperception/ss/gestaltlaws_6.htm"&gt;Gestalt Law of Closure&lt;/a&gt;, and reminds it's owner that you should:&lt;/p&gt;

&lt;blockquote&gt;"stay humble, because you never know how much of the world you're making up as you go along"&lt;/blockquote&gt;

&lt;p&gt;I think a tattoo of an incomplete triangle is a radical way of remembering your maxims, but it certainly does help give the quote some authority.&lt;/p&gt;

&lt;p&gt;Original &lt;a href="http://carlzimmer.typepad.com/sciencetattoo/2008/05/filling-in-the.html"&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/yhFmw2n7TkE" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/yhFmw2n7TkE/000205.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000205.html</guid>
<category>General</category>
<pubDate>Mon, 19 May 2008 18:54:54 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000205.html</feedburner:origLink></item>

<item>
<title>The water cannon of the naughties</title>
<description>&lt;p&gt;Suppose you were in charge of keeping order at a public event. Suppose a group of people fuelled by righteousness, alcohol, vigilante-ideals, anger or passion decide to take action. The power of mob mentality and the speed at which things can turn sour is frightening. I've seen to chaotic disturbance of group-think transform orderly people into destructive drones. What techniques might you employ to quell the outburst?&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/image2.jpg" /&gt;&lt;br /&gt;
(photo credit: AP Photo/Jorge Sanchez)&lt;/p&gt;

&lt;p&gt;Perhaps, instead of using the physical force of a water cannon to subdue people, there was a way to non-violently incapacitate people in a line of sight from your current position. Think that might be an option worth pursuing?&lt;/p&gt;

&lt;p&gt;I think the Chinese might be &lt;a href="http://www.newscientist.com/blog/technology/2008/05/loudhailer-or-weapon.html"&gt;on to it&lt;/a&gt;. They've just picked up a snazzy new LRAD - Long Range Acoustic Device, also known as a directed sound weapon. These devices are capable of aiming a non-lethal but awfully disruptive sound wave in a certain direction. Perhaps it is just coincidence that the Chinese are also hosts to a rather public event in a couple of months, but I suspect that in this decade we'll see the water cannon relegated to a position where it is considered particularly primitive.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/jGfVwVzmm7Y" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/jGfVwVzmm7Y/000204.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000204.html</guid>
<category />
<pubDate>Thu, 15 May 2008 23:55:10 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000204.html</feedburner:origLink></item>

<item>
<title>Welcome to the family</title>
<description>&lt;p&gt;After months of waiting, growing more and more frustrated with my existing computer set up, Apple finally announced a revision of the iMacs. The news appeared Monday, I ordered Tuesday, and early the following Monday morning, I was in possession of a new 24" iMac.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/DSC01629.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/th_DSC01629.jpg" border="0" alt="Monitor, new iMac and old iMac."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look, I know it's just a computer, but dead set, this machine blows me away. My old 19" CRT now sits to the left of the new machine, and it really exemplifies just how crystal clear the new display is. I have gone from a 19" display at 1280x1024, to a 24" LCD at 1920x1200 with the 19" as a second monitor. Add that to the fact that Spaces (multiple desktops) is part of Leapard and you suddenly have not just an evolutionary step in real estate, but a workflow-changing reinvention of what screen real estate means.&lt;/p&gt;

&lt;p&gt;Of course, the other major element is the jump to a 2.8GHz Core 2 Duo with 2GB of RAM. Gone is the painfully frustrating disk thrashing, replaced with a seamless experience that is begging to be taken advantage of.&lt;/p&gt;

&lt;p&gt;And take advantage I will.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/nOWdE8vtLdg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/nOWdE8vtLdg/000203.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000203.html</guid>
<category>Geek</category>
<pubDate>Sun, 11 May 2008 18:16:00 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000203.html</feedburner:origLink></item>

<item>
<title>Hi kids, I'm home</title>
<description>&lt;p&gt;I have, for the last few weeks, been blessed with experiencing the first moments of life for five young kittens. After magically transforming her skinny belly into a bulging bag of foetuses, Lysey selected my centre wardrobe as the place where she would give birth to five deaf, blind and extraordinarily cute kittens.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01557.jpg" target="_blank"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01557.jpg" border="0" alt="Photobucket"&gt;&lt;/a&gt; &lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Cats/DSC01561.jpg" target="_blank"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Cats/th_DSC01561.jpg" border="0" alt="Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now each time I come home, I spend the first fifteen minutes watching this happen.&lt;/p&gt;

&lt;p&gt;&lt;embed width="448" height="361" type="application/x-shockwave-flash" wmode="transparent" src="http://i94.photobucket.com/player.swf?file=http://vid94.photobucket.com/albums/l119/l1teyear/Cats/MOV01634.flv"&gt;&lt;br /&gt;
&lt;embed width="448" height="361" type="application/x-shockwave-flash" wmode="transparent" src="http://i94.photobucket.com/player.swf?file=http://vid94.photobucket.com/albums/l119/l1teyear/Cats/MOV01635.flv"&gt;&lt;/p&gt;

&lt;p&gt;Most of the magic is ruined by the passage of video, but believe me, there's something terribly captivating about watching these little guys explore the world around them. Every day they have a new trick and new understanding of the world. They know who their mum is and they are particularly curious about me. Given that I weigh some 200 times as much as them, it's quite humbling to see them innocently investigate my feet, and when given the opportunity, my lap and arms.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/TDya3e1IYWw" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/TDya3e1IYWw/000202.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000202.html</guid>
<category>General</category>
<pubDate>Sat, 10 May 2008 12:58:42 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000202.html</feedburner:origLink></item>

<item>
<title>Primal instincts</title>
<description>&lt;p&gt;The other night my mind was abuzz with new information. In the one night I found the blog of an &lt;a href="http://explanatorygap.net/"&gt;old friend&lt;/a&gt;, now working on Macs within Google. That then lead me to the &lt;a href="http://www.friday.com/bbum/"&gt;eclectic blog&lt;/a&gt; of a most brilliant individual I had the pleasure of briefly meeting in San Francisco one year. One of his recent posts revealed some very interesting developments in a technical domain I can't wait to get stuck into - microprocessor development.&lt;/p&gt;

&lt;p&gt;Soon I was reading tutorials, downloading software, diverting to Ruby On Rails material, and dreaming up a million ways to change the world.&lt;/p&gt;

&lt;p&gt;By some quirk of hyperlink clicking however, my driven, enthusiastic thirst for more information was halted as &lt;a href="http://slecht-lands.livejournal.com/119791.html"&gt;this page&lt;/a&gt; came into sight.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://slecht-lands.livejournal.com/119791.html"&gt; &lt;img src="/images/petrakissing.gif" width=150 /&gt; &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Somehow the exhibitionistic lark of an anonymous girl caused an immediate mental impasse, and I was halted with the thought: I just want to kiss a girl. For all the enjoyable and engaging stimulation I find in the world, there is one element that rules them all. Sexual affection.&lt;/p&gt;

&lt;p&gt;It makes sense then, that to challenge the mind and generate debate, there is nothing quite like an unusual take on sexuality to get people's instincts firing. I quickly followed a link to &lt;a href="http://www.chicagoreader.com/features/stories/ourtown/070803/amberdoll/"&gt;this article&lt;/a&gt; where the Chicago Reader reports on a lady who has purchased a Real Doll modelled on herself, and is using the doll to extract all sorts of responses. The article itself is interesting, not only in the way it is written, but particularly in the emotions it invokes in the reader. The real gem of the article though, is the comments section that follows.&lt;/p&gt;

&lt;p&gt;Allowing the unchecked reactions of readers to reach the published page of the article means you have everything from the predictable:&lt;/p&gt;

&lt;blockquote&gt;"As a feminist, it's so refreshing to see art that is challenging and innovative get recognized."&lt;/blockquote&gt;

&lt;p&gt;to the provocative:&lt;/p&gt;

&lt;blockquote&gt;"The only [thing] this body of work challenges is my patience."&lt;/blockquote&gt;

&lt;p&gt;from the basal:&lt;/p&gt;

&lt;blockquote&gt;"Am I the only one turned on by all of this?"&lt;/blockquote&gt;

&lt;p&gt;to the hilariously candid:&lt;/p&gt;

&lt;blockquote&gt;"It's stupid because I'm not having sex with it."&lt;/blockquote&gt;

&lt;p&gt;A peruse through the comments to this article offers an extraordinarily revealing (and entertaining) presentation of human reaction and emotion. Highly recommended after 4 or 5 scotches.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/tmjk1YfyZOQ" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/tmjk1YfyZOQ/000201.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000201.html</guid>
<category>General</category>
<pubDate>Mon, 28 Apr 2008 10:20:25 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000201.html</feedburner:origLink></item>

<item>
<title>Be good to your mother</title>
<description>&lt;p&gt;The more I read about language, the more I am fascinated by the intricate development paths that have led to the way we express ourselves today. My awe at the complexity of language is conveniently matched however, with the disarming realisation that much of language development arises from the reliable constants of oral communication: &lt;a href="http://dictionary.reference.com/search?q=mondegreen"&gt;mondegreens&lt;/a&gt; and myths.&lt;/p&gt;

&lt;p&gt;It was with comforting justification then, that I tonight learned about the etymology of the word "tip" and the vaguely related synonyms "insure" and "ensure". The prompt was (as is frighteningly common) a pub trivia question that didn't sit right. The question innocently asked, "What does the word 'tip', to pay for good service, stand for?".&lt;/p&gt;

&lt;p&gt;Naturally, the immediate reaction (it's just a word, it doesn't stand for anything) is quickly overcome by the competitive urgency of pub trivia. "Oh I know this", we think. "It's something to do with 'payment'", or "wouldn't it be 'thanks' for something?" you might say. The fact is, the question is only based on an urban myth, that the word tip is derived from the phrase "to insure promptness".&lt;/p&gt;

&lt;p&gt;That "tip" would stand for "to insure promptness" is another example of the many &lt;a href="http://en.wikipedia.org/wiki/Backronym"&gt;backronyms&lt;/a&gt; that crop up in our jargon infested world. As with many of the other backronyms, the expansion belies its fabrication. How exactly, does the word "insure" fit in that phrase in the first place?&lt;/p&gt;

&lt;p&gt;To my Australian middle class ears, the correct term in that phrase would be "ensure". Indeed, when we tip (with consideration paid to the fact that the practice is less common in this country that other English speaking countries) we are not actually holding a sum of money as insurance for an outcome, but rather we are trusting that our gesture makes certain that service is provided. Of course, this interpretation is neglecting the fact that a tip is generally given in reward, rather than in anticipation, but allow the excursion for now. My experience vaguely suggests that I might &lt;strong&gt;insure&lt;/strong&gt; a less favourable outcome by guaranteeing a compensation, while I would &lt;strong&gt;ensure&lt;/strong&gt; that the less favourable outcome never occurs in the first place by invoking some protection. When pushed, I'd be happy to allow ensure be used in place of insure (naively because of British and American spelling discrepancies) but I'm uncomfortable being coerced the other way.&lt;/p&gt;

&lt;p&gt;As it turns out, the usage notes in the &lt;a href="http://dictionary.reference.com/browse/assure"&gt;American Heritage Dictionary&lt;/a&gt; give weight to a similar, but critically distinct interpretation. "Assure", "ensure", and "insure" all mean "to make secure or certain" they say, but insure and ensure do not apply when specifically putting a person's mind at ease. Ensure and insure are more or less interchangeable, except that in American usage, ensure is not used when referring to financial risk. &lt;/p&gt;

&lt;p&gt;In other words, the language we use to convey our thoughts (even thoughts relating to the language itself!) is not in any way guaranteed (insured?) to maintain integrity and consistency. Instead, its development is subject to the same inventiveness and fiction that it affords us in our everyday communication.&lt;/p&gt;

&lt;p&gt;By the way, for a well-researched and well-structured approach, the &lt;a href="http://www.snopes.com/language/acronyms/tip.asp"&gt;Snopes article&lt;/a&gt; on the tip backronym is well worth an attentive read.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/mqcxmCyCE2g" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/mqcxmCyCE2g/000200.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000200.html</guid>
<category>General</category>
<pubDate>Wed, 23 Apr 2008 13:30:56 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000200.html</feedburner:origLink></item>

<item>
<title>Exemplifying Lotus Notes</title>
<description>&lt;p&gt;Having been blessed by an IT department that is faced with deploying an email system to more than 30000 employees, I have had the opportunity to see what becomes of software written to sell to management at the expense of users. Every day I am graced with another jaw dropping example of the kind of user interface tragedy or usability nightmare you can get away with when you don't have to please users to sell your software.&lt;/p&gt;

&lt;p&gt;In what can only be a soul destroying practice for the Lotus Notes developers, IBM have produced a piece of software for which even Microsoft cannot generate as much user &lt;a href="http://lotusnotessucks.4t.com/"&gt;backlash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today's example was particularly epitomizing.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://s94.photobucket.com/albums/l119/l1teyear/crap/sillynotesdialog.png" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/sillynotesdialog.png" border="0" alt="Lotus Notes being silly" width="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the error message that appeared when I clicked on the User Security button in the background. The sentence in quote marks is laughably obscure. For those that don't know, user preferences in Lotus Notes are scattered amongst more than 3 different multi-tab interfaces. It's all a bit hit and miss, and this misleading error dialog is typical of the kind of disorientating feedback you get as a user. FWIW, the dialog I was after actually appeared without a problem after dismissing this error message.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/Fz54_Nu5hwk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/Fz54_Nu5hwk/000199.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000199.html</guid>
<category>Geek</category>
<pubDate>Tue, 22 Apr 2008 16:31:26 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000199.html</feedburner:origLink></item>

<item>
<title>Iterating through directories in bash</title>
<description>&lt;p&gt;bash and the other shells make scripting the file system a joy. The speed and simplicity of applying command line tools to groups of files is immensely powerful. It's unfortunate then, that the most straightforward approach to iterating subdirectories and files fails miserably when it comes to filenames with spaces.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
#!/bin/bash
 
src="/my/path"
    
for dir in `ls "$src/"`
do
  if [ -d "$src/$dir" ]; then
    #uh oh - $dir will never match paths with spaces
  fi
done
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It seems that many people, when faced with this barrier, ultimately turn to (slightly) more complicated solutions like Perl, Python or find. It occurs to me that this is a pity, since this simple addition puts you straight back on the path:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
#!/bin/bash
 
src="/my/path"
 
#enable for loops over items with spaces in their name
IFS=$'\n'
 
for dir in `ls "$src/"`
do
  if [ -d "$src/$dir" ]; then
    #yay, we get matches!
  fi
done
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That (&lt;code&gt;IFS=$'\n'&lt;/code&gt;) is all there is to it! Revel in the simplicity and power of the shell once again!&lt;/p&gt;

&lt;p&gt;As a matter of illustration, the script I ended up coding looks like this. It resets the last modified dates on a copy of a set of files, which are grouped into subfolders.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
#!/bin/bash
 
src='/path/to/original/documents'
dst='/path/to/copy'
 
#enable for loops over items with spaces in their name
IFS=$'\n'
 
for dir in `ls "$src/"`
do
  if [ -d "$dst/$dir" ]; then
    for f in `ls "$src/$dir"`
    do
      if [ -f "$dst/$dir/$f" ]; then
        touch -m -r "$src/$dir/$f" "$dst/$dir/$f"
      fi
    done
  fi
done
 
echo
echo "Done."
echo
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now take a look what I came up with using Windows. The available scripting environment (JScript? VBScript? WHS?) available in Windows XP is just appalling.&lt;/p&gt;

&lt;p&gt;After several frustrating hours wading through the &lt;a href="http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_kumh.mspx"&gt;philosophical but vacuous documentation&lt;/a&gt; on Microsoft's site I finally came up with this.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
option explicit
 
if WScript.Arguments.Count &lt;&gt; 2 then
  WScript.echo "Supply two arguments, the source folder then the destination folder"
  WScript.Quit
end if
 
'folders
dim fsSrc, fsDst, rootSrc, rootDst, dirsSrc, dirsDst, dirSrc, dirDst
'files
dim filesSrc, filesDst, fileSrc, fileDst
 
'create file system objects
set fsSrc = CreateObject("Scripting.FileSystemObject")
set fsDst = CreateObject("Scripting.FileSystemObject")
 
set rootSrc = fsSrc.GetFolder(WScript.Arguments(0))
set rootDst = fsDst.GetFolder(WScript.Arguments(1))
 
set dirsSrc = rootSrc.SubFolders
set dirsDst = rootDst.SubFolders
 
for each dirSrc in dirsSrc
  set dirDst = dirsDst.Item(dirSrc.name)
 	
  set filesSrc = dirSrc.Files
  set filesDst = dirDst.Files
  for each fileSrc in filesSrc
    set fileDst = filesDst.Item(fileSrc.name)
 		
    fileDst.DateLastModified = fileSrc.DateLastModified
  next
 	
next
 
WScript.echo
WScript.echo "Done."
WScript.echo
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And guess what! It still doesn't work! Turns out DateLastModified is a read-only property. It seems the only way forward is to wrap a port of the Unix touch program in a VBScript and attempt to call that. Who knows what dramas that will cause with date formats and whatnot.&lt;/p&gt;

&lt;p&gt;Sigh.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/AQfpI_A-qcs" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/AQfpI_A-qcs/000198.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000198.html</guid>
<category>Geek</category>
<pubDate>Tue, 18 Mar 2008 12:29:38 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000198.html</feedburner:origLink></item>

<item>
<title>Movable Type with multiple MySQL installations</title>
<description>&lt;p&gt;Yes, this site has been up and down like the groom&amp;#8217;s backside on wedding night over the last couple of days.&lt;/p&gt;

&lt;p&gt;My host installed MySQL5 alongside the existing MySQL4 and recommended everyone move their databases over. That part of the process was easy, but getting Movable Type to point at the new database was a bit of a challenge. The solution, in the end, was simple, so I hope this information helps others.&lt;/p&gt;

&lt;p&gt;Because both database engines are running on the same host as the server, a &amp;#8220;Socket&amp;#8221; setting is used to differentiate them. Specifically, we have:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;MySQL4 - Host: localhost, Socket: /tmp/mysql.sock
MySQL5 - Host: localhost, Socket: /tmp/mysql5.sock
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Apparently, many web applications accept a SQL host string in the format &lt;code&gt;localhost:/tmp/mysql5.sock&lt;/code&gt;, but to my eyes this is a syntax clash, since one could reasonably specify a SQL host running on port 6666 as &lt;code&gt;localhost:6666&lt;/code&gt;. Indeed, it seems different parts of Movable Type accept different syntaxes.&lt;/p&gt;

&lt;p&gt;The problem in particular, is that &lt;code&gt;mt.cgi&lt;/code&gt; (on the admin side) will happily use a DBHost, DBPort and DBSocket setting, &lt;code&gt;ezsql&lt;/code&gt; (on the client side) will not. After significant investigation (ie. lots of trial and error), I found these in mt-config.cgi settings to work:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;### MySQL Configuration - Add the name of your database, username
# password and, optionally database host given to you by your web 
# hosting provider.
#
ObjectDriver DBI::mysql
Database database_name
DBUser username
DBPassword password
DBHost localhost:/tmp/mysql5.sock
DBSocket /tmp/mysql5.sock
&lt;/code&gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/rGoRNM6VsUU" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/rGoRNM6VsUU/000197.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000197.html</guid>
<category>Geek</category>
<pubDate>Wed, 12 Mar 2008 10:23:13 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000197.html</feedburner:origLink></item>

<item>
<title>Transformations</title>
<description>&lt;p&gt;Making progress on house type things. To make it worthwhile I really need to find blocks of 4+ free hours, and they don't come by very often. Makes for slow progress and frustration, but I'm determined to get there.&lt;/p&gt;

&lt;p&gt;It's nice to have before, during and after photos to look back on. Read on for the pictorial review.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/26rL291xJcc" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/26rL291xJcc/000196.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000196.html</guid>
<category>General</category>
<pubDate>Tue, 11 Mar 2008 16:53:02 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000196.html</feedburner:origLink></item>

<item>
<title>Being pedantic</title>
<description>&lt;p&gt;I'm a geek. I'm pedantic, particular, picky, and do my grocery shopping by mentally calculating the best deal per weight or volume. Tonight, after over filling my shopping basket, I tried to get money out on top of my $50 of groceries. To my surprise, the transaction was rejected, but proceeded without the extra cash.&lt;/p&gt;

&lt;p&gt;It turned out my mortgage repayment had come out a little early than I expected. You see, I literally try to put every spare dollar I have into the mortgage. This has worked very well for the last few months, but I've had a few close calls around the time the automatic payment comes out.&lt;/p&gt;

&lt;p&gt;Checking my bank balance tonight confirms that indeed, the mortgage payment went through this evening. Subtract another $50.06 for the groceries and I'm left with 22 &lt;b&gt;cents&lt;/b&gt; in the bank. And that, ladies and gentleman, is why I buy cat food by the Woolworth Select 100mL tins for $1.00 each, rather than the bulky looking 200mL tins at $2.06 each. Four of the larger tins instead of eight of the smaller would have cost me 24 cents extra, and made for a particularly embarrassing checkout experience.&lt;/p&gt;

&lt;p&gt;Praise be to obsessive compulsive tendencies.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/eOAUIPoJQYk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/eOAUIPoJQYk/000195.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000195.html</guid>
<category>General</category>
<pubDate>Tue, 11 Mar 2008 00:57:55 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000195.html</feedburner:origLink></item>

<item>
<title>Legally order first, think second</title>
<description>&lt;p&gt;I'm all for trademark protection. Trademark infringements can cut to the core of a business, jeopardising their identity and reputation. But sometimes you just have to wonder - do lawyers representing a company sit around waiting for some infringement to weigh in on, without needing to consider worthwhile business practices? I'm convinced that when a company develops a sufficiently significant public image, lawyers are given free range to pursue legal matters, regardless of business sense.&lt;/p&gt;

&lt;p&gt;One the one hand you have companies that appear, to the public, to be mostly lawyers, and are therefore probably conducting business as normal by suing their customers. But this is not about RIAA-like companies.&lt;/p&gt;

&lt;p&gt;This is about companies with generally positive public perception, performing bizarre acts to alienate their most passionate customers. There are many examples, but this is the one that caught my eye today:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.dailymail.co.uk/pages/live/articles/news/news.html?in_article_id=526088&amp;in_page_id=1770"&gt;http://www.dailymail.co.uk/pages/live/articles/news/news.html?in_article_id=526088&amp;in_page_id=1770&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ferrari are demanding that a UK car modification enthusiast remove all the Ferrari badges from his stretched Ferrari 360 Modena. Sure, it's a textbook case of a trademark being used outside OEM specifications. But is that all it takes to justify a legal team to get to work a) pissing off a car enthusiast with affluent customers, and b) demonstrating to the world that Ferrari is a cranky brand with litigious lawyers who are not afraid to bully their customers?&lt;/p&gt;

&lt;p&gt;There exists now, many companies that seek out the ground level trend setters and brand adopters, and nurture them. Imagine the potential here: for no outlay from Ferrari, their brand is in the Guinness Book of Records for the fastest limo, customers who are interested in unique and prestige cars are getting exposure to the Ferrari brand, and you have a new, passionate group of car enthusiasts taking interest in Ferrari. I understand you don't want to dilute the brand, and need to avoid setting a precedent, but you have to ask, why did demanding the behaviour of your customers in regard to their purchases become common business practice?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/8pZ-WWEyLns" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/8pZ-WWEyLns/000194.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000194.html</guid>
<category>General</category>
<pubDate>Thu, 06 Mar 2008 21:36:16 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000194.html</feedburner:origLink></item>

<item>
<title>Seeing is believing</title>
<description>&lt;p&gt;The skeptical often discard a new idea by claiming "I'll believe it when I see it!". I'm sure most of us tend to consider seeing something with our own eyes as the crucial step in confirmation. In fact, we naturally tend to trust that what we see through our eyes is precisely what is in the world around us.&lt;/p&gt;

&lt;p&gt;Despite this, there are some pretty convincing optical illusions out there.&lt;/p&gt;

&lt;p&gt;&lt;img src="/blog/images/Heringillusion4.png" alt="Hering Illusion" title="" /&gt;
&lt;img src="/blog/images/Ebbinghausarealillusion.jpg" alt="Ebbing Hausareal Illusion" title="" /&gt;
&lt;img src="/blog/images/cafewall.png" alt="Cafewall" title="" /&gt;
&lt;img src="/blog/images/shepard.png" alt="Shepard" title="" /&gt;&lt;/p&gt;

&lt;p&gt;In the images above respectively, there is no bowing of the lines, the centre circles are the same size, the horizontal lines are straight and the rectangles are the same size and shape. Images are from &lt;a href="http://www.psy.ritsumei.ac.jp/~akitaoka/cataloge.html"&gt;Akiyoshi's illusions pages&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In these circumstances our faith in our eyesight fails us, yet we can generally explain them away as unrealistic contrivances. Since I began painting the house however, I've gradually become less and less confident of the ability of my eyes to deliver a reliable picture...&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/hqmjSlYHuG4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/hqmjSlYHuG4/000193.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000193.html</guid>
<category>General</category>
<pubDate>Fri, 29 Feb 2008 14:14:18 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000193.html</feedburner:origLink></item>

<item>
<title>It might not be their fault!</title>
<description>&lt;p&gt;It might not be their fault directly, that is.&lt;/p&gt;

&lt;p&gt;Ever noticed an unusually high correlation between those people with tongue piercings and those people with peculiarly uncoordinated physical motions? Turns out there might a causation link:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/12522766?ordinalpos=1&amp;itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.Pubmed_RVDocSum"&gt;Cerebellar brain abscess associated with tongue piercing.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The abstract claims that "[the evidence] suggests that infection of the tongue piercing site was the source of the cerebellar abscess". So if you've ever wondered whether there might be something amiss upstairs in those that decide to insert a metal bar through their primary taste organ, now you have some medical research to back you up.&lt;/p&gt;

&lt;p&gt;Incidentally, I've never noticed the correlation I proposed at the top of this post. In fact I've never consciously questioned the cerebellar integrity of those with tongue piercings specifically because of the tongue piercing. Truth be told, I actually think a female tongue piercing can be kind of hot. I just thought it would be a nicely controversial piece of rhetoric to divide the audience.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/tr-KyVTxMzY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/tr-KyVTxMzY/000192.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000192.html</guid>
<category>General</category>
<pubDate>Thu, 31 Jan 2008 20:50:06 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000192.html</feedburner:origLink></item>

<item>
<title>2008, year of the ID</title>
<description>&lt;p&gt;I have a prediction. This year will be the year that single identification for the web becomes a reality. There are a number of big projects already underway with the intention of centralising all your account and personal details, for use by the myriad different online subscriptions you have.&lt;/p&gt;

&lt;p&gt;The big open community push is with &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;, who have a strong product. The precursors were things like Microsoft's Passport, which is a good example of how closed, proprietary solutions can never work. The real utility of this sort of service, like so many other social "Web 2.0" projects, relies on its uptake. An open identity can only be useful if it is compatible everywhere, and it will only be compatible everywhere if everyone starts using it, and everyone will only start using it if it's compatible everywhere. This is why typically it takes some serious commercial muscle to build a service like this. The downside is that abominations like MySpace and Passport emerge. The positive side is that without commercial muscle, an excellent product like Facebook has done very well, so there is hope for projects like OpenID yet.&lt;/p&gt;

&lt;p&gt;If you want to read more, there is even a Wikipedia entry on the topic called &lt;a href="http://en.wikipedia.org/wiki/Identity_2.0"&gt;Identity 2.0&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The prediction came to me as I was sorting through some email. Here's a snapshot of my "accounts" folder at the moment:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://s94.photobucket.com/albums/l119/l1teyear/crap/?action=view&amp;current=Picture9.png" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/crap/Picture9.png" border="0" alt="Email Accounts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's at least 15 accounts I've signed up and registered for in the last couple of months. That's 15 sets of credentials to remember and 15 lots of personal details I had to enter. And this is not an unusual month - it happens every month. As more and more of our life comes online, this is only going to increase. There's a reason every site displays the "Forgotten your password?" link so predominantly - very few people can remember all their passwords! Universal identification management is where it's at this year. Jump on the bandwagon now!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/4ElfV0Y5j_E" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/4ElfV0Y5j_E/000191.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000191.html</guid>
<category>Geek</category>
<pubDate>Wed, 30 Jan 2008 08:31:03 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000191.html</feedburner:origLink></item>

<item>
<title>Mathematical Pedagogy Analogy</title>
<description>&lt;p&gt;I've ranted before about the fallacy of arithmetic skills equating to mathematical skills, but it is probably no better illustrated than in discussions about timestables. There is a school of thought, and I believe it is slowly dying, that memorising timestables is worthwhile mathematical pedagogy. There are two situations I am regularly presented with that demonstrate this illusion: either someone shows that they too, are good at mathematics by rattling off a series of timestable entries; or, someone complains to me that maths sucked or they were not good at it, because they never could remember their timestables.&lt;/p&gt;

&lt;p&gt;Both situations demonstrate a failure on behalf of those people's eduactors. While familiarity with a few timestable entries can be a useful life skill, the disconnect between memorising timestables and possessing mathematics skills should be made clear in mathematics education. I'll pass this time on presenting a thorough explanation on why this is the case, and instead present a cute analogy that just occurred to me.&lt;/p&gt;

&lt;p&gt;Assuming you're a native and competent English speaker, can you voice the 5 vowels, and their corresponding long and short soundings in the English language? With some thinking, most English speakers will manage this. They may discover that they did not realise, prior to hearing the question, that the relationships between the vowel pronounciations and their long and short soundings are not at all obvious. For example, while the short 'o' sound sounds much like the letter's pronounciation, the same is not true for 'a'. Nonetheless, by thinking of simple words and working backwards, most competent English speakers will figure it out.&lt;/p&gt;

&lt;p&gt;Consider for moment what would happen if vowel soundings were taught like timestables. "The long 'e' sound is 'ee', the long 'a' sound is 'ah'..." and so on. Imagine the trouble you would have applying the information! Every time you came across another word you would have to refer back to your vowel sounding mnemonic and find the relevant sound. Imagine the time that would be wasted memorising relationships that any Joe Blow English speaker would be able to figure out, or if necessary, simply look up in a reference.&lt;/p&gt;

&lt;p&gt;Fortunately we are not taught English in that way. Generally it is assumed that people can consult a reference if necessary, and instead the depth, application and beauty of the language is presented and explored. Less mechanical, but more readily and widely applicable skills are developed along the way, allowing further exploration of the subject.&lt;/p&gt;

&lt;p&gt;Now you can probably guess where the analogy is going: imagine if mathematics were taught in the manner I've just described for English. Ignore for now the fact that the subjects require very different skills, and consider that any time spent memorising timestables may well be time wasted, and could be better spent exploring the depth, application and beauty of mathematics. A natural familiarisation with multiplication will develop over time and constructing a timestable will become relatively simple, just as constructing a table of vowel sounds would be to the average English speaker. Further, thanks to the human tendency to forget that which is not used, the average student may end up with a similar recall of the basic timestable anyway. The tradeoff however, may very well be mathematics students who have a diverse mathematical toolkit, an appreciation of the attractive qualities of mathematical reasoning and the ability to apply mathematical skills to new problems.&lt;/p&gt;

&lt;p&gt;Perhaps then, the practice of developing a timestable or a vowelstable should carry the same stigma of irrelevancy.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;Note this post has been edited for minor grammatical improvements in anticipation of submission in the Carnival of Mathematics. (18/2/2008)&lt;/small&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/l0G2JpwZqlg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/l0G2JpwZqlg/000190.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000190.html</guid>
<category>Rant</category>
<pubDate>Thu, 10 Jan 2008 13:45:01 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000190.html</feedburner:origLink></item>

<item>
<title>Another year, another financial "crisis"</title>
<description>&lt;p&gt;I was fortunate "ha!" enough to see a section of the TV news the other night and you know what? They're still pushing that fuel price crisis crap. The nightly news is only a pregnancy and mysterious stranger away from one of those Home and Neighbours dramas. As with those shows you only need to check in every six months to keep up with the story.&lt;/p&gt;

&lt;p&gt;Guess what was on the news this particular night? The new year has brought, gasp-horror, a greater cost of living! Well blow me down, but isn't inflation the normal way of the economy? Ring me when the cost of living goes down - that would be news.&lt;/p&gt;

&lt;p&gt;And what were they predicting? More expensive fuel. It could reach $2/L. Hang on, isn't that just what "could have" happened two months ago? Six months ago? A year ago? You can only flog that horse so many times before the statement becomes meaningless. Fuel could reach whatever it likes - how about reporting the news, not regurgitating alarmist catch-cries.&lt;/p&gt;

&lt;p&gt;Or better yet, how about the doomsday, sensationalist, blame-everyone-but-yourself stories are contained within the current affairs shows. It's clear there's plenty of dependant, forgetful, finger-pointing imbeciles who gobble that stuff up night after night. Leave the news programs for new stories that stretch the mind and cover the world, instead of taking a panning shot of the front pages of readily-available newspapers with a suggestive and misleading voice over, and calling that a news story.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/SDt4o8hm3cY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/SDt4o8hm3cY/000189.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000189.html</guid>
<category>Rant</category>
<pubDate>Sat, 05 Jan 2008 15:02:09 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000189.html</feedburner:origLink></item>

<item>
<title>I made it!</title>
<description>&lt;p&gt;Check out the finalists board at &lt;a href="http://alexbrie.net/braintower/"&gt;Brain Tower&lt;/a&gt;. After spending several days knocking off a few of the problems, I finally managed to complete all 25 levels and put my name up in lights. Judging by the names and websites of the other finalists, I might be one of the few native English speaking people to do so!&lt;/p&gt;

&lt;p&gt;There were some terrific puzzles along the way, from all aspects of mathematics. And naturally, each one conjured up a bunch of patterns I hadn't recognised before, demanding more investigation than was necessary to find the answer. Makes it pretty easy to flitter away many hours.&lt;/p&gt;

&lt;p&gt;There was one puzzle that stood out as the least well understood by me. Essentially it asked that given the roots of x^6 + x^3 + 1, what happens when you plug those roots into x^2 + x + 1 one at a time and add? Admittedly, my answer was an educated guess, and I still don't know a good way to prove it...&lt;/p&gt;

&lt;p&gt;Thanks very much to Alex Brie for posting the challenge.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/aB2ccwiCY9c" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/aB2ccwiCY9c/000188.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000188.html</guid>
<category>Geek</category>
<pubDate>Mon, 24 Dec 2007 14:13:04 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000188.html</feedburner:origLink></item>

<item>
<title>Why I love it here</title>
<description>&lt;p&gt;Tonight, some time after midnight, I arrived home and stepped out of my Commodore. As I was reaching my front gate I noticed some feverish movement in the dark, next to another Commodore parked a couple of cars down. It occurred to me that the dark shapes and accompanying rasping and grunting sounds were very similar to those you might expect if two men were trying to break into a car. A couple of steps in their direction revealed that this was very much the case.&lt;/p&gt;

&lt;p&gt;Armed with two hands full of Christmas presents and exactly zero plans, I called out "oi!". With a busy indifference, the two men were hardly distracted from their work as they responded to my call. Brandishing my 2008 Gary Larson calendar I approached the duo to discover my dodgy neighbour (we'll call him Frank, since that's his name) and a friend working fruitlessly on the car door. The car, so it was explained to me, belonged to the friend. He had managed to lock the keys inside, with the ignition in the accessories position. The dashboard lights confirmed that part of the story.&lt;/p&gt;

&lt;p&gt;I stood for a moment and watched Frank's pathetic, but awfully enthusiastic efforts, as he worked a thin coat hanger up and down the gap between the window and the door skin. Defiant that all he had to do was catch the lock and reef it up, I couldn't help but feel that Frank could use some assistance.&lt;/p&gt;

&lt;p&gt;And so there we were, one o'clock in the morning on the street in front of my home, me holding a torch and fiddling with the key lock, while my less than reputable neighbour was chaotically jamming a length of wire inside the door's metal frame.&lt;/p&gt;

&lt;p&gt;Frank however, had a plan. Not five minutes later, a bloke who knows a thing or two about opening locked car doors turns up on a push bike and quickly concludes that with the help of a screwdriver he'd have this door open in 20 seconds flat. Filled with the Christmas spirit of giving, I produced the required screwdriver, and Mr expert got to work. While the 20 second claim was clearly very optimistic, he was eventually true to his word, thanks in part to the unexpected synergy of three grubby men working together to achieve a goal.&lt;/p&gt;

&lt;p&gt;Not only did I learn a new skill tonight, I gave assistance in another's time of need. And that my friends, is where the really rewarding experience lives. Oh I do love it here.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/XB_RyB1rroM" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/XB_RyB1rroM/000187.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000187.html</guid>
<category>General</category>
<pubDate>Fri, 21 Dec 2007 00:55:42 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000187.html</feedburner:origLink></item>

<item>
<title>End of an era</title>
<description>&lt;p&gt;Today I took a deposit on my Patrol from a fella in Melbourne. The Patrol is an unregistered, old, clunky, rusty, incomplete car. It has also been my passion, my weekends, my long nights, my camping rig, my personal creation and my proudest possession for over 4 years.&lt;/p&gt;

&lt;p&gt;When I bought it for $3300 back in 2003, I had no idea what I was getting myself in for. All I knew was that it was a lot chunkier than my poor old Rocky.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/PRsideon.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_PRsideon.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I "quickly" set about adding a bullbar, changing the interior, installing a UHF, adding a 2" body lift in the driveway, and in a move that left me grinning ear from ear, added some 33" MT/Rs.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/MTRson-frontleft.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_MTRson-frontleft.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the cream paint looking more and more untidy, it was time for a face lift. With 4L of KillRust "Ultra Blue" and some cheap spray gear from SuperCheap, the transformation began.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/PatrolRespray-35.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_PatrolRespray-35.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By this time my driving aspirations had changed a lot, and the current setup would simply not do. It was time for a some body chopping, a home made rear bar, a 2" spring lift, a steel bullbar with brush bars and sliders, and some 35" MT/Rs.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/heath_car_01.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_heath_car_01.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My passion for bigger and better did not falter, and 2006 saw the addition of a 350 cubic inch Chev V8 and a rear ARB air locker.&lt;/p&gt;

&lt;p&gt;Then things started to change. I moved out of college, finished uni, bought a real car, and just recently, bought a house. Now the prospect of spending another weekend working on the Patrol, spending all I can manage, building and fixing, improving and tweaking, looks less and less attractive. There's nothing I love more than taking my "rig" out, that I've put my own blood, sweat and tears into, and taking it further than before. But with that passion comes a lot of sacrifice, and it is finally time to shift some priorities.&lt;/p&gt;

&lt;p&gt;I hope the new owner can make good use of my work, and build his own toy. I've never met the guy, but I suspect we share some of the same drive.&lt;/p&gt;

&lt;p&gt;I'm curious to see how the numbers stack up, so let's take a look:&lt;br /&gt;
Patrol: $3300&lt;br /&gt;
V8: $900&lt;br /&gt;
V8 installation: $400&lt;br /&gt;
Tyres: $1650&lt;br /&gt;
Barwork: $850&lt;br /&gt;
UHF: $350&lt;br /&gt;
Lights: $350&lt;br /&gt;
Locker: $1100&lt;br /&gt;
Gauges: $200&lt;br /&gt;
Engine parts: $500&lt;br /&gt;
Suspension: $600&lt;br /&gt;
Miscellaneous: $1000&lt;/p&gt;

&lt;p&gt;Sold for $2800. That puts the value of my entertainment at about $2000/year. I actually think that's pretty fair.&lt;/p&gt;

&lt;p&gt;One last thought of interest, is that about 15 months ago I wrote a post for this blog. I didn't post it though, because I was ashamed. I think now's the time to post it:&lt;/p&gt;

&lt;blockquote&gt;Yesterday I spent the entire day working on the car. Again. I removed a broken gearbox mount, modified it, combined it with a modified spare one, and bolted it all back together. It's awesome. Holds the gearbox well. I also coated the timing cover with gasket goo, re-did the gasket for the rear differential, topped the fluids up, patched the transmission tunnel up, tidied the interior, cleaned up a bit of wiring, fabbed up a temporary mount for the exhaust and went for a drive.

&lt;p&gt;Oil pissed out of the front of the engine, was dripping out of the rear, the thermos couldn't cool the engine and the idle steadily climbed to 2000 rpm. By the time I arrived home the coolant was boiling, the oil was below the dipstick mark, the engine was running on, the goo and oil had sprayed itself over the front differential, the sump, and most of the front of the engine bay. I'm pretty much over it.&lt;/p&gt;

&lt;p&gt;I really can't wait to go four wheel driving again, take it camping, explore the new possibilities with the engine, on-board air and rear locker. You simply can't buy what I've built for myself. But the money and time required to get it to four wheel driving condition again is very difficult to justify. I'm at a bit of a loss.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/DSCF0086.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_DSCF0086.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/Hillsborough-07.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_Hillsborough-07.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/CarparkWheeling-3.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Patrol/th_CarparkWheeling-3.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/ltrpyD1SnVY" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/ltrpyD1SnVY/000186.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000186.html</guid>
<category />
<pubDate>Sat, 15 Dec 2007 18:44:44 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000186.html</feedburner:origLink></item>

<item>
<title>A win for the consumer!</title>
<description>&lt;p&gt;This morning I prepared myself for another impassioned discussion with Chris at Kelly Holden over the case of my car warranty. I had rung yesterday and managed to calmly deflect some rhetorical back-peddling and slightly accusatory righteousness to position Chris in a logical corner and on the back foot.&lt;/p&gt;

&lt;p&gt;This morning's conversation began with "Hi Heath, I have some good news!". Chris had spoken to his manager and they'd decided that yes, it was reasonable for me to assume I had a warranty and that in fact, they were willing to officially write me up the 3-year used car warranty I thought I had.&lt;/p&gt;

&lt;p&gt;Of course, I'm oblidged to get Kelly Holden to do 6 month services and I've already "used up" 1 year of the 3 year warranty, but I'll take this as a favourable resolution. Yes, I'm still not happy with what's actually covered under the warranty, but I do have to take some responsibility for not double-checking my salesman's claims - a very handy lesson to learn!&lt;/p&gt;

&lt;p&gt;In conclusion, I believe Kelly Holden were guilty of some less than moral practices but ultimately have handled the matter with respect. Chris even acknowledged that they needed to change their practices to make the warranty situation more obvious, and I believe that's one of the best things to come out of this episode. &lt;b&gt;My kudos to Kelly Holden for the resolution&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;Thanks too, to those that gave moral support in the matter.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/e1grCsnq48Y" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/e1grCsnq48Y/000185.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000185.html</guid>
<category>Rant</category>
<pubDate>Tue, 11 Dec 2007 09:57:44 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000185.html</feedburner:origLink></item>

<item>
<title>Robbed blind by Kelly Holden</title>
<description>&lt;p&gt;Oh this story gets a whole lot richer. When I went to pick the car up I mentioned that I thought the $66 gotcha fee was quite rude, particularly given I explicitly asked no work be done unless it was covered under warranty. "Warranty? What warranty?", asks the service dude. Oh beauty, here we go again I thought. Only this time the saga unfolded a little differently. Instead of trying to belittle me by explaining why the fuel sender is electronic and therefore not covered under my warranty, this bloke quickly determined that indeed the job is covered under that warranty. There was one problem though - none of the paperwork they had had any indication of a warranty.&lt;/p&gt;

&lt;p&gt;I went through the story again, explaining that it was a Holden Certified Used Vehicle and had a 3 year extended warranty. Old bud was quite adamant that no such warranty was recorded against the vehicle. We even went out to the car and flicked through all the paperwork in the glove box. Service dude pointed to an empty, unmarked box on one of the sale papers. "See there, that's where your contract warranty number should be recorded. Sorry mate, we can't do anything about that here, you'll have to chase that up with the guys at the Gateshead store. Oh yeah, that'll be $66".&lt;/p&gt;

&lt;p&gt;I was very quickly running out of time for the day, but knowing it would be some time before I could get to Gateshead, I hightailed straight to the shop from Cardiff. I explained my case to the store manager, who pointed to the unmarked box, questioning why I didn't check that the warranty was listed there. I explained to him that this was my first Holden and I wouldn't know what should appear there to miss it.&lt;/p&gt;

&lt;p&gt;He made a few calls for me, checked some data out, and even managed to find the original sale documentation. Unfortunately there was nothing listed indicating any warranty of any kind. He even rang my salesperson, who calmed recalled that it was sold without a warranty. I quietly excused my rudeness, and asked whether this salesperson was known to be shady. He replied that he understands the reason for the question, but doesn't know. I waited at the counter for 15 minutes while he rang some head honchos. Then he came back with the doosy. They do not provide a warranty at all, not even the statutory warranty, for "commercial" vehicles. He then tied himself in knots trying to explain why it was a commercial vehicle. All the time I was thinking to myself I don't care if you class it as a space shuttle, the long and short is I've been screwed. Nonetheless, he rambled on for sometime before I urged him to get to the point. The point is, my Crewman has had absolutely no warranty from the moment I bought it. I was repeatedly assured that my "Holden Certified Used Vehicle" came with a 3 year warranty only to be sold a "commercial" vehicle with not a whisker of a warranty.&lt;/p&gt;

&lt;p&gt;By this time I really had to go, so I thanked the fella for his enquires and discussion. I concluded that the fact is I have been pulled a swift one on a $33000 vehicle, been outright lied to and deceitfully talked into spending a considerable markup based on pretenses. Subsequently I've endured time-wasting and disappointment at the service centre, and most recently, have been cheated out of almost $1000 worth of repair. I told the Kelly Holden guy I will follow the matter up next week and definitely intend to do so. My method will be to explain the debacle, ask for compensation, and in the case of non-action do my upmost to ruin the goodwill of the Kelly Holden business. My beef is with the salesman, who I consider to be a despicable person, but as he was representing the company, the company will be my first avenue of pursuit.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/3A87aHaWTIs" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/3A87aHaWTIs/000184.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000184.html</guid>
<category>Rant</category>
<pubDate>Sat, 08 Dec 2007 15:08:59 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000184.html</feedburner:origLink></item>

<item>
<title>Holden Certified Vehicle Warranty officially bullshit</title>
<description>&lt;p&gt;The fuel gauge stopped working on the Crewman recently. Rang the chick at Kelly Holden to see whether this might be covered under my &lt;a href="http://heath.hrsoftworks.net/archives/000142.html"&gt;favourite warranty&lt;/a&gt;. She said if the fault was in the dash electronics probably not but if it was in the sender it might be covered. Since the dash electronics were otherwise working correctly and in sync with the gauge, I was pretty confident the sender was the problem so booked the car in.&lt;/p&gt;

&lt;p&gt;Get the call this morning saying the electronics check out so the fault is in the sender. The sender and fuel pump are the same thing though so that's a $920 repair. Not covered by warranty I ask? No he says, cause it's an electrical item. I mention the fact that a sender consists of a mechanical float attached to a mechanical lever, while the fuel pump is a pump, and he says yeah, good point, it's a grey area. But nah, he concludes, the warranty is for drive line stuff not this.&lt;/p&gt;

&lt;p&gt;I quickly decide against paying $920 to fix a fuel gauge, and say I'll pick up the car later. Then he lets me know about a "diagnostic fee". A what I ask? $66 you owe us. I tell him this is the first I've heard of it and that I asked to be given a call before any work was done if it wasn't covered under warranty. Oh he says, well it's $66 or no car.&lt;/p&gt;

&lt;p&gt;Conclusion: Holden Certified Vehicle = poo. Going to a mechanic at all = bend over. Not friggin happy.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/LRIvio-k9AI" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/LRIvio-k9AI/000183.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000183.html</guid>
<category>General</category>
<pubDate>Fri, 07 Dec 2007 10:49:02 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000183.html</feedburner:origLink></item>

<item>
<title>Low-riding Crewman</title>
<description>&lt;p&gt;I've recently been planning some shuffling of automobiles, intending to sell both the Patrol and the Crewman. The replacement will probably be some small car and I'm leaning towards a fun, road-orientated 4wd so I can still get onto the beach and out along the dirt tracks.&lt;/p&gt;

&lt;p&gt;Here's the kind of thing I'm thinking of:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Crewman/RIMG0562.jpg" target="_blank"&gt;&lt;img src="http://s94.photobucket.com/albums/l119/l1teyear/Crewman/th_RIMG0562.jpg" border="0" alt="Photo Sharing and Video Hosting at Photobucket"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Okay, maybe not, but it does get the creative juices flowing! This is my Crewman with 42" Super Swamper TSL's rolled up to it. They seriously dwarf a seriously large car.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/kaHjFHSd6qA" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/kaHjFHSd6qA/000182.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000182.html</guid>
<category>General</category>
<pubDate>Mon, 03 Dec 2007 07:16:45 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000182.html</feedburner:origLink></item>

<item>
<title>Earning your keep</title>
<description>&lt;p&gt;Not being one to see a great deal of TV, I&amp;#8217;ve noticed a naivety in myself. It reminds me of those kids at school who grew up without a TV - when they did sit down in front of a friend&amp;#8217;s TV they would point at the screen and cry, &amp;#8220;did you see that?&amp;#8221;, when clearly, everyone did. It&amp;#8217;s not that they think their friend&amp;#8217;s eyesight is bad, but that without a regular feed of TV culture, the content takes on a whole new significance. In fact, in many cases I believe the TV-ignorant viewer is seeing something the others are not.&lt;/p&gt;

&lt;p&gt;It is with this naivety that I saw part of &amp;#8220;Are You Smarter Than A 5th Grader&amp;#8221; tonight. Not being well trained enough to persevere through the languishing melodrama that accompanied every question, I nonetheless saw enough to make the following observations, which when singled out, might make for a curious reflection.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is possible, in 2007, to earn more than 2 years typical salary by knowing what word beginning with &amp;#8216;H&amp;#8217; describes the natural environment of a plant or animal.&lt;/li&gt;
&lt;li&gt;It is equally possible to sacrifice more than 3 years typical salary by not knowing which year Australia&amp;#8217;s Federation began.&lt;/li&gt;
&lt;li&gt;The power of broadcast television allows a reward, equivalent to about 5 years of vocation after about 4 years of specialist training, to be given to someone who can demonstrate recall of primary school level knowledge.&lt;/li&gt;
&lt;li&gt;There exists an industry that relies on the ability of people with below average intelligence to demonstrate an exceptionally convincing show of tantalising drama.&lt;/li&gt;
&lt;li&gt;By distracting TV audiences with a well orchestrated carrot on a stick, it is possible to fit in enough advertising to make a profit above seven figure expenses.&lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/nT_5Hhizr-c" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/nT_5Hhizr-c/000181.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000181.html</guid>
<category>General</category>
<pubDate>Thu, 29 Nov 2007 19:36:16 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000181.html</feedburner:origLink></item>

<item>
<title>In case you're still deciding</title>
<description>&lt;p&gt;You know... &lt;a href="http://xkcd.com/store/"&gt;christmas&lt;/a&gt; is not that far away.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://xkcd.com/208/"&gt;Regular Expressions Shirt&lt;/a&gt; and &lt;a href="http://xkcd.com/55/"&gt;Useless&lt;/a&gt; are good.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/Pvt7eLN8Sqs" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/Pvt7eLN8Sqs/000179.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000179.html</guid>
<category>General</category>
<pubDate>Mon, 19 Nov 2007 00:20:16 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000179.html</feedburner:origLink></item>

<item>
<title>Find Muck</title>
<description>&lt;p&gt;I've watched a bunch of clips from the &lt;a href="http://www.ted.com/index.php/"&gt;TED&lt;/a&gt; converence. From what I've read and seen it looks like a real mind-blowing conference. In an environment filled with intellectuals and creative geniuses, it would be hard to critique the information delivered, let along provide any sensible ranking.&lt;/p&gt;

&lt;p&gt;Nonetheless, when I watched the presentation by Vilayanur Ramachandran, I had an immediate favourite.&lt;/p&gt;

&lt;p&gt;Naturally, my opinioned is skewed by the fact that Ramachandran's presentation happened to include topics I already find fascinating: synesthesia, creativity, and the connection between awareness and emotion. The clincher for me though, was the investigation based on brain defects - the idea that if we have cases of brains with sections that are not functioning properly, than we can deduce how parts of the brain contribute to its overall function. I am constantly aware of the effect of my own, relatively minor brain damage, and this line of reasoning really strikes a chord with me.&lt;/p&gt;

&lt;p&gt;Additionally, Ramachandran's delivery is so captivating yet unorthodox, confident yet humble, it's hard to look away. I particularly love that classic Indian trait of meticulously clinical and calculated speech.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.ted.com/index.php/talks/view/id/184"&gt;http://www.ted.com/index.php/talks/view/id/184&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/6h_S5WhEXIk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/6h_S5WhEXIk/000178.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000178.html</guid>
<category>General</category>
<pubDate>Tue, 13 Nov 2007 08:05:25 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000178.html</feedburner:origLink></item>

<item>
<title>Powerboard safety</title>
<description>&lt;p&gt;You know those 4 socket power boards that every man and his dog has in their homes? A friend recently offered an exemplary reminder of their hazard potential.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/LastImport-16.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/th_LastImport-16.jpg" border="0" alt="Fried powerboard"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/LastImport-17.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/th_LastImport-17.jpg" border="0" alt="Fried powerboard"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/LastImport-18.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/th_LastImport-18.jpg" border="0" alt="Fried powerboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note that this one had some water from a leaking fishtank dripping into it, but it's still an impressive demonstration of just how hot these things can get without tripping.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/nV99zmdc_jk" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/nV99zmdc_jk/000177.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000177.html</guid>
<category>General</category>
<pubDate>Sun, 04 Nov 2007 11:19:11 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000177.html</feedburner:origLink></item>

<item>
<title>Captcha justification</title>
<description>&lt;p&gt;In implementing the &lt;a href="http://heath.hrsoftworks.net/archives/000155.html"&gt;captcha&lt;/a&gt; for this blog, I mused about raising the intellectual bar for satisfying the captcha question. I decided against doing so to maintain the values of freedom of expression and accessibility I uphold.&lt;/p&gt;

&lt;p&gt;The other day this decision was plainly justified, when this &lt;a href="http://heath.hrsoftworks.net/archives/000127.html#comment-49906"&gt;gem of a comment&lt;/a&gt; was allowed to pass through the system.&lt;/p&gt;

&lt;blockquote&gt;hi i think this is odd you used too many big words in the txt above god man! and c mon i dont get it what does it actully do and cost well ummmmmmmmmmmmmmmmmmmmmmm ur just freaky kk.....
COMPUTER FREAK!!! THATS WHAT YOU ARE!! C-O-M-P-U-T-E-R F-R-E-A-K!!!

&lt;p&gt;Posted by: Jerry Springer&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;I feel like I've just ridiculed Britney Timberlake, and have become the target for the illiterate and raving masses. Nonetheless, I'd abhor any decision that might prevent "Jerry Springer" from displaying his caps lock key prowess and his unique ability to emphasise an otherwise insipid point.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/_rOSj3PbpyM" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/_rOSj3PbpyM/000176.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000176.html</guid>
<category>General</category>
<pubDate>Tue, 30 Oct 2007 23:32:55 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000176.html</feedburner:origLink></item>

<item>
<title>Hazards of kicking defenceless pine</title>
<description>&lt;p&gt;Remember my &lt;a href="http://heath.hrsoftworks.net/archives/000164.html"&gt;attack on wood&lt;/a&gt;? Turns out it wasn't doing my foot much good. When I was first practising the move I was basically using the bridge of my foot. I have very limited feeling in that foot, so wasn't fazed by the impacts.&lt;/p&gt;

&lt;p&gt;A couple of days later, it looked like this:&lt;br /&gt;
&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Me/LastImport-06.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Me/th_LastImport-06.jpg" border="0" alt="Bruised foot"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Me/LastImport-07.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Me/th_LastImport-07.jpg" border="0" alt="Bruised foot"&gt;&lt;/a&gt;&lt;a href="http://i94.photobucket.com/albums/l119/l1teyear/Me/LastImport-09.jpg" target="_blank"&gt;&lt;img src="http://i94.photobucket.com/albums/l119/l1teyear/Me/th_LastImport-09.jpg" border="0" alt="Bruised foot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Weird ay? I change my technique for the demo day to kick with the ball of my foot. There's an odd ridge and some discolouration still present on the bridge of my foot, but no pain or loss of movement that I can tell.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/NTTyr2bdur4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/NTTyr2bdur4/000175.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000175.html</guid>
<category>General</category>
<pubDate>Thu, 25 Oct 2007 23:37:20 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000175.html</feedburner:origLink></item>

<item>
<title>Define Your World</title>
<description>&lt;p&gt;One of my favourite pieces of regular &lt;a href="http://www.urbandictionary.com/define.php?term=bacn"&gt;bacn&lt;/a&gt; that I receive is &lt;a href="http://www.urbandictionary.com"&gt;UrbanDictionary's&lt;/a&gt; word of the day. As a lover of most things language related, and in particular its reflection of culture, I find UrbanDictionary a very entertaining resource.&lt;/p&gt;

&lt;p&gt;I'm graced with friends that are not so creatively stunted by process and precision as I am, and thus, through them I enjoy a regular source of extra-dictionary words. A few choice examples, and my own humble additions are found &lt;a href="http://www.urbandictionary.com/author.php?author=Heath+Raftery"&gt;here&lt;/a&gt;. Have a look, and if you identify with any of the words there, be sure to give them a few thumbs up.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/cUnXs7dGD4Y" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/cUnXs7dGD4Y/000172.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000172.html</guid>
<category>General</category>
<pubDate>Tue, 23 Oct 2007 16:30:08 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000172.html</feedburner:origLink></item>

<item>
<title>Gesturcons</title>
<description>&lt;p&gt;It has come to my attention that the expression "ah" has approximately eleventy billion different meanings. In face to face conversation, the intention is usually narrowed down to a handful of partially related meanings by the accompanying physical gestures. Typically, the context of the utterance is then enough to allow the listening party to pare the candidates down to something quite similar to the voicing party's intent.&lt;/p&gt;

&lt;p&gt;This process does not translate well to written communication.&lt;/p&gt;

&lt;p&gt;I propose a supplementary method of written expression when using the onomatopeia of sounds made during speech. Words like "ah", "oh", "ha" and "huh" shall optionally, but usually, be suffixed with one of the following characters:&lt;/p&gt;

&lt;p&gt;^ for shock, surprise&lt;br /&gt;
v for deep thought, disdain or skepticism&lt;br /&gt;
w for incredulousness or disbelief&lt;br /&gt;
/ for playfulness or jest&lt;/p&gt;

&lt;p&gt;These symbols arrive, naturally, from the shape of the eyebrows and brow one typically displays when expressing the relevant emotion. The images suggested by the symbols are raised eyebrows, furrowed eyebrows, eyebrows squeezed together and one eyebrow raised, respectively.&lt;/p&gt;

&lt;p&gt;A few examples of the resulting "gesturcons" follow. It is beneficial to mimic the gesturcon with your own eyebrows, as you read the sentence.&lt;/p&gt;

&lt;p&gt;"huh^ what just happened? Did I just pass out?"&lt;br /&gt;
"ahv, I really don't think you should be doing that!"&lt;br /&gt;
"mmmw You sound like you're spinning me a pile of bovine crap."&lt;br /&gt;
"oh/ Does that mean I'm going to get a spanking now?"&lt;/p&gt;

&lt;p&gt;Starting to get the picture?&lt;/p&gt;

&lt;p&gt;Alternative names for these devices include "gesticons", "expressicon", "kinesicons", "suggestymbol", "sigbol" and "synmbol".&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/i8V0AylprUg" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/i8V0AylprUg/000173.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000173.html</guid>
<category>General</category>
<pubDate>Thu, 18 Oct 2007 08:10:51 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000173.html</feedburner:origLink></item>

<item>
<title>Overheard at the hairdressers</title>
<description>&lt;p&gt;Sometimes I have the kind of good hearty chuckle that helps you realise that you're doing just fine. Today, as I sat having my mop attended to, I had one of those moments.&lt;/p&gt;

&lt;p&gt;A slender lady of maybe 30 hard years came and sat in the chair next to me. She wore long whispy blonde hair over her shoulders and quickly informed her hairdresser that they were extensions. She was in to have the darker areas that were appearing at the back of her head ("you know") bleached out a bit ("you know"). Since she had no inhibitions about talking, and I was within earshot, I came to learn a bit about this lady.&lt;/p&gt;

&lt;p&gt;"Obviously you guys are really good. Cause it was really busy in here, so I just came in cause I thought, well they obviously are really good. You know? Like I can just tell things like that."&lt;/p&gt;

&lt;p&gt;"I was thinking about maybe getting some black in there, like maybe her over there. Cause you know, like my girlfriend has it and I just love, you know, like interesting hair."&lt;/p&gt;

&lt;p&gt;The hairdresser showed great training, and fielded the inane comments with skill and tact. Always on hand to give the expected response, "Yep, you're right." or "I know what you mean", she also handled the curly ones with calculated efficiency.&lt;/p&gt;

&lt;p&gt;In response to the queries about black dye, the hairdresser responded, "Well with black tint on blonde, once it's in it's in. So we're not going to do it on a whim today. You're the kind of person that likes to try things and then changes their mind later, so why not just get the hair additions to try out a bleak streak?"&lt;/p&gt;

&lt;p&gt;Anyway, blonde girl continued her revealing monologue.&lt;/p&gt;

&lt;p&gt;"Cause my Dad's a laywer here and so I might be in with him and then I can just pop over here, you know?"&lt;/p&gt;

&lt;p&gt;"Cause I'm a single mum, like I'm not with my husband any more. Do you, I mean, do any of you girls know how you live with rent and a baby and stuff? Like she's 8 months and I only get like $70 from the Dad and I might want to go shopping."&lt;/p&gt;

&lt;p&gt;Hairdresser was quick to offer a hand: "Well, you get a job.".&lt;/p&gt;

&lt;p&gt;"Yeah. No what I want is one of those guys. Um, yeah, Sugar Daddies. I mean he should care for me too. And he should be impotent."&lt;/p&gt;

&lt;p&gt;Now I was really starting to enjoy it, and began to chuckle to myself. I suggested to my own hairdresser that perhaps she meant "sterile" or "asexual", not "impotent", but didn't want to ruin the fun by correcting her.&lt;/p&gt;

&lt;p&gt;When blonde girl was offered a magazine, she declined, saying she had some homework to do. I was intrigued. What sort of homework could this girl possibly be doing? I was too far away to see the papers she was holding, but I needn't have worried - blonde girl was not afraid to share.&lt;/p&gt;

&lt;p&gt;"What does this mean? 'Are you a dependant person when it comes to conducting day to day activities'. Does that mean, like, am I dependant or are others dependant?"&lt;/p&gt;

&lt;p&gt;At this point I threw her a lifeline by explaining the question. It took great self-control to avoid voicing the assertion that by asking others to explain the question, she had already answered it.&lt;/p&gt;

&lt;p&gt;"Oh, no, like I'm not dependant. Yeah, like I don't need others to do stuff like that".&lt;/p&gt;

&lt;p&gt;It appeared she was doing some sort of psychology assessment, perhaps as part of the custody process for her kid? I was quite concerned that she was doing her own, but I'm sure there would have been cross checks... The next one was a doozy.&lt;/p&gt;

&lt;p&gt;"What's inept?"&lt;/p&gt;

&lt;p&gt;My second lifeline: "No good. Unskillful."&lt;/p&gt;

&lt;p&gt;"Oh. Ha, I'm not inept. No, I'm good. Yeah that's fine."&lt;/p&gt;

&lt;p&gt;"Jees this thing sounds like it is for mental people or something. Like, I'm not mental or anything."&lt;/p&gt;

&lt;p&gt;Hairdresser girl pipes up, "Do you think mental people know that they're mental?"&lt;/p&gt;

&lt;p&gt;"Yes! I mean, no, but I know. Like I know enough to know. Cause I get really bad depression. Like I was in hospital with depression."&lt;/p&gt;

&lt;p&gt;Unfortunately my haircut was done by this point, but I did leave carrying a wry smile.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/HfPgOBfu7WM" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/HfPgOBfu7WM/000174.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000174.html</guid>
<category>General</category>
<pubDate>Tue, 16 Oct 2007 06:47:31 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000174.html</feedburner:origLink></item>

<item>
<title>Stop Wasting Time</title>
<description>&lt;p&gt;This is a quintessential episode in the story of my day to day life at the moment. I have feeds of articles from various sources that I check every day. I tend to read as many of them as I can, as I come across them. Those that I don't have time for I'll leave open to read later.&lt;/p&gt;

&lt;p&gt;As I currently have some spare moments (hence a blog post!), an opportunity arises to review the articles I've stored up. And what appears as the oldest neglected article on my list? Wired's "How To", titled "Stop Wasting Time Online".&lt;/p&gt;

&lt;p&gt;Now I'm faced with a dilemma, for the article might be a trap! If I am indeed interested in learning how to stop wasting time online, would it not be self-defeating to go back and read this article that I've blissfully done without for so long? What if the first paragraph in the article reads "Step One: stop reading these articles. Step Two: see step one"? On the other hand, perhaps if I had prioritised the article a little higher, I would have learned techniques resulting in several hours more spare time by this moment.&lt;/p&gt;

&lt;p&gt;In any case, the fact that after almost a week I am finally getting back to an article about wasting time, stands as a sweetly ironic reflection of the schedule I keep.&lt;/p&gt;

&lt;p&gt;By the way, I snuck a glance at the tail of the article in search of a date, and was particularly amused by the sole comment. It reads "I am going to write a how to on how to block wired out of my router. That will save time."&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/VzrPi68WvA4" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/VzrPi68WvA4/000171.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000171.html</guid>
<category>General</category>
<pubDate>Thu, 11 Oct 2007 23:45:33 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000171.html</feedburner:origLink></item>

<item>
<title>Carnival of Mathematics #18</title>
<description>&lt;p&gt;The 18th Carnival of Mathematics is up on &lt;a href="http://jd2718.wordpress.com/2007/10/06/carnival-of-math-18/"&gt;JD2718&lt;/a&gt; and Jonathan was kind enough to invite another submission from me. I oblidged with my post on the Order 8a magic star puzzle, only to today realise that it was already included in the 2nd carnival! Ooops! Perhaps with the algorithm update mentioned in the comments, it was worth revisiting...&lt;/p&gt;

&lt;p&gt;Anyway, enjoy the latest carnival. If you recognise the pattern in the numbers in Jonathan's blog name, you're probably one of those that will enjoy the carnival. I'm yet to work my way through the menu, but there does appear to be some tasty morsels there.&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/K2vf3tbt38I" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/K2vf3tbt38I/000170.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000170.html</guid>
<category>Geek</category>
<pubDate>Tue, 09 Oct 2007 00:23:26 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000170.html</feedburner:origLink></item>

<item>
<title>God playing tricks</title>
<description>&lt;p&gt;Occasionally I come across a piece of media that I have no authorship relation to or originality claims of, yet which still warrants forwarding on. When that media provides palpable evidence that God has a sense of humour, the justification is clear.&lt;/p&gt;

&lt;p&gt;Watch this clip of a pair of giraffe and tell me you can't imagine our creator taking a perverse pleasure in watching the pitiful practice of cruely constructed creatures.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=C7HCIGFdBt8"&gt;http://www.youtube.com/watch?v=C7HCIGFdBt8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the way, do you think I took the acceptance of phrases ending in a preposition a little too far, by doing it three times in my first sentence?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/8AA8lj52kdU" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/8AA8lj52kdU/000169.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000169.html</guid>
<category>General</category>
<pubDate>Thu, 04 Oct 2007 01:28:34 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000169.html</feedburner:origLink></item>

<item>
<title>Riding Solo</title>
<description>&lt;p&gt;A couple of dumb movies here from last time I went for a moto ride. It's hard to film yourself riding you see. They're a bit big (8 and 10MB or something) but fully way hardcore so worth every kilobyte.&lt;/p&gt;

&lt;p&gt;&lt;embed width="448" height="361" type="application/x-shockwave-flash" wmode="transparent" src="http://i94.photobucket.com/player.swf?file=http://vid94.photobucket.com/albums/l119/l1teyear/Action/Flyby.flv"&gt;&lt;/embed&gt;&lt;/p&gt;

&lt;p&gt;&lt;embed width="448" height="361" type="application/x-shockwave-flash" wmode="transparent" src="http://i94.photobucket.com/player.swf?file=http://vid94.photobucket.com/albums/l119/l1teyear/Action/Doingnuts.flv"&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/x1XE1VWqBMo" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/x1XE1VWqBMo/000168.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000168.html</guid>
<category>General</category>
<pubDate>Tue, 02 Oct 2007 11:34:26 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000168.html</feedburner:origLink></item>

<item>
<title>Take takeshi, add castle</title>
<description>&lt;p&gt;What's better than Takeshi's Castle?&lt;/p&gt;

&lt;p&gt;Takeshi's Castle's Greatest Wipeouts, of course.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=h4Frqh6nARE"&gt;http://www.youtube.com/watch?v=h4Frqh6nARE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Champagne schadenfreude that.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/hVT34np2bRs" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/hVT34np2bRs/000167.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000167.html</guid>
<category>General</category>
<pubDate>Thu, 20 Sep 2007 03:33:40 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000167.html</feedburner:origLink></item>

<item>
<title>Bloxorz</title>
<description>&lt;p&gt;Just completed &lt;a href="http://www.albinoblacksheep.com/games/bloxorz"&gt;Bloxorz&lt;/a&gt;. What a terrific puzzle game. Great idea and great execution. Bravo.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/bQb3YoYdKwQ" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/bQb3YoYdKwQ/000166.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000166.html</guid>
<category>General</category>
<pubDate>Fri, 14 Sep 2007 14:16:21 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000166.html</feedburner:origLink></item>

<item>
<title>Expressive code</title>
<description>&lt;p&gt;I&amp;#8217;ve just made an ammendment to my script for renaming iTunes files. Like most people, my digital music comes from various sources and an inconsistent naming convention is pretty much guaranteed. Generally this is irrelevant, since the name of the file has little metadata value compared to the ID3 tags associated with it. But there still remains a desire to have consistently named music files.&lt;/p&gt;

&lt;p&gt;It turns out AppleScript is just brilliant for this automating this task. Scripts are accessible from within iTunes, and the iTunes dictionary gives complete access to the data. My file renaming script simply loops through the tracks I&amp;#8217;ve selected in iTunes, changing the name of the source file to &amp;#8220;artist - track name&amp;#8221; format. The complete script may prove useful to others, and contains little more than you would find at &lt;a href="http://dougscripts.com/itunes/index.php"&gt;Doug&amp;#8217;s Applescripts&lt;/a&gt;, so I&amp;#8217;ve included it verbatim after the jump.&lt;/p&gt;

&lt;p&gt;The point I wanted to make though, is that everytime I work with AppleScript I&amp;#8217;m impressed with the language. It&amp;#8217;s no kernal development language, but for scripting, can anyone honestly tell me they know of a more expressive language than this?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tell application "Finder"
repeat with i from 1 to the count of these_files
    set this_file to (item i of these_files) as alias
    set this_extension to the name extension of this_file
    set the name of this_file to (this_artist &amp;amp; this_track &amp;amp; this_extension)
end repeat
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Couple that with syntax highlighting and the open dictionary feature, and you have, IMHO, a world-class language with unprecendented accessibility.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KillingMindRSS2/~4/qHyUdrBVfh8" height="1" width="1"/&gt;</description>
<link>http://feedproxy.google.com/~r/KillingMindRSS2/~3/qHyUdrBVfh8/000165.html</link>
<guid isPermaLink="false">http://heath.hrsoftworks.net/archives/000165.html</guid>
<category>Geek</category>
<pubDate>Fri, 14 Sep 2007 03:27:29 +1000</pubDate>
<feedburner:origLink>http://heath.hrsoftworks.net/archives/000165.html</feedburner:origLink></item>


</channel>
</rss>

