Categories
Life

Looking for a photog?

If you live in Cape Town, and you need memorable photos… i mean, really memorable photos: the kind that every time you look at them you go “oooohhh”, “aaaahhh”, “wooooow”. And you can’t stop grinning and you actually get *emotional* (in a warm fuzzy kind of way) just pouring over the memories ‘cos they’re captured so incredibly … wonderfully: Sarah Wood. Look no further.

Categories
Technology

Get Ubuntu

This is more of a shameless advertising plug than anything else- a departure from the usual theme of posts- but when you really like something, you can’t help yourself but just say *something* about it. That said…

I’ve advocated Ubuntu for a while now since I took the leap myself away from the restrictive environment which Windows had become*. When I first jumped, there were minor issues here and there but, with a bit of geek, the problem was solved. Since then, the OS has grown into an incredibly rich and useful OS with no issues (at least that is, not for a while). It does just work.

The latest release has been even more comforting and in particular, the netbook remix version is beautiful! I also work a lot on Mac and can appreciate an interface that is simple and intuitive and lets you get on with the job without getting in the way. UNR rates as one my most favouritest (sic) OSes. I can’t work (as in code a lot) on that platform just yet- but the way the services and technology is moving, who knows 🙂

So, don’t delay, go Get Ubuntu. Now. Really.

Oh, and if you’re worried about your “office” productivity and spreadsheets and word processing, don’t. OpenOffice is pretty good. No. Very good. No. Darn good! I’ve managed to use some pretty sophisticated and involved spreadsheets (created in Excel 2007) on OpenOffice 3.0 and there was some minor trickery involved regarding linked spreadsheets, but after sorting that out- total freedom!

Incidentally, this quiet article had more good things to say.

* I’m not really an MS hater, so try not read between the lines too much 🙂 I still do a lot of work on the MS platform in .NET and enjoy using the tools i have there, mostly because i’m very familiar and comfortable with them. It’s just that the client OS itself though doesn’t offer me any extra value for the extra price i have to pay for it- plus it’s slower on the same spec machine.

Categories
Business Technology

Playground Update

The playground has got a new update: stats-related. We covered the sections where you can uncover a bunch of numerical descriptions on a dataset, which is useful for a quick overall summary of the data. I’ve used this tool a couple of times myself preparing for exams and checking manual calculations (yes, sometimes i need to do this type of thing manually) and of course, it’s much easier than using my Sharp or Casio calculator.
And then there are times when you need to examine the relationship between two variables…

The “Applied” Stats Calculator helps with that quite a bit by giving you a fairly (or so i’d like to think) easy way of inputting your data and then calculating and displaying the relationship through a least-squares attempt on the data provided. There are two motivations for this development:
a) linear relationships are more meaningful than just describing a dataset on its own
b) a showcase in extending the javascript library, complete, as always, with tests.

statsbi

Categories
perspective

Golden Section Search

For me, implementing code really helps me to understand the algorithms (i need to know) better. It might sound a bit odd in that you might need to understand the algorithm before you can implement it. And that’s partially true. An understanding is definitely required. But, with TDD and iterative processes ingrained, discovery of what makes the algorithm tick is made possible through doing it (by repetition and/or implementation).

Repetition helps you to understand it and use it. Implementing it in code is like rediscovering the algorithm from the beginning. It’s a small taste of that journey- and it’s addictive 🙂 Anyhooo, the Golden Section Search is not an exception- but surprisingly trivial. Maybe it was just all the fluff around the topic that got me distracted….

class Golden
  ...
  def search(tolerance)
    return if(@b - @a) <= tolerance

    dif =R*(@b-@a)
    x1 = @b - dif
    x2 = @a + dif
    vx1 = i_eval(x1)
    vx2 = i_eval(x2)

    if(vx1 > vx2)
      @b = x2
    else
      @a = x1
    end

    search(tolerance)
  end
  ...
end

“i_eval” just evaluates the formula you supply (and uses the built-in Ruby expression evaluation) but the part that makes the grok for me is the if(vx1 > vx2) bit.

The way the text books explain it is pretty long-winded. The interval of uncertainty changes, but you’ve got the unknowns a,b,x1 and x2 floating around and changing positions all the time during the explanation. Plus you’ve got to now try remember case 1, case 2 and case 3. Eish. And all that inter-mixed with function and set notation. But that can be maths for you: pick any number between 0 and 10 => pick any integer from the domain of real numbers over the interval from, and including 0 to, and including 10.

The short of it lies in… :

‘b’ changes to x2 if vx2 [or f(x2)] is smaller (or equal) and
‘a’ changes to x1 if vx1 [or f(x1)] is smaller ..

… for the next iteration, everything else keeps the same value. That’s it.

And graphically, it also makes more sense to simplify that for one second and draw the lines in and see how ‘a’ and ‘b’ move along the axis iteration after iteration. Once that’s settled, going back to the ever pedantic yet accurate language of maths is then a whole bunch easier.

Categories
Business

Refinancing Model

While explaining Morty, I left with a parting shot: Be careful about consolidating your debt. And before I continue, i will make the disclaimer that I’m not a financial advisor, just a curious number cruncher. So not entirely satisfied about not giving an example, I’ve now had the time to consider the model more carefully to present you with some numbers. So here goes…

Scenario: 2 loans exist, one for a house taken out in May 2004 for 800K at 14%, and one for a car in May 2006 for 160K at 16%. Come May 2009, you decide to consolidate your debt (for whatever reason).  Note, I will purposefully line up the dates and use nice round numbers to get the point across. Also, the interest rates used reasonably reflect the situation in South Africa at the time (as my memory serves).  But regardless of the actual numbers, the same maths (and hence lessons) apply. The math follows:

Home Loan:

  • 800K at 14% over 20 years = 9.9K repayment
  • You will end up paying 2.4M for the house over 20 years
  • That’s 1.6M in interest alone
  • After 5 years, you have paid off 600K, but have only 54K in equity

Car Loan:

  • 160K at 16% over 5 years = 3.8K repayment
  • You will end up paying 230K for the car over 5 years
  • That’s 73K in interest alone
  • After 3 years, you have paid off 140K, but only have 83K in equity

Now you want to consolidate your outstanding debt under one loan. And, we’ll assume you’re refinancing under more favourable interest rates- else why would you even reconsider it? So what you actually owe at this stage will be the sum of the settlement values on each loan, which will largely depend on the agreements you have in place. Let’s assume everyone plays nice and they let you off with the original loan less your current equity. It could be a lot worse! You now owe a total of approx 840K which you need to refinance, and because one of them is a house, you might end up reasonably re-mortgaging over 20 years again:

New Loan:

  • 840K at 11% over 20 years = 9.2K repayment
  • You will end up paying 2.2M for the combined loan over 20 years
  • That’s 1.4M in interest alone

So, where do you stand at this point?

You’ve definitely made a short-term saving in terms of your monthly repayments (10+4 vs 9). Your cash flow is a lot smoother! But with 2 seperate loans though, you would have paid a grand total of 2.6M (2.4M + 230k) over the lifetime of those loans. With a consolidated loan, you would have paid a grand total of 2.9M (2.2M for new loan plus payments already made on previous loans of 740K). Plus, your cash flow potentially deteriorates over the medium term. Once the car loan would have matured, you’re paying almost the same repayment (especially if by this time the interest rates have dropped) anyway. And then in the long term, you’ve got an extra 5 years of repayments to cover which is worth 0.5M of cash flow in the future.

All, in all, the simple summary of it that is you end up losing approximately 300K in the long run.

But it’s not all that bad- it can actually be to your advantage too. If the difference between the original financing rates and the new financing rates are large enough, you can actually save yourself a lot of money in the short, medium and long term too. But that requires approximately a 5% difference _at least_.

So think twice before you jump fall for the debt consolidation marketing trap. Make sure whoever is advising and structuring it for you that they go through all the numbers and look at it long-term. Obviously the refinancing will always benefit the lender which is expected and acknowledged, but just how much is fair and reasonable? We all have the right to make informed choices- and we should insist on that right- and just because it might sound technical or complicated or involve a lot of numbers, doesn’t mean it can’t be explained in a way that makes sense to you.

Hope that helps to at least think a little more deeply about the choices out there….

Categories
perspective Technology

Software Guarantees

It’s a long time coming: consumer protection for software. And it’s a good not altogether bad thing. How much software out there promises the world but delivers nothing but a world of headache? Of course, the devil is in the details and how they go about enforcing that is going to be interesting. Can you imagine the legal copy? Of course, this opens up the world for computer forensics in a big way. We might even get a new show: CSI Brussels, the Bits-n-Bytes version. Ha.

But from an engineering perspective, this kind of move will most certainly sift out the hype from the functional (and create more of a different hype) and all the war around the best technology might abate (while the war between lawyers rage) so that the job can just get done by those actually doing the job and knowing how to do it (which, by this stage will not be many). It also means developers will choose their tools more carefully and with more consideration and be less prone to just adopting the next best thing just because it’s the next best thing. Which, in turn will impact the software tool market (probably negatively though). Who’s going to write code to interact with a service (or even allow interaction) if you got no control over how the other end of your integration works and you could possibly get sued for thrice more than you earned on the job. Imagine the insurance?

Of course, i’m assuming that the implementation of this kind of policies (or others related to it) is well though-out, fair and just 🙂 The evil side to this kind of policy is just too staggering. That’s something for the budding authors (of CSI) out there to write about…

Categories
Life perspective

Your Word

In days of yonder (although, probably more of a romantic legend) “your word” used to mean quite a bit. No legal fluff or long-winded contracts- it was your word that counted most. Today, that still is true, but we also have legal contracts because, i guess, in days of yonder, much like today, people renege on their word for various reasons. And that is a complex issue on its own, but reasonably i see it as primarily coming down to not taking your own word seriously enough. The opposite of that is interesting…

And by word i do mean commitments and promises, both explicit and implicit. Explicit as in “I promise i’ll get that done by tomorrow” and implicit as in “Sure, i can do that by end of day”.

So the opposite is that you take your own word so seriously, you check yourself at every turn and make no commitments or promises, either explicitly or implicitly. Your speech changes to “I might have that done by the end day, but no guarantee”. It is a lot better in terms of expectation management, being realistic and does give yourself room to breathe a little; even under-promise somewhat. As a default, neither are great.

On the one side you get to disappoint a lot of people through broken commitments, and on the other side, you get to disappoint yourself because you never get to challenge yourself. It’s one of those situations where neither end of the spectrum really works, and the middle ground is pretty soft. The best is to fold the spectrum back on itself.

Take your word seriously AND make big (not brash) commitments (and then pull it off). Of course, the wisdom and grace to get that perfect won’t come without a bruised ego, but, like i read once, it’s hard(er) to stumble when you’re on your knees. Don’t be scared to commit and give yourself a challenge and then take your commitment seriously enough to see it through.

The ultimate is like saying “I do”. It’s not “I might” or “I could” or “I probably should”. Commit, lock and load and make it work. The fruit is way more than you could ever positively dream of.

Categories
Technology

Priceless

I’ve had to work a lot with MS over the last few days (partner programmes, OSs, servers, networking…) eish. Compared to Apple networking, it’s a beast- but that’s another topic for another day. So this morning I tapped on to the partner website….

For everything else, there’s MasterCard?

Categories
Technology

Sweepers

The most exciting discovery of the day award goes to Sweepers.
And the most straightforward “in the wild” dissection of it, goes to CodeLevy.

Basically, and in my cases unrelated to caching (not unlike David Parker), i needed to observe my controller actions. Well, i needed to couple behaviour onto an existing process and observing is (one of) the nicest ways to do it really.

When a user requests a report, let the controller do the checks and balances, pass it on to a presenter, and then let the world know a (correct) report has been requested. Interested parties (for now) include:
* monitoring for statistical purposes and
* rendering soft copies for prosperity (which in turn notifies the world that soft copies are available)

Sweepers are the new black for this morning.

Categories
Life perspective

Underneath The Radar

No, this is not an attempt at trying to revive an 80’s hit. It’s just my status quo. Watching people, watching me sort of thing. And there’s plenty going on right now. (But it’s still a pretty funky song in it’s own way)

In SA, we have an absolute mess of a political cam-pain *sic*; too boring and complicated to ever make it onto an episode of any soapie worth its suds. Politicians just blabber ****; the clamorous dings of empty gongs polluting the space inside my head and on the local internet. And i checked, our news is so boring, and so over-hyped, it doesn’t even make a small headline on bbc, sky or cnn. Let alone the Afghan Times. Apparently, the new Beatles album is more newsworthy than a southern african political party leader getting off the hook for corruption charges- despite threats to bring ’em all down and not because he’s not guilty. And there are very big differences between “not guilty” and “innocent”. Ah well. Karma’s a bitch, right?

(And i don’t think it’s worth even touching on “the economic situation”- oh my goodness! If there ever was a phrase in danger of losing it’s vitality, meaning, pillow and marshmallow- that one deserves a righteous nomination. *Everyone* is suddenly an economist with an opinion- double you tea eff?)

On the other side of life though, tech is kinda stale. Some tech- not my tech 😉 Domains are dying (which is a funny read, btw). There’s Windows 7: the yawn version, is coming up. And more politics around that. Apparently it’s a bit of a boo-haa that you cannot upgrade from XP to 7. Shame.

But from all that fuss, i’ve learned one very important lesson: the media trashes your mind (not actively but by consequence) and robs you of your vibe- so be careful of what you fill yourself up with. They have no market in talking about the really cool things that are happening. And there’s also too much of that happening all over the world right now… but that too, it seems, remains underneath the radar.