Fizzers are now banned!

So Fizzers are now banned from my house.

Hold up, you mean those deliciously pink, chewy bars of candy that seem to always be on hand at kids parties and can almost always without fail be found at the bottom of any pantry cupboard of a house with kids?


Chantelle, the kids, and I were out and about one particularly warm day (it was a Saturday I think), zipping about in the Hyundai Accent. My knee was still giving me a lot of hassles, so I was of course in less than a stellar mood. Anyway, after one of our stops had come to an end, I eased myself down into the passenger seat (the nice thing about being immobile is that Chantelle does all the driving!), and plonked my phone into the holding compartment on top of the armrest.

At the next stop (Mambo’s Plastic Warehouse if I remember correctly), I readied myself to exit the vehicle, and as such picked up my phone – which wouldn’t come out. So more force was applied, and with a squelch, my phone came free, trailing pink goop, which dishearteningly also covered the one entire side of my phone. And not just any side mind you, the side with the volume rocker, power button, SD card bay, and SIM card bay!

My beautiful Huawei Ascend P6, covered in sticky, pink, Fizzer goop.

It turns out that Jessica had previously deposited her Fizzer in the armrest compartment coming home from one or another birthday party (there are so, so many kids’ birthday parties in December!), which had then subsequently melted and settled, lying in wait for its first victim – which just happened to be my nice and expensive phone.


Armed with a toothpick and some baby bum wet wipes, I got the pink goop off of my phone, while Chantelle managed to get about 95% of the Fizzer out of her door.

Translation, no more Fizzers allowed in the Lötter household ever again! Probably.

box of pink fizzers

Photo Gallery: Emily brings the Festive Cheer! (2014-11-20)

Every year photographer Wendy Swart pops in at Baby Steps in order to take photos of all the little ones which the parents can then later choose to purchase. Wendy seems to like props. A lot.

So if you are struggling to get into the festive mood, perhaps my cute as a button Emily can be of assistance:

Baby Steps 2014 @ Wendy Swart Photography

Continue reading

PHP Regex Pattern Test Tool

Annoyingly, my regex, even after all these years of web development, is still completely horrible – pretty much non-existent actually. Which is exactly why I always like to keep a handy regex pattern test tool on hand for the odd occasion when I do actually need to use the power of regular expressions.

Happily, Philip Bjorge saw fit to put together a cool little online PHP Regex test pad in the form of PHP Live Regex.

It’s simple to use, updates its regex results in realtime, and has a whole lot of helper text sitting at the bottom of the screen.

Quite a nice little implementation then in other words.

Related Link:

Eskom Load Shedding Schedule

Needless to say, we’re in that horrible situation of dreaded load shedding once again, which means it is pretty handy to be able to quickly locate the Eskom load shedding schedule once those Princes of Darkness announce that the lights are indeed going to go out.

Essentially there are two cases here – either you get your electricity directly from Eskom, or you receive via your municipality.

First things first, access Eskom’s dedicated load shedding site at If you are a direct Eskom customer, you can search for your suburb/area and get the results directly from the source. If your search turns up no results, it is then suggested that you are perhaps a municipal customer and get a link to

Here on the Municipal Customer Load Shedding Schedule page you should find your Municipality listed (Gordon’s Bay falls under the City of Cape Town municipality just by the way).

To be honest, I’m only really interested in the City of Cape Town load shedding schedule, and that site then gives you a handy area color-coded map and corresponding table, all of which then tells you exactly when the power is going to be off.

Useful in other words, unless of course your power is already off. In that case schedule look-ups be damned!

[UPDATE] Eye Witness News (EWN) also has a pretty nifty load shedding tool available on their site.

eskom logo

Finally, the Getz is Bought!

Way back in 2010 I bought my very first brand new car, the fantastically well priced, comfortable and surprisingly reliable Hyundai Getz.

Of course, buying a car with zero kilometers off of the showroom floor is far more expensive than buying it out of the classifieds, which means that needless to say, I had the thing financed through MFC, Nedbank’s car financing vehicle.

It was a six year bond and up until late this year a tidy little sum of just over R2,000 was neatly lifted out of my account each and every month. However with the arrival of Emily into our family this year, it quickly became apparent that the sooner the car got paid off the better, because that R2,000 a month is of far more use to me being accessible for all those unforeseen monthly expenses!

So I started accelerating my repayments, and all the extra little bits of money I could find lying around was plowed into extra MFC payments, resulting in a nice letter arriving at the end of September announcing that the car was now paid off and properly mine – at long last! (More or less. There was a bit of a mix up on where to courier the documents to – guys, Somerset Mall and Somerset West branches are completely different places!)

In the end I’ve learned some valuable lessons though. First, don’t buy a new car off the showroom floor unless you really can’t find a good second hand deal elsewhere – it’s really, really expensive. Two, try and avoid long term bond deals like the plague. Compound interest (as I already knew – hey, I do have a Bachelors of Business Science degree you know) really is a horrible bastard (and don’t think I’m not looking at you my massive home loan!). Three, if you do have a loan, try and pay it off as quickly as possible – saves you a hell of a lot of money in the long run!

So now my Getz is paid for and mine, four years down the line. That said, in exactly 2,000 kilometers, my service plan runs out.


2010 hyundai getz

Battling the Lawn Invaders

I’m not much of a gardener. Not because it is difficult mind you, but more because it seems so time consuming and in the end I just really don’t care enough to actually be bothered with it. That said though, I am a particular lover of walking around barefoot, and now that the luxury of doing that on my own lawn around my house is rapidly diminishing, I find myself, daisy picker in hand, in the garden just about every evening nowadays!


Weeds. Lots and lots of nasty weeds which I neglected for far too long, and which are now in the process of drying out and leaving behind sharp, pointy debris everywhere! Luckily we don’t have to deal with really insidious thorns, that wouldn’t have been horrible, but as it is, the burr hispida genus (that seems to have taken over most of my lawn) is causing enough damage to little feet to warrant its removal!

All of which translates to me going down on my hands and knees, ignoring all the burrs puncturing my girly soft flesh (not really, but it sounds more dramatic if I put it like this), identifying the tendrils, following them back to the central root system, and then yanking as much of it out as what I can.

I have to say, removing a clump of weeds, tendrils and all, from your lawn turns out to be a rather relaxing and rewarding activity, serence and tranquil for a lack of better words.

Of course, I could have saved myself a hole heap of trouble today had I simply listened to Mom and Dad about a year ago when they first noticed an increase in weed activity on my front lawn and warned me about it!


I really should listen to good advice more often.

south african lawn weed burr hispida

How to Increase Sencha Ext.getStore Timeout behaviour

I encountered a problem the other day where my AJAX loaded store kept failing to load when calling the native Ext.getStore() function. Chrome’s handy Developer Tools indicated that the request to the store URL was being cancelled, indicating that the AJAX request was in fact timing out.

However, Sencha’s documentation didn’t make it very apparent as to how to change the Ext.getStore() timeout behaviour, which is why I’m noting it down here in this post.

As it turns out, you can in fact set the timeout value when you define your store, by adding a ‘timeout’ value to the proxy params in your store definition.

As is the norm, the timeout is in milliseconds, meaning that if you want to set a timeout value of 60 seconds, you need to set “timeout: 60000″.

Here is an example store with the extended timeout config value added (hint: it is just after proxy->type:’ajax’):

Ext.define('', {
    extend: '',
    alias: 'store.surveyComplete',
    requires: [
    config: {
        autoLoad: false,
        model: 'KineticaDistell.model.survey.Survey',
        storeId: 'SurveyComplete',
        proxy: {
            type: 'ajax',
            timeout: 60000,
            url: touchwork.SERVICE_URL +  '/survey/survey.php',
            reader: {
                type: 'json',
                rootProperty: 'data'
            extraParams: {

Worked a charm for me.

sencha touch logo

XAMPP and Windows: How to Create a Symbolic Link

If you have scripts which need to be run in your local web browser but fall outside of your web root or any other declared vhost directory, there is always the option of simply creating symbolic links to these external locations from within your web root folder.

To do this (and I needed to on my Windows 7 environment to get around some Sencha ajax origin restrictions during debugging) follow the following steps:

1. Click the Start button to bring up the start menu.

2. Type cmd in the universal search box at the bottom of the start menu. (You should see at the top of the search results under Programs cmd.exe highlighted)

3. Press the Ctrl + Shift + Enter to launch the command prompt (cmd.exe) as Administrator. If you don’t do this, you’ll get a error saying that there are insufficient permissions to create the symbolic link later on. (You can also right click and select “Run as Administrator” to achieve the same thing.)

4. A box saying “Windows needs your permission to continue” will pop up. Click Continue.

5. Go to the directory you want to create the link in. For example: cd c:\xampp\htdocs\

6. Use mklink to create your symbolic link (or shortcut):

mklink /D externalfolder "c:\Users\username\Documents\My Folder\"

Note: The /D is there because, in this example, we are linking to a directory. “externalfolder” is the name of the symbolic link (change to whatever you want). Finally, the path is where the symbolic link actually resolves to.

Using the example laid out below, we could now point our browser to http://localhost/externalfolder/hello-world.php which would run just fine, with the browser executing c:\Users\username\Documents\My Folder\hello-world.php in reality.

Useful little trick to be aware of.

xampp logo

Why the funny shoulders on a Baby Vest?

Okay, so I just learned something new to me – which would have been handy to know four years ago! If you’ve had a baby in your life before, then undoubtedly you’ll be familiar with the plain old baby vest. Pretty much all babies wear these under their clothes, and goodness knows, I’ve been through more than just a few with both Jessica and Emily.

And then yesterday Chantelle went and dropped a bombshell on me. You know those intricate, funny shoulder designs that all baby vests feature? Do you know what that’s for? (Apart from the obvious of allowing it to easily slip over a baby’s massive head…)

Well neither Chantelle nor I did until now. It turns out that the design is such to allow for folding everything downwards, meaning that you can simply roll the sleeves down over the shoulders and tummy, allowing you to pull the vest off as if it was a pair of pants. In other words, extremely useful in those instances when you want to avoid lifting the vest up over your baby’s head!

Oh My God.

The number of yellow poo stained vests that I unnecessarily pulled over my squirming soiled child’s head now truly frightens me.

keep calm and change my nappy baby vest

Sorry Jessica and Emily. I would seem that I did you both a disservice as a baby.

So my knee gave out again…

So my knee gave out again… in the most public manner possible of course. I can’t really blame my bum left knee (which I heavily damaged via a karate tournament way back in July 2007) though, seeing as I’ve never even once taken it to be reviewed by medical experts in the 7 or so years that I’ve lived with the damage – never mind the fact that I’m anyway carrying far too much weight to ever allow it to heal properly!

It all went down this past Sunday, when we successfully hosted Jessica’s fourth birthday party at the always delightful Mondeor Restaurant in Somerset West. All the friends and family were present and accounted for, and given the surprisingly good weather we experienced, the kids were certainly making the most out of the kiddies splash pool.

Now the circular splash pool is ringed with an elevated wooden boardwalk, and therein lies the problem. The edge of the walking planks go well past the vertical boards holding them up, meaning that should too much weight be applied to the edge of the boardwalk you’ll probably find yourself in a spot of bother.

Which is exactly what happened to me.

jessica lotter at the pool - birthday party at mondeor restaurant

I was carrying Emily in my arms (for pretty much the whole day) and had strolled over to the pool to ask Jessica something or other (I can’t quite remember what). She wanted out, and she needed a towel, so taking her hand with my free hand, I strode off the boardwalk whilst deep in conversation with her – in other words, not paying attention to what I was doing.

There was an extremely loud snap as the board on which I had just stepped snapped in two, sending me and the two kids tumbling down to the ground. Of course, as my foot hit the ground, my knee gave in completely, shooting pain up through my leg and forcing me to neatly deposit both Emily (which from all eyewitness accounts was a pretty impressive feat) and Jessica before continuing with my tumble that had me ended up face first in the dirt.

The kids were crying, fine though, but obviously shaken up, whilst I on the other hand not so much. I could immediately feel that my knee had conked in and that I had possible twisted my ankle, which made pulling myself back to my feet a much more painful mission that what I care to remember.

(Chantelle says that my face was completely drained of colour for the next while following the tumble, but nevertheless, I limped to a convenient chair and plonked myself down for the rest of the party – which was still thoroughly enjoyable anyway)

Obviously it could have been much worse in that Emily or Jessica could have gotten hurt, but thank the stars that wasn’t the case.

Party done and back at home at last (thanks to Ryan for driving my car and myself home!), it quickly became apparent that I must have put some serious hurt on, because I couldn’t bend my knee at all – meaning an early Sunday evening trip to the pharmacy for Chantelle to pick up some anti-inflammatory tablets and painkillers, whilst Evan, Natasha stayed on to look after Evalynne, Jessica, Emily (and me).

Needless to say, I didn’t drive into work on Monday.

Today we are three days down the line, and I’m happy to report that with each passing day my knee and ankle are doing better and better, and I foresee being back to full mobility just in time for this coming weekend.

Not that I’ll be climbing up any stairs, hills or mountains mind you.