Posted by & filed under Apps.

zaFinApp got some love this evening with an added feature to the loan calculations: residuals. As a result of the residual calculations, a simplified Future Value calculator was also added.

Enjoy the updates and thank for all the suggestions over email. More coming when I get a chance!

zaFinApp is available here. You can also download a version for your desktop (requires Adobe AIR).

Posted by & filed under Business.

It’s a popular way to sell vehicles these days; the balloon payment. The sales and marketing will tell you that it brings down your monthly installments and at the end of the finance term, the dealer will buy back your car to cover that balloon payment (guaranteed, terms and conditions apply) or you just refinance/settle that outstanding amount. Sound good?

This payment is also known as a bullet payment: because it’s like a bullet to the head. Sound harsh? Not when you know what’s really going on in the maths. And keep in mind, the residual offer is also made available to folk who are “high risk” or simply cannot afford the regular payment. In other words, people who are already financially marginalised. Let’s have a look see…

Note: numbers have been rounded to make the reading easier…

The list price on a vehicle is R330 000. Terms are over 60 months. Interest rate: 11.5%. On a regular loan, you can expect to pay back R7200/month. Once you’re done paying for the car, you’ve paid back R435 453.63 (or financed R105 500 in interest over the 5 years). Ha, you think that’s bad?

Let’s apply a 30% balloon payment to the same offer. Your balloon payment is R99 000. Your monthly payment is now down (the “good” news) to R6 000/month. Over the term, at that repayment, you’ve paid back R361 800 (or what might look like R31 800 in interest). Wow. Sounds great! BUT, you still owe R99 000. Now even if you paid off that R99 000 in one go, you would have paid R130 800 extra for the same car. So where does it all add up…?

That R99 000 payment at the end of the term is discounted back to today’s value (at the deal’s terms and interest rates) to a value of R55 860. The loan that you actually end up applying for is NOT R330 000 – R99 000. It is in fact R330 000 – R55 860, a value of R274 140. That’s why your repayment is lower- but not that low. That R99 000 represents a “discount” you get today but you still pay interest on it until you pay it off. Effectively, you’re financing 2 loans. You have actually financed R87 600 in interest (compare that to R105k on the traditional loan)

One for R274 140 at R6 000/month, another for R55 860, except that in case, the monthly payment is deferred in lieu of paying the whole loan off in one go at the end. Still sound good? Of course, if you have the extra R1200/month lying about, pay it in, but you might need to stipulate wether this is a payment towards interest, capital or the residual. Getting complicated?

Now, unless you have that amount lying around after 5 years of paying a premium, you’re probably going to need to refinance that R99 000. The terms and interest of that loan don’t exist today and still have to be negotiated. Let’s assume you manage to refinance that R99 000 on the same terms (unlikely), that’s another 5 years at R2 200/month for a grand total of R130 600.

In all, your R330 000 car, with a 30% residual refinanced, now costs you R361 800 + R130 600 = R492 400 over 10 years. The traditional loan is R435 500 over 5 years.

Now, just looking at the whole deal, you can decide for yourself wether that’s worth it or not. Depending on where you’re investing, spending, saving, it might actually be a worthwhile avenue. Or it might not.

Just keep in mind:
* you’re paying off two loans when you opt for a residual value
* the residual amount represents a discount you receive today that’s already been compounded with interest
* you’re effectively applying for finance at the list price less the discounted price
* the dynamics of the interest on the residual are hidden from view

Happy financing!

Posted by & filed under perspective.

ADD/ADHD has steadily been getting a lot of press lately. So much so that it’s pretty hard not to have an opinion on it as it is variously linked with spiraling morals and the inability of the future generation to harness what they’re about to inherit. Aside from all that fuzziness, there still is the reality that kids growing up today are bombarded/distracted at every turn. Internet, media, BBM, chat, billboards, games, entertainment, mags, highly publicized trends, politically revolutionary times and just general 24×7 sensory overload greets our kids every day. So we blame the kids’ inability to focus on ADD/ADHD.

Go figure.

Kids are growing up in probably one of the most radical times in our short history- and just responding to that. Even, as working professionals, there’s a strong link between our survival/success rate and our (in)ability to multitask efficiently. And by that, I don’t mean just our working life. I’m also talking about overall life balance. Note: highly specialized and focused work is mutually exclusive to multitasking and not to be confused.

My suggestion would be to adapt curricula and more importantly, the mechanisms for delivering educational content rather than drug our kids into a state of submission and destroy their creativity. Spend two minutes reading, then interrupt that with some writing for a few moments, then interrupt that and start a different thread. Sounds like a regular day in the office, doesn’t it? And therein lies a clue. We want our kids to be “successful” in the future, for a career/calling/job which doesn’t exist yet, in an economy not yet finalized. One thing we can guess with a fair amount of certainty is that it’ll contain a fair amount of flux and dynamism. And if anything, the ability to adapt and evolve with trends. My guess is that kids who exhibit a high degree of ADD/ADHD will cope extremely well. Those that resist those changes and expect things to come to them in an orderly fashion will lose out.

So why not guide and lead the kids through a structured program of content, one which might seem haphazard and chaotic; dynamic even, but has un underlying goal and overriding author steering the objectives and the outcomes?

Let’s harness this new found ability kids have to effectively multitask, stop calling it a disorder (due largely to our own ineffectiveness), and embrace it as a super power of sorts, one which is preparing kids for a future we have no real control over. Moreover, let’s help our kids understand and work with this talent, to help them to use it responsibly.

I don’t think the issue lies with kids unable to focus, but rather on outdated 20th century industrialized techniques suddenly finding themselves completely inadequate and at a loss as how to cope with the changes and distractions…

Posted by & filed under perspective, Technology.

What’s with the flame wars? As a human race we seem to be hard-wired into living in a state of binary. Good vs Evil. North vs South. Black vs White. iPhone vs BlackBerry. PHP vs ASP.NET. Java vs C++. Mac vs Windows. Israeli vs Palestinian. Russian vs American. East vs West. Ad tedium.

Bigger problem is it’s so easy to stir because the triggers and responses are so predictable. Which is why, I guess, it’s so tempting for anyone who’s bored and has the motivation to go “watch-what-happens-when-i-do-this”. Sometimes you don’t need an intentional agent though; things just happen by chance. When things do, the stuff that crawls out the woodwork never ceases to astound me…

Today was definitely a BlackBerry vs iPhone day. The BB service was out and just like that, all the “jokes” come tweeting out. Some even tried roping in the recently deceased to flesh out their attempts at humour like an amateur stand-up comedian high on bad drugs. Ugly.

Different technology, different software, different hardware- in fact different anything- exists for a reason. It’s just different. It does stuff differently. Not better, or worse necessarily (economics *should* weed out the bad over time). Just different. Some folk like iPhone, others Android. Others BlackBerry. Some don’t like any of the above. It doesn’t really matter. Each have their own purpose and fit their own- it’s why they all have *a* market share. Who really cares whose is bigger? It seems the classical jock envy pervades all facets of life and is gender-immune.

But if getting into a flame war, trolling or just stirring the pot is your thing, then so be it. I do think though, if we had to harness the collective creative energies of our generation (less the amateur stand-up comic wannabe’s maybe?) and directed it towards solving problems, rather than trying to trump each other on points, we would more than likely be half way to a half decent sustainable world.

But then again, going by what Batman said: “we’re defined by our actions”; I’m not sure it’s what we really want. Maybe being “in” with the #1 technology is more important…?

Posted by & filed under Life, perspective.

We, the people of South Africa, Recognize the injustices of our past; Honour those who suffered for justice and freedom in our land;
Respect those who have worked to build and develop our country; and Believe that South Africa belongs to all who live in it, united in our diversity We therefore, through our freely elected representatives, adopt this Constitution as the supreme law of the Republic so as to

* Heal the divisions of the past and establish a society based on democratic values, social justice and fundamental human rights;
* Lay the foundations for a democratic and open society in which government is based on the will of the people and every citizen is equally protected by law;
* Improve the quality of life of all citizens and free the potential of each person
* Build a united and democratic South Africa able to take its rightful place as a sovereign state in the family of nations.

May God protect our people.

Nkosi Sikelel’ iAfrika. Morena boloka setjhaba sa heso. God seen Suid-Afrika. God bless South Africa. Mudzimu fhatushedza Afurika. Hosi katekisa Afrika.

There’s more to that over here

Posted by & filed under Apps.

GPS utilities for your phone are becoming pretty useful (and popular) so I’ve added my app into the mix- I hope you find it useful too. More than that, my wish is that it one day saves a life. Other than that, my hope is that it gives you peace of mind in a not-so-safe scenario.

I’m putting this here because even though it may be obvious, it’s not. EPIRB (your phone) can quite possibly fail you in your hour of need. Don’t think that this ONE single application (or your phone) is all the safety and security you need. It’s not. Even when you climb mountains with brand new equipment, you never just use ONE rope. That’s just asking for trouble. ALWAYS have a PlanB and ALWAYS let somebody know in the real world where you are, what you up to and where you going.

If you know all about EPIRB already and just looking to download it, you can go straight here.
The basic idea is this:
Before you set out on a journey, make sure you have some emergency contact numbers listed in the application. You can also optionally set an Estimated Time of Arrival (ETA).

And then off you go.

Now the part comes in your journey when you get into trouble. There’s roughly three kinds of trouble you can get into:

1. A bad situation but you are still able to self-rescue.
2. A pressing situation where you still have the ability to call for help (make a call, send an SMS, push a panic button) but your interaction is quite limited.
3. And then there’s the really bad situation where you’re completely incapacitated (or separated) from any form of help whatsoever. This is also why you need a real-world-contract in place and tell people around you what, where and how you doing your journey.

Given those situations, how do you get help?
1. In the case where you self-resuce, it’s all good. No need to panic. You usually contact people AFTER the event to let them know what’s going on. You might want to alert them that you’re in potential trouble and to be on standby.
2. You’re limited in your ability to call for help, but you can at least press a button. With EPIRB, all you need do is press MAYDAY. This will immediately start sending off an SMS to each emergency numbers listed with your last known GPS location. Once you’ve pressed MAYDAY, you could try phoning (if you are able to) or just focus on getting yourself out of the situation. Keep in mind, your emergency folk will usually try to phone you to find out what’s going on!
3. You’re completely unable to call for help. This is usually quite bad. However, if you fail to inform the application that you’re OK (i.e. you have exceeded your ETA) it will start sending out WARNING SMS to each of your emergency contacts. EPIRB will call for help when you can’t.

Of course, this does not cover 100% of all situations, or 100% of one. It should hopefully cover what you need and assist. It’s just a tool to cover a gap that can be covered.

Of course, after a MAYDAY situation, it is also important to let everyone know that you’re OK. This is easily achieved by deactivating the MAYDAY and all your emergency contacts are notified by a once-off SMS that you are OK. And then another feature of EPIRB is not accidentally pushing the panic button (how many times have you done that before?). EPIRB has a simple safety pin designed to avoid accidentally setting off your emergency peeps into a high state of alert and panic.

So, with a simple and effective application like EPIRB, and a little planning, you could make sure someone’s got your back **just in case**.

1. Does EPIRB use any data? No. Not this version.

2. Will EPIRB cost anything to download? No. I’m making this available for free for a lot of personal reasons.

3. Will EPIRB cost anything to run? Only in emergencies will it start sending out SMSs. You control just how many though (number and frequency). Considering your life’s at risk, the last thing you need to worry about is a couple extra bucks in SMS.

4. But what if EPIRB never switches off after being set in an emergency (lost/stolen phone)? Tricky. At the moment, it will just keep sending SMSs until you run out of battery life. Not ideal. If you have some suggestions, let me know.

4.1 Does this integrate with my BBM? Not yet. Working on some memory issues and ensuring some robustness around the BBM integration for OS6+.

5. Why does the UI look so .. erm.. plain? I prefer simpler UIs because they draw less resources, have fewer code (read: “latent bugs”) and they’re less likely to “date”. In addition, for EPIRB in particular, the light-yellow/orange contrast has been used so you can easily spot the difference in glaring sunlight when you only have but the wink of the eye to make sure your MAYDAY is ON.

6. Is there an online-tracking version? You bet. That version is, I’m happy to say, very stable and just about ready to hit the wide wide world. Watch this space…

7. I like what you’re doing- how can I get involved? Easy. Just contact me.

8. EPIRB rescued me- how can I repay you? Pay it forward. Do good and help a stranger. If you don’t know where to start, get in your car right now and go buy somebody who really needs some food, a nice meal.

9. I used EPIRB wrongly and now it cost me a couple bucks in SMSs- how are you going to reimburse me? I’m not. Sorry. The app has been given to you for free in good faith. If it didn’t work for you, it didn’t work for you. It works just sweetly for me (and mine) is all I can add.

Yeah… eye candy; although, not a lot of candy! :)
When starting EPIRB, this is what you’re going to see:

Once you have a GPS signal and we’ve managed to get a fix on where you are, the screen will continuously update with that information. It might look geeky, but it’s amazing what your mind will remember in a heightened state of anxiety- and what you can do with that information so there’s no hiding that from you:

With the settings, you can set a pseudonym (or your real name- or a race number if you’re racing) which is used when an SMS is sent out. You can choose numbers from your phone book or just type in numbers to add (like a race organizer’s number, your local community police station, traveling buddy…). You can also set how frequently you want the MAYDAY flare to be sent out.

Then of course, the main screen- MAYDAY. Once you’ve clicked MAYDAY (and released the safety pin to prevent false alarms) you can let your phone get on with updating emergency folk about where you are and get on with rescuing yourself (if you can).

You can explore the other features, ETA and a little “Where am I?” menu option which will open BlackBerry Maps with your last known location. From there, you can send it by email, BBM, MMS and so on… So EPIRB is more than just a simple panic button- but it does try to be as simple as possible. Oh, and to download, point your BlackBerry here

Posted by & filed under programming.

In your XSD schema definitions, the minOccurs has a subtle nuance through a leaky abstraction. Getting right to the point:

Let’s take an element definition such as:

<xs:element name="OptString" type="xs:string" minOccurs="0"/>

Now when you create your default classes using the xsd.exe tool, you will end up with a class having a property OptString. Neat, since in code, you can just set that property (or not) and it will appear in the XML (or not). It’s optional.

Now what about:

<xs:element name="OptBool" type="xs:boolean" minOccurs="0"/>

Again, there will be a property named OptBool for you to set (or not). Only this time, it won’t appear in the serialized XML. There’s an additional property named OptBoolSpecified which you need to set. If false (which it is by default) then it won’t serialize.

Now, let’s look at:

<xs:element name="OptValueString" type="ValueString" minOccurs="1"/>

where ValueString is defined as:

<xs:simpleType name="ValueString">
    <xs:restriction base="xs:string">
      <xs:minLength value="3" />
      <xs:maxLength value="10" />

This has the same effect as a regular string. If it’s set (or not), it will serialize (or not).

Then we have a custom type (an enumeration) such as:

<xs:element name="OptStrongString" type="TypedString" minOccurs="0"/>

where TypedString is defined as:

<xs:simpleType name="TypedString">
    <xs:restriction base="xs:string">
      <xs:enumeration id="ValueA" value="A" />
      <xs:enumeration id="ValueB" value="B" />

It has it’s base in type String, but it’s an enumeration, so how will it behave?

Well, it needs it’s related Specified property to be set. Without that, it’s not going to serialize. And the same goes for type int.

In fact, experiment with the different types and understand the subtleties of minOccurs better. And you could question the existential “why” it is so or you could also just accept the way it is and move swiftly along :)

I’ve attached some code here to jumpstart your experimentation.

Download project XSDMinOccursSandbox

Posted by & filed under Life.

Landing in Mauritius in the middle of a South African winter is, well, just plain “lekka”. And on landing here, there are already memories about this little island and its inhabitants which I can carry as long as I can…

The first memory is discovering why so many people don’t want to leave. You’ve heard the stories, I’m sure. Well, I certainly don’t want to leave because I’m not sure we’re going to survive the bus trip back to the airport! The brochure said “a 45 minute drive”. The brochure didn’t say that if Shivvy was driving, at night, in the dark, it would be 26 minutes. Shivvy is an ex-NASCAR racer (I’m certain) and understands the finer points of bump-drafting all too well while preserving fuel in the slip and is the only person I know to double-clutch a diesel bus in 3rd gear going up a hill.

The other memory is the stray dogs who have graduated the school of Hard Knocks (Shivvy was a professor there, incidentally). They scatter like rats when they see headlights approaching, which, if you consider the candles dubbed “headlights”, it’s not really that much notice at all. But they manage with cat-like reflexes. Not many slow hounds about…

And from the glimpses I caught of the passing scenery, the island reminds me a lot of the Caribbean and my journeys around that part of the world- and Ecuador. So the real Mauritius is very down-to-earth, even poor and a far cry from the brochures with immaculate finery. Not to say the finery doesn’t exist. Oh, it does indeed. A strong contrast as we enter our little hideaway behind security gates and settle down into a week of “whatever” (with a bit of ocean paddling thrown in for good measure).

One keen reminder for me is just how much “sport” plays a role in my (your) life. Tom once said about sport (particularly committing and dedicating yourself to whatever sport you choose) is that it gives you two T’s in life (he may have been quoting someone else though, not entirely sure). Tools and Tickets. Tools to deal with life and Tickets to awesome places. And then Barry Lewin once tweeted along the lines: choose the races, places and faces and then go there. So sport does give me (you) that escape, that release, that adventure all the while arming you with tools; determination and focus.

Anyhoo, we’ll see what the rest of the experience brings- we’re looking forward to it- and seeing it in the bright daylight. If this hotel is anything to go by (Tamassa in a part of the island called Bel Ombre) I’m already not wanting to go back home.

The program for the week is And the weather is… ahhhhh.

Posted by & filed under Business.

“dogma”: noun, a principle laid down by an authority as incontrovertibly true. Also, a weird movie with which we’re not concerned. “Investment”: also a noun, the process of investing money for profit. Property; well we all know that one and karma is that thing which bites us in the ass. Snap.

So let’s take a closer look at property investment dogma. Invest in property! You’re mad not to buy. Don’t rent. It’s a buyer’s market, a seller’s market. Buy now before the boom. Buy now before the crash. Interest rates! Bleh- the whole market is filled with so much hype and pseudo-scientific mathematics poured by people whose only interest is to serve their own profits (hey, if the shoe fits… ). And then of course, there’s the baby boomer generation and their offspring which profited heavily from property investment; so they think it’s the only form of real financial wealth and stability. Let’s take a real look at the numbers, shall we?

In 1981, somebody earning R500 per month could afford a 20 year mortgage of R15k on a house valued at R20k. A year later, the house sold for a whopping R23k. So how do we compare prices then, to prices today?

CPI. The consumer price index is a way of leveling the playground a little bit so we can compare prices of yester-year with right now. It accounts for inflation across a number of different items and is quite involved. Suffice to say (and regardless of exactly how precise it it) our systems run off what we have come to know simply as “inflation” and “interest”.

So, using our trusty zaFin tools, we can determine the equivalent money, adjusted for inflation, in one time-period and compare it to another time period. For example, did you know that in Feb 2002, a loaf of bread cost you R3.18. If bread prices rose in line with inflation, that would be equivalent to R5.35 in December 2010. But hang on, it’s way more than that isn’t it?

What that means is that the price of bread rose (no pun intended) faster than inflation. All things equal, the bottom line is, it’s relatively more expensive to buy bread now than it was back in 2002. In fact, it’s almost 100% more expensive than it should be.

So what about those numbers in the beginning? Earning R500 per month is the same as earning R56k per month in December 2010. Nice salary. But I don’t think firemen earn that kind of money, now do they?
A R15k mortgage (at prime back in 1980, thank you zaFin) would have given you a repayment of R145 per month. This is 30% of that gross monthly salary we’re talking about, which evidently, is the number banks use as a general guideline for determining a loan amount. Although today, they like to make it more complicated than that.

Anyhow, so spending 30% of R56k is ±R17k, which means you could probably get a loan for R1.8M (not afford, but qualify for). Incidentally, that is what that same house sold for. Pretty much on cue with the adjusted inflation index. So, at best, a property investment will keep your money at inflation. Only thing is, bread (using just one example) spikes out of control relative to inflation so even if your money is barely keeping up with inflation, you still lose money in the pocket. Snap.

But can you also spot the gap? A fireman can no longer afford to get a loan on a house worth R1.8M anymore. So what happened? Simply put: inflation rose way above what our normal salaries could. And we’ve all experienced that, except of course those that control the game: the authority.

When you take out a standard 20 year loan on a house at prime, your banks start collecting interest from day one. And if you break down a repayment schedule, you will notice that your equity repayments are minimal. In fact, that loan of R15k over 20 years at 10% interest will see you making a repayment of R145 per month. Of that, you’re servicing R120 in interest for the first few payments- nice. So yes, property is a good investment ONLY IF you’re the one loaning the money. By the way, you’ve paid back R35k by the time you’re finished servicing R15k. Inflation targets around 6% while prime lending rates sit at around 10%. Easy maths: you make more money loaning money than you do trying to invest in property.

Heck, who wouldn’t punt property as an investment BOOM if they knew just how much money they could make off people wanting to get in: hype. So yes, the authority will push that property is a great investment. Duh.

Something else to consider: this example is from a time period when it was good and house prices in Cape Town seriously boomed. Between 1982 and 1998, house prices in Cape Town rose way above the national average. Way, way, way above national average. So now we also have an edge case “super” investment and it fared well…

But how sustainable is that? What will happen over the next 20 years if the baseline we got to work from is already so exaggerated? Who on earth is actually going to be able to afford to buy that property? Seriously, house prices will have to stay the same price until firemen can once again afford that kind of housing on their salaries.

Neh… out with the dinosaur investments. Definitely need to rethink how we’re going to shape the future.

Posted by & filed under perspective.

Being smart and being boring are not the same thing. In fact, quite the opposite. What does amaze me is just how strong the lie/myth/legend/stereotype is. And what worries me is how this myth roots itself into the minds of our youth because the consequences are huge. Add to that, the greater public fostering (even encouraging) this image and you end up with a society continuously making not-so-smart life choices.

Being smart means you engage your own thinking in a sustainable way. Not just your own thinking to satisfy the whims and needs of now- but also to satisfy the more basic needs later on. There’s a measure of self-control there (which is a product of both personality, character and perhaps even environment), but if your thinking is on cue, you’ve won half the battle.

Making a not-so-smart choice means you lose a lot of energy down the line engaging with peripheral damage as a result of that choice. It’s those side-skirmishes which drain your soul and stop you from being and accomplishing all your hopes and dreams. They bleed your time, energy and money. The potential of you making another not-so-smart-choice grows since your senses are wounded and pretty soon, you end up in a lifetime spiral of chaos and “stuff” with “no time or money” and a suitcase of regrets.

Let’s look at the smart, “boring” people. We’ve all heard the phrase “be nice to geeks, one day he/she will be your boss”. Those geeks, the smart people, who’ve made smart choices (which, by the way means you need to sacrifice popularity, image, status-quo, maybe even a hot boy/girl friend along the way) live pretty under-the-radar boring lives. They travel to exotic locations, always starting charity drives, good health plans, lead a fulfilled lifestyle, are always busy yet never “mad-busy”, live in a decent neck of the woods, drive a Volvo :p and never seem to be clouded in drama. I think that’s where the boring part fits in?

Yes, there are exceptions to everything and this is not applicable to every smart (or even not-so-smart decision maker) out there- and don’t confuse smart and rich and poor or not-so-smart. If you are, it’s probably because of the feedback, experience and associations you have (which in a cruel and sad way echo exactly what I stated in the beginning). It’s just, if you’re thinking to yourself that smart is a tad boring (or otherwise but similarly described), think twice, think it through.

The thing about a choice is this: you don’t know what tomorrow will bring.

Caveat: That could also imply that what looks like a smart decision today, is not so smart down the line, but if you’re thinking smart you’ll accommodate that change in plan when and if it does happen.