Yearly Archives: 2011

30 years on the planet. Stock taken. Status: content.

Today I’ve been on the planet for 3 decades. A round-number birthday seems a good time to take stock of life, which I’ve done after a bit of reflection:

  • I am married to an amazing and loving woman, who is truly beautiful both on the inside and the outside, who is also my best friend. I fully realise that such a relationship is sadly very rare, and I’m deeply grateful that I’ve found love like this.
  • I am paid to do what I would do for fun anyhow – and paid well enough that I have no serious financial concerns. I realise how rare this is too, and am very grateful.
  • I am very actively involved in serving my community and those in need through my Lions club, which brings me great joy.
  • I have many good friends, from many walks of life, some of whom I’ve physically met and others I haven’t, but all of whom are terrific people I’m proud to call my friends.
  • For the past 30 years my parents and brother (well, in his case, 28 years) have been more supportive, loving and fantastic than one could imagine, and I am truly, deeply grateful for the amazing family I am blessed to belong to.
  • I have a deep faith in the Lord, which brings me inner peace and stability.

Looking at the above, I can honestly state that I am blissfully content. Life has challenges, of course, and ups and downs, but on the overwhelming whole everything is going great.

“Blissfully content” sounds like a pretty good state to be in at any age – I’m truly grateful to be able to say that at 30, that’s where I stand.

Leave a Comment

Filed under Uncategorized

Where the missing R1 went

Several times now, I have been sent or shown a variant of the following riddle, and asked if I can explain it:

Peter borrows R50 from John and R50 from James
 He spends R97 and gets R3 change
 He pays James and John R1 each and keeps R1
 He now owes them R49 each
 49 + 49 = R98 + R 1 in his pocket = R99
 Where is the missing R1?

Here is the explanation I provided, in case anyone else may find in helpful:

The sum at the end (R49 + R49 + R1) is a red herring. How Peter spends the money he borrowed and what change he holds from that is a completely separate issue to how he pays it back and what he still owes on his loan.

Look at this way:
Peter borrows R50 from John, R50 from James.
He gives John R1, gives James R1.

He still owes John R49, James R49.
So in total he still owes R98 of the R100 he borrowed.

He used R97 of that hundred, and R3 in change.

After paying R2 of his debt, he still has R1. He has to get R97 from elsewhere (he spent it already). R97 + R1 in his pocket is the R98 he owes John and James.


It’s the phrasing of the question that is out of whack.

R49 owed to James + R49 owed to John + R1 in his pocket is meaningless maths – that’s adding what he owes + what he owes + what he has. There is no physical R49 anywhere – it’s introduced in the story as a figure but it doesn’t physically exist. It represents what he owes, not a sum of actual money, so it can’t be added to the R1 that does exist.

What he owes cannot be mixed in an equation with the details of where the money went, they’re different issues.

The correct maths is either:

R49 owed + R49 owed + R1 paid back + R1 paid back = R100 (dealing purely with his debt, ignoring what exactly he did with the original R100)


R97 spent + R1 kept + R1 returned + R1 returned (dealing purely with what he did with the money, ignoring the irrelevant matter of where it came from).

The reason it comes across as a missing rand is in the way it is phrased, but you can’t add R49 owed + R49 owed + R1 physically in your possession, since they are apples and oranges.


I hope this is helpful to someone.

Leave a Comment

Filed under Uncategorized

2 years – where does the time go?

Exactly a year ago, my Facebook status was:
“Kim has been married for a year today to his amazing and beautiful wife, and has enjoyed every minute of it immensely. If possible I’m more in love with her today than I was a year ago.”

Other than the fact that is now 2 years, not one, every last word of that is still as true as it was then. Thank you for a fantastic 2 years love.

Leave a Comment

Filed under Uncategorized

Colour me immensely impressed

I realised today that I accidentally booked for Thursday instead of Friday for a show I’m going to with my folks, using I fired off an email to the email address, to ask if it would be possible to alter the booking.

Within 15 mins I had a reply from a chap called Gary, saying he had cancelled the Thursday booking and credited me on the site with the money so I could make a fresh booking.

I went to the site to make a new booking, and saw I had R322 in credit, not the R480 I should have had. I added 6 tickets for Friday to my shopping cart anyhow, thinking to pay the extra (the wrong booking was all my fault anyhow). I didn’t pay yet though, and fired off another email to ask why the credit was less than R480, but adding that I would understand if the refund wasn’t total.

Before it can even have got there, Gary gave me a call, saying he saw he put in too little credit, and not to worry, he’d process my new booking within 5 mins – no need to pay anything extra. True to his word I got an sms 5 mins later with the details of a booking for the right day, for the right number of tickets – he must have picked it up from my as-yet-unpaid-for shopping cart.

His service was astonishing – if only all SA businesses could have service like that.

Leave a Comment

Filed under Uncategorized

Thanks for the holiday

My wife and I recently got back to SA after a 3 week-long, truly awesome US holiday. In their extreme generosity, my parents paid for the vast bulk of it – they took both their sons and daughters-in-law with them for a trip to New York, Miami, a 4-day cruise of the Bahamas on the Norwegian Sky and several days in Orlando, visiting Universal, Sea World and other fantastic attractions.

The experience was incredible, and certainly something we won’t be able to match for a few decades. My parents took us along partially to celebrate their recent 30th anniversary but more particularly simple because they really wanted to.

The likelihood of either of them reading this here is remote, but still, this seems a good place to simply say thank you.

Leave a Comment

Filed under Uncategorized

Surprisingly, I can do my own rebooting

Dear Microsoft, stuff like this is (a very small) part of why many people detest your software. Does one of your software developers get his jollies from adding greyed out “Restart later” buttons to (annoyingly modal) dialogs? You should get him some therapy.


As it is, I got around this with some judicious process killing. I’ll decide when I reboot my PC, thanks all the same.


Leave a Comment

Filed under computing, rants

“One-touch” app installation and update with SVN

One of my responsibilities at work is to develop and distribute several applications to a different division. These apps all consist of an exe (we’re a Windows shop), some supporting files and an INI config file. They need to be run on several independent PC’s.

The division I am supporting does have technicians, but they are neither hugely technically competent nor blessed with much time to get stuff done, so a “one-touch” installation or update procedure is desired.

There are several ways this could be done, perhaps by distributing an MSI installer which is then installed on each PC. Here is another technique which works for me. It leverages SVN, both because that’s where my code lives and because both sides of this game have access to our SVN server.

  1. Ensure the exe and additional files are under SVN control.
  2. Tag the version of the exe which should be distributed. This will be svn://path/to/current/tag
  3. Create an SVN location with a name something like “current_location“. A good location would perhaps be in the SVN folder of the project, but it really only matters that it is somewhere in your SVN tree.
  4. Check the “current_location” directory out to a local working copy.
  5. Create an svn:external property on this working copy, like so:
    app svn://path/to/current/tag
    Check the “current_location” directory back in.
  6. On each PC the app is to run on, checkout the “current_location” directory. The app will be in a directory called “app” in the checkout location.

The “current_location” directory is now effectively a pointer to the version of the app in current use.

When the app needs updating, create a new tag and edit the svn:external property of your local copy of the “current_location” directory to reflect the new tag and check in. Instruct the technicians to SVN update on their side. This could be done by right-clicking in Windows Explorer via TortoiseSVN for eg.

For a more one-touch solution, I also provide a Windows batch file to automate the checking out of the app on the technicians’ side. This can be quite easily done using the SVN command line implementation made freely available by collabnet (it is of course even easier to do on Unix).

There are some further Windows tricks you can use to make the batch file more comprehensive and useful, but this is enough for now. I’ll write about enhancing the batch file in a (hopefully short-term) future post.

Leave a Comment

Filed under svn, windows_tricks, work

Nothing Else Matters but a good pun

jerith, Voyager, netgate and myself thrashed out a very punny heavy metal conversation about Metallica today – here it is in marked-up glory.

Netgate: <3 the S&M version of Nothing Else Matters
* Jerith nods.
Pkeike nods as well
colin: man everyone is listening to Metalica lately
colin: including me
* netgate always listens to metallica
Netgate: just, selectively
Kim: I was too, a few minutes ago
* Jerith listens to more Bach.
* Voyager also listens to Bach
Voyager: Metallica wins this round...
Kim: you don't want to be picking fights with Metallica
Kim: they have a huge gorilla who plays the bass
Voyager: No, doing so would be unforgiven.
Kim: Voyager: aside from it being unforgiven, they may well up the anti and decide it's Killing Time
Jerith: If you beat them, though, you'd be the Hero of the Day.
Kim: given their bassist gorilla, beating them is probably a Thing that Should Not Be
Kim: although, once you'd done so you could Turn the Page and move on
Jerith: Of course, you'd have to be somewhat insane to consider it. I'd recommend a lobotomy to save them the trouble -- I've been taking a Crash Course in Brain Surgery.
Kim: that probably alters your eating patterns. Do your subjects become Breadfans?
Jerith: Kim: No, I'm a better Master of Puppets than that.
Jerith: The only real side effect is a moderate case of Motorbreath.
Kim: clearly this is not the busiest week - Tuesdays Gone already and we're debating One of the most impossible items we've ever discussed. We must be Stone Cold Crazy
Jerith: I've been waiting on database stuff a lot. I can't really do much Until it Sleeps.
Jerith: Why is the rest of the gang not joining in this Devil's Dance?
Kim: do you think they will? I hope you're not waiting for the Day that Never Comes
Voyager: I Disappear
Jerith: You're just worried they might be Better Than You...
Kim: perhaps they're otherwise occupied. Too much Whiskey in the Jar
Jerith: Am I Evil? I always just ascribe the worst motives to their non-participation.
Kim: I prefer to be more generous, more of a Loverman if you will. I think maybe they're just waiting for the thread to Die, Die (my Darling)
Jerith: I keep wanting to work "Sympathy for the Devil" in. Maybe it's the reference to Blitzkrieg that does it.
Netgate: my luck's about as good as you could get with a No Leaf Clover, so I may have to be counted out
Netgate: even if that leaves me Unforgiven
Kim: You can't bring in "Sympathy for the Devil"! That's a different band - it could lead to Civil War. Someone will end up Knocking On Heavens Door
Jerith: Too Late, Too Late. Unforgiven's already been used.
Jerith: If you're going to start rhyming again, I'll make you Jump in the Fire...
Voyager: The Memory Remains of that, Jerith?
Netgate: let's just launch him to Orion
Kim: hopefully you'll just pass out though, and it will be the clue to "Enter Sandman"
Voyager: Bitter like Cyanide I bet.
Jerith: I've always been partial to Astronomy.
Voyager: Sad but True
Netgate: oh, The Struggle one must choose...
Jerith: Although I'm seldom awake enough at the Small Hours.
Kim: this is taxing my ability to work from memory alone. I had to look a few titles up. The More I See now the easier it should get
Jerith: That's hardly the right Attitude to bring to this, Kim.
Kim: The Wait before I started looking names up was quite difficult though. It was like a little Creeping Death - it gave me a headache
Kim: I've been Fuelled with new ideas
Jerith: Memory a bit of a Fixxer upper? You must be getting old...
Kim: Mama Said I'm not old yet, so no, I'm not
Jerith: Don't think you can Slither out of it that easily...
Kim: Age is merely in the Eye of the Beholder, after all. Wherever I May Roam, I remain youngish

Leave a Comment

Filed under punny, Uncategorized