Let There Be Light!

I’ve always been interested in Astronomy, but I’ve never spent enough time on it other than stargazing and finding certain constellations and planets.

Of late, NASA has been discovering a lot more about the Universe, mainly through the Hubble Telescope Project, and other deep-sky science missions.

To put things in context:

  • We live in a planet that’s part of our solar system,
  • Our solar system is one of many in our galaxy,
  • Our galaxy is called The Milky Way, and it is one of 100’s of billions other galaxies.

It’s worth me pausing for a bit. So the stars that I see at night (beautiful views in rural North West where there is little light pollution) are only what’s in our galaxy? And astronomers believe that there are/were 100s of billions more?


I didn’t have the fortune to study Physical Sciences in school, so I rely on reading to satisfy my curiousity. I learnt about the speed of light as a kid, mainly that it’s the fastest observed speed, and the cool trick of estimating how far lightning struck by counting the seconds-to-thundering from seconds-to-light.
I learnt the concept of light-years much later as a teen. If the sun’s light takes 8 minutes to reach the Earth, then the sun is 8 light-minutes away.

It is said that most of the stars in our galaxy (Milky Way) are light-years away, some thousands thereof. So if you look at Orion, the stars making up that constellation are between 200 and 1’400 light-years away. If their light has taken at least 200 years to reach us, then how old is Orion? Does Orion still exist today? Does the Universe still exist today?

A logical answer is “yes” to the latter, because since at least the Sun still exists, then surely the Universe hasn’t gone anywhere, or is it just the Milky Way, or maybe just our solar system and nearby planets …


So light isn’t all-mighty, it’s still subject to time. If the fastest known subject/matter to mankind isn’t beyond Time, then what is? Dark matter or anti-matter? It has to be slower by logic, and the preceding link says “cold” dark matter moves at < 100 meters per second. Light moves at ~300’000km per second.

So is there anything mightier than light? Surely the only mightier has to be whomever created light! Many people obsess over theorising how existence came to being. “It all started in a big bang” they say. A bang of what?

I think it’s safe to say that no matter your theory on how things came to be, be it Creation or Evolution; we can agree that there must have been some Event that started everything. Christians/Jews are told that everything came to be through the Spoken Word of God. I disclaim that I fall in that camp of belief. I don’t know enough about other religions, but I know that some scientists generally choose to believe in this unexplainable Big Bang, which is fine.

Who or what then created Time? A marvel so accurate (let’s overlook the leap-seconds) that creation follows it beautifully! I get a tingle in my mind when I think of:

  • seasons,
  • the chain of roosters that generally crow from the top of the hour,
  • how Earth rotates in 24 hours (this is where the leap-second comes),
  • how Earth orbits the sun in 365.25 days, etc.

Now this is what we know about Time. We have 7 days, and these play very nicely with the lunar calendar. Ever wondered how things would be if there were actually 8 days, or 9? Probably a bit chaotic, but I’m not an expert.

Subject to Time

Everything I can think of is subject to time, at varying relativity. Going back to Orion, scientists say that planets die. Is poor Orion dead or still alive? Let’s take The Centurion, constellation Centaurus. Proxima Centauri is only 4 light-years away from us. In August 2016, a planet similar to Earth was discovered in Proxima’s orbit. It could still take millennia to reach that planet. No manned mission to the planet could be sustained, the 10th generation would probably forget where they were going and just die in space!

Even if we were to send some communication to that Planet, by the time it reaches it, there might be no life form to receive such comms. Proxima might be dead by then, or other things as we know them now changed completely.

I digress, but I’m faintly trying to make the point to myself that everything is subject to Time. People obsess about alien life, what’s the use? It’s very likely that such life (will) exist(ed/s). Pure probability would suggest such existence. What I do think though (with future potential humble pie in my mind) is that our generation will die without having seen intellectual alien lifeWhere there is water, there is life, so I don’t doubt the existence of some organisms elsewhere in the Universe. Our very Plankton in the oceans, bacteria, microbes and nanobes could have cousins even in our Solar System as a start.

I can’t think of anything that’s not subject to time. The Universe itself, or rather its galaxies, is subject to time. I read an article on nasa.gov about Hubble revealing 10 times more galaxies than previously thought. The article left me with a weird feeling in my mind, which was why I wrote this long piece. The thing that stood out for me was the mishmash of present and past tense when explaining these galaxies.

Remember that we’re mostly seeing things as they were before humans even existed.

The article explains that these galaxies have changed over time. Expanded or merged. Everything is subject to Time.

Is time subject to anything? Surely only its Creator!

What is my point?

I expect that there’ll be an Atheist who comes across this article, maybe because of its title. I’ve shied away from scriptures so far, so if one takes offense, they ought to take offense with the tooth fairy and Santa Claus, because surely as “God doesn’t exist”, those two also don’t.

My point with all of what I’ve written is the following:

  1. The Universe is so large that modern-day science keeps discovering more of it every other week. It’s so large that I expect the James Webb project to conclude the Universe to be infinite in the next decade. Remember that new stars are being born each year.
  2. Life as we know it, is only a tiny drop in an ocean. If we don’t destroy our planet through wars or climate change; the Sun will destroy it in a few billion years (we might be dead due to extreme climate even before then). Life doesn’t revolve around us, there is Infinitesimal existence outside of us.
  3. Light, Time, Humans, Earth, the Universe, Life; are too wonderful creations for them to have come about through some unintelligible “big bang”. If you’ve searched for a Creator and have not found One, keep searching. Let go of what you know in the physical, and entertain things that the mind cannot yet fathom.
  4. Stop searching for “aliens”, they probably stopped searching for us an eon ago. Embrace life and the Universe instead, if there are aliens, they’ll find us.
  5. Science and belief are not mutually exclusive. We dispute the Bible because it is a text that was written at a certain stage in Time. If it were written today, I think a lot of concepts therein would have been explained differently; to match our capacity and current understanding of things. A thousand generations from now would still dispute its account of creation anyways.

Isaiah 40:22 says “It is he that sitteth upon the circle of the earth, and the inhabitants thereof are as grasshoppers; that stretcheth out the heavens as a curtain, and spreadeth them out as a tent to dwell in:

Who would have believed that the heavens (Universe) is stretching as a curtain? Imagine the people who first read this trying to fathom what’s going on. Scientists believed the Universe to be static, but in the past decade this has changed. It’s taken thousands of years for the above statement to make sense.

I’m not claiming to be an expert, but I am someone who believes that there is a God who created the Universe (it could be more, but a quantifiable number is better than Infinity) and everything that is in it. I am also someone fascinated by the frequent discoveries about the Universe, about science and even its role in explaining how we know and believe things to be.

I believe that this realm is the physical realm, and that there is another realm, the spiritual realm, that is not subject to the physical realm.

I also acknowledge that there is a lot that would shake my faith if I chose to entertain it. I co-exist with it, a Pandora’s Box of Knowledge, the sudden opening of which is detrimental to me. The key that keeps this Box closed is “I live by the knowledge of what I have seen, and the faith that what my mind cannot fathom is greater than life”.

Lastly, if I were to wake up someday and discover that there is no heaven or hell, it won’t matter because I would have lived the best life that I know how to live. Choosing to obsess about disproving them is like spending my life devoted to finding out how the Universe was formed. I am but a speck of stardust in an ever expanding universe of knowledge.

Let There Be Light, and let us be that light in our little world! I believe in the Creator of Light, the God of Abraham, the God of Jesus Christ.

We Get What We Vote For

In a democratic election, everyone gets what they vote for. It’s such a beautiful concept, one which as South Africans, we should embrace; going back to the struggles that took place while some of us almost-born-frees, and the born-frees, never experienced.

Our 5th national democratic elections have surely been interesting for me, not because it’s my second national vote, but in that I am wiser than I was 5 years ago, that although I am not a politician, I am at least more clued up on some of what is happening in my country.

There are a number of things that I noticed in the run-up to, and the elections themselves. This is my account of them. I do disclaim that as this are my opinions, there will obviously be an element of anecdote, interpretations of circumstances at their face-value when that might not be the case, and opinions that may or may not be backed up by facts. If I do not explicitly state something; please do not deduce anything or label me as some category of a person, especially in a defamatory manner. We live in a democracy, we have rights as per the Bill of Rights on our beautiful Constitution, and I am responsibly using my rights to freedom of expression.

Now that the mandatory stuff is out of the way, on to the good stuff.


There is no green-grass in a drought

Not a history I like revisiting at will, but as many South African children from ‘previously disadvantaged backgrounds’, I didn’t grow up without my fair share of suffering. It’s however not about competing on who’s seen more suffering, because it’s not a vanity contest.
For a major part of my childhood I lived without my mother due to her health conditions at the time. If I recall properly, I was around 12 when I first stayed with my neighbour at home, he was 14 at the time. His sister and himself were staying alone, because their mother was working ‘the kitchens’, elder siblings were also working. Fortunately his sister was much older and more responsible than the both of us. There were tough times when we didn’t have anything to eat for the day, how we survived is only by God’s grace [that is my belief, so if you are not of the same belief, you can substitute this with something else like a big-bang or an equivalent bang].

The following year I moved to go stay with my grandmother’s sister (great aunt?). It was tough, in their elderly pension-years, they were supporting 8 dependent mouths that needed feeding, from me to the youngest child, there were 6 of us, sleeping in the same room. Yet, with such love was their support administered, that the tough times that we often faced faded away easily. In my tough puberty years, I am glad that I had someone to teach me impartiality by treating everyone as if they are their children.

To go into the specifics, in a typical previous-gen African family; there are often many children, with a vast age difference. The older children would often have a ‘piece-job nyana’ or more formal employment at the mines etc. So we young ones relied on our grandparents, and grants from the working-class to help here and there.

Central to that support structure was our grandparents’ pensions, i.e. my great aunt’s husband (wait for it … great uncle), as he had worked his entire life until he took pension. His pension wasn’t much, but bearing purchasing power at the time, and other circumstances, we got by. Another grant system was our government’s social grant system. My great aunt was already receiving it, so it patched most of the holes.

When all I have is R500 a month to feed the whole family, the last thing I want to be uncertain is whether I’ll continue receiving that R500.

[As a sidenote, that’s how much the grant was back in my day, in 2014 I believe it’s about R1270]. My great uncle later went on the social grant when his annuity came to its lengthy end. Thank you ANC-led government for the support. Though the grass wasn’t green, we survived the drought.

Baby Boom, for a water buffalo

Now that I mentioned the social grant, there was an element of the grant that was intended for good, but resulted in an indirect social ill. The government introduced the child support social grant. It was much needed, we had a lot of children who needed some support, so the R100 (amount at the time, might be out by a few Ront) was a great addition to the R500 that pensioners received.

Statisticians can try prove/disprove this one, but on the ground, I remember the motivation for a lot of teenage pregnancies being to receive some money. Call it the ‘hustle of the day’. Our despondent sisters who weren’t finding employment were being tempted into reproduction having an element of security in receiving a grant of sorts.

To be clear, I’m not directly inferring that people started having kids to get the grant. I held that opinion, but I later grew out of it as it was too riddled with anecdote, due to isolated cases of people who proclaimed such intention. What I won’t disagree with was that the grant had the side-effect of not convincing people that child maintenance was no childs’ play.

An incident which most of us should be familiar with is when MEC Faith Mazibuko was quoted telling an unemployed mother to ‘close up’ her legs and stop having babies in 2009 or so [Evidence: http://www.citypress.co.za/news/mec-must-pay-telling-mother-close/]. By the way, probably slipped through election-fever, but the taxpayers have settled with the woman for an amount of R350’000 (the news article is from last week, at the time of writing).

In closing of this section, remember that in the coming 4 to 10 years, most of these children who were born in that era will be coming through our education system.

It’s Based on Outcomes

Educate a man

Nna ga ke je tlhapi, tlhapi ke noga, noga ya metsi, e ya lelesela, setlhare sa baloi. [Translated to an extent as: “I don’t eat fish, it’s a water snake, witches’ medicine/muti”]. It comes from an old Tswana song, I just remembered it when I was about to type “Educate a man, feed him for life”, with the obvious reference to fish.

I have written about our education system about 3 years back, and my views are still similar, so here is what I wrote: my opinion on our education system.

Despite the matric pass-rate, I am convinced that our education system is failing us as a country. To add some weight to my claim, I have seen it first-hand at the times when I tutored my class at high school, and when I tutored in varsity. I attribute two problems to this:

  1. Weakening standards. We all saw OBE and its earlier implementation as disastrous
  2. The disincentive to think. We generally are a young generation that doesn’t “think” in the sense that we don’t seem to be applying our minds at school.

Cue the pitchforks, Maths Literacy, you are killing us.

Education costs sweat and blood

Our parents didn’t have the opportunities that we have in getting educated, my mother had to leave school after Std 8, so she could go work and help the family out. I think similar with her two sisters. She wished for education so badly that there’s a time when she went back to school, but it was just at the period when she fell ill, so she never completed her night school.

One of the many things I praise her for is that she saw the value of education, and she demonstrated it by giving me the best she could in that department, while she could. There are 2 schools of thought;

  • those that believe that ‘geniuses’ are born, and;
  • those that believe that ‘geniuses’ are made.

I currently fall in the latter. I learnt to read fluently in 2 languages before I could figure the writing thing properly. In my last 2 years of pre-school, I had an after-creche teacher who used to smack the lights into me, along with her nephew. She was a middle-school teacher, entrusted with the great task of being a ring-bearer, carrying the ring of illiteracy to Mount Doom [yes, I just Lord of the RInged this one]. By the time I went to sub A (the current Grade 1), I was breezing through material like a prodigy.

Though I went to public schools all my life (except for a dodge 2 year stint at some ‘private school’), I wouldn’t really have known better on what the difference with a private school was. At least until i got to middle school and high school.
Through mother’s sweat and blood, and the stripes that I bore for having laziness beaten out of me, I loved education throughout school, and survived in tough places where the system wasn’t strong.

Kudos to the teachers that believed in me. In my one-year stint in Rustenburg, as my punishment, I think I cleaned our classroom more than anyone else that year. I did it with a smile as I knew that my class teacher was punishing me out of love.

Also, thank you to the ANC-led government for pushing the policy of free education. In grade 12, at the height of financial suffering, my school fees were only R150 that year.

It’s stealing if we don’t contribute back

Personal and family struggles will always exist, and that’s not a good excuse to not contribute back to society. As appreciation for what my government has done, I hope to contribute more back to our system from this year onwards. Watch this space?

Racial Discontent

This is a tough one, so remember that I’m writing as a young-blood who didn’t live through the Apartheid era.

Grayscale TV Tendencies

Remember the days when we had grayscale TVs? At that time, a ‘black’ person was black, and a ‘white’ person was white. No yellow bones, just grey bones.

We haven’t forgotten those days I believe. In the last weekend of the election campaigning, Blade Nzimande was at Soccer City in front of the masses, accusing the opposition party of being a ‘white party’ blah blah (me paraphrasing). At the same time, the attribution of the ruling party to the concept that it’s a ‘black’ party in 2014 is also sad.
I’m not disregarding the demographics of our country, but I’m saying that by saying such things during electioneering, we run the risk of keeping the grayscale mentality alive.

This is a topic which I will acknowledge the lack of qualification to dwell on, so i’ll briefly move on.

Sunshine Policies

The EFF is fighting for economic freedom in this lifetime. I think we were headed in that direction with policy, but its implementation is where it failed. I’m referring to Affirmative Action, BEE and the tender systems. Much has been said, but I’ll focus on some observations of mine.

We have passed through the phase when there was extreme window-dressing in the hope of meeting certain quotas and credentials. That phase obviously did a lot of harm.
We are currently going through its aftermath, which is the period where business doubts black people’s ability to deliver. This is isolated, and my view here is based on fireside chats with friends, I don’t believe to have experienced what I am about to talk about, so no witch-hunts please.

‘Young black professionals’ are in the phase where they get into the workplace, and there are some minorities of people who still have grayscale tendencies of presuming that just because you are ‘black’, you had inferior education, and you might not deliver as your other counterparts. It’s a strong and bold accusation to make, so I’ll make sure I don’t drop the baby here.

The Rebuttal

This is what is called a rebuttable presumption, which is the assumption that something is true until its proven otherwise. (I won’t forget my Honours Accounting lecturer putting me on the spot asking me such deep English, he was out to get me lol).
Such presumptions might be racially motivated now, but the danger that we face is that they continue to exist because of the current throughput of our education system.

I tutored 1st years in varsity, and I could clearly see the difference in the quality of thinking from that era. That era, and the subsequent years, is the one that is joining the workplace now. It’s not isolated to a specific race, but we as people who have been in the system for a few years, are seeing the clear drop in quality of thinking in the current crop of graduates.

Obviously to get where you have was because you proved yourself competent by passing exams,,but it is; the problem-solving ability, the inarguable demonstration of clear well-thought reasoning, that we assess you on. For me, such element is missing. If things continue ceteris paribus, as a country, we’re in trouble.

There is grave danger in that as the OBE generation (gross generalisation on my part), you will fail to rebut the presumption as we have managed to.

Our government is making strides where it can, there are some blunders like the Limpopo textbook isolated cases, but we as people educated by our system, it is our responsibility to help our government out. It is for the good of our future labour force. Else we will be supporting youth unemployment subsidies with our salaries to come nice!

Kudos to all those who are dedicating their time to contributing back to the system. I can’t let the left hand know what the right hand is doing, so I won’t compete with mentioning what ad where I contribute.

Stupid Voters and Clever People

This is a very sensitive issue, I won’t talk much about it, except that:

No South African has the right to call another South African ‘stupid’ or the equivalent for voting for the ANC. There is a clear history, there is a lot of uncertainty on what would happen if opposing parties win the elections. There are people who have the valid fear that they will lose their grants if the ANC is voted out, etc.

As a taxpayer who’s been paying probably north of R5’000 a month in taxes, it is frustrating for me to hear of all the waste of my money taking place. There is a lot of good that my money goes to, and there is a growing element of an unhealthy lack of accountability eating into our state coffers.
I believe my vote reflects my action based on how I feel about my money. Someone else’s vote might be an extension of the joy they feel for our liberation, others for the grant they receive, you get the story. That however, doesn’t give me the right to call someone names because they don’t see what I see. I too don’t see what they see.

As taxpayers funding our free education, our social grants system, subsidising business learnerships, let’s not forget that at the end of the stick is someone living the story that I told. They are not ‘stupid’ for voting for what they don’t want. For me the biggest confusion has been people saying they are unhappy with the leadership, but they will still vote for their respective party. It’s something I resigned to acknowledging to be human nature. A mother sticks to her child even in wrongdoing.

Our responsibility as South Africans is to keep fighting for those who do wrong to be brought to justice. The ruling party should acknowledge in the coming inaugurations, that it should clean up its act. ‘Clever people’ are likely to be more disgruntled, the effects of certain short-term decisions will catch up to us. Though some of us oppose e-tolls on our highways, we pay for them from our pockets, and in the increased cost of goods that are transported through those roads.

“In South Africa we are in an unique position in that we pay twice for the same thing” – Moeletsi Mbeki, public speech at Wits (circa 2011)

When we are careless of our table manners, the dogs on the ground get the pieces of food that we keep dropping. This is just an analogy, I’m not calling anyone a dog.


The Opposition

Kudos again to the EFF, we look forward to the ‘Commander in Chief’ of the EFF joining Parliament. Well done DA, we will forever wonder whether your strategy of attacking ‘Zuma’ worked, but you too have done well. To those parties that lost out, losing is tough, take heart and show character.

As South Africans who always say that the opposition has nothing to show, remember that the perceived entertainment taking place in Parliament is the execution of accountability, which is enacted by our laws, and enforced by the opposition. In simple English:

The opposition’s role is not to govern, but to make sure that the government does its job transparently.

So let’s please think about this and stop saying that our opposition is useless. The media succeeds often out of the questions that the opposition raise.

The Media

I have seen many instances of shoddy journalism and direct misinterpretation. Please continue raising the standard of excellence whilst State Information is not yet protected.

Our Government

5 more years, likely of many more to come. Honourable members of government, please start on a clean slate and write a good story for the country, one which will make us your employers deem you worthy of Parliamentary busts next to that of tata Madiba in the coming decades.

The Public Protector, and other Chapter 9 Institutions

Ausi Thuli, may I please kindly have your autograph before your 7-year non-renewable term is over.

I have heard great stories of the Auditor-General, and to the IEC, please do consider electronic voting, I really hope that you will be able to resolve grievances and allegations of dumped votes and so on.


Let us stop with unfounded conspiracies, thinking that politics are a gameshow or Mickey Mouse cartoons. It is our lives that are affected. Let us take interest in our country, and as hard and blind-sighted as my words are, dwelling on the past is nonconstructive. Let us assess our current-day leaders on their current-day achievements and shortcomings.


In a democracy, people get what they voted for. I just hope that what we voted for as a collective is 5 years of a good story to tell our children and the world. Since we’ve casted our votes, let us not stop there, but continue taking an interest in the well-being of our nation. Let us please lose the grayscale mentality.

Thanks for reading, I’d appreciate healthy comments, corrections and other views.

rwt.to Update

It was around this time last year that I wrote my board exams, about 52 weeks back. I remember after writing the last exam, thinking that I’m done, and I can now focus on my project. See, it was very tough in the weeks that I was studying because I had to discipline myself to try not to think of my little project.

So, at around this time last year I scrapped all the code that I had worked on, and started rebuilding rwt.to. It’s been quite a journey! I remember in February thinking that I would have everything done by end of March, but then I went on a lengthy secondment that took a lot of weekend time away from my hands.

I kept on moving my target, like a man reaching for the moon.

What is rwt-to?

It has a dodge name, at least that’s what I’ve seen some people thinking as I explained what rwt-to is.

rwt-to: an integrated public transit planner based in South Africa. It helps a commuter find their way using public transport, giving them schedule time estimates and cost of trips.

I finally framed the best way to explain it, can I get a “whoop whoop!”

Getting to Know JavaScript

The technology behind rwt-to is JavaScript. I use JavaScript to write all the logic, to interact with the datastore and of course for the interaction on the client-side. As you’d know I use Node.js and MongoDB, a bit of a controversial couple.

When I first started with rwt-to, my JavaScript knowledge was quite sparse. I could do some ‘stuff’ on the DOM, with the help of jQuery anyways, but I realised that I didn’t really know JavaScript. So having spent a year; conceptualising, scribbling and learning to create in JavaScript, I could say that I have certainly learnt a lot. I’m at the point where I’m no longer figuring out how to implement something, but how to implement it efficiently.

I remember getting my search algorithm working in January, it was a night/morning worth all the celebration. I had achieved something that would validate my concept, and give me the strength to continue on with the project over the coming months. Over the months I’ve built on top of that algorithm, a number of features that I believe will make rwt-to a useful service when it’s ready for public use. I can’t share the detail yet, but I’m silently excited!

Node.js – why you in my toolbox?

I remember at the end of July, I set a beta launch target of mid-August, and I worked as hard as I could to meet the target. I stumbled upon a significant blocker, after all the math and crazy stuff I had done to get things working, I still had a bug that I couldn’t chase down and fix.
There’s a night where I spent about 2 hours on the Internet reading up on Node.js and its use cases. It was really a time of severe doubt, because I felt like I had invested 9 months of my life in the wrong tool for the job. Either way, I had to press on. I was at the point of accepting that if things don’t work out, I can always start over with a different language.

although sometimes I come across as a pessimist, I consider myself to be a cautious optimist, a realist

I tend to be realistic when it comes to such things, although sometimes I come across as a pessimist, I consider myself to be a cautious optimist, a realist. At some point that week I considered drawing a timeline for how long it would take to port all my work to good ol’ PHP. However, I still knew that PHP wasn’t the right job for the task at hand. I remember having overflow errors in PHP when my search heap grew out of hand, and that alone reinforced my belief that JS would work as I was managing well with huge heaps. I should disclaim though that it’s likely I was doing something wrong, and I’m not really blaming PHP for that, but I had other issues with it.

I eventually found the solution to my bug, and it had to do with JavaScript referencing. Even though I was passing an object around for manipulation, it wasn’t being cloned, so I was doing all sorts of crazy things to the same object. I’ll illustrate someday anyways. On with the journey I went, and now the moving target was set at early September.

MongoDB flame wars

I must say, I started using MongoDB when it was at 2.2 (at least that’s what I remember). I liked it not because of ‘web scale’, sharding and all the wonderful things </s> that were being said on the Internet about it, but I liked and chose it because of the following:

  1. It had geolocation indexing, which is a no-op when you’re building a location-based project
  2. It promised a dead-simple API for working with arrays. To illustrate, in PHP & MySQL I had to convert an array to a string before sending the query through with the ODM. That’s risky and cumbersome. I’m sure there are more efficient ways of doing it (prepared statements I think), but for someone with little knowledge, it turned me off.
  3. Control. Novice developers using PostgreSQL with PostGIS could maybe agree with me here:
    PostGIS feels like a black box, along with PostgreSQL actually. The software promised all the features that I wanted for geolocation, but I felt uncomfortable with putting my data in a black box and knowing that it just works without having control of certain functions. With Mongo I had to build most functions from scratch, allowing me to understand everything that was happening, and to be able to control how certain functions work.
  4. A query API that I understand. 
    Even though I didn’t know the details of how some DBs work, I can safely say that my SQL is in shape. I can get dirty with SQL, so things like JOINs don’t worry me much. The problem comes when trying to read a long SQL query mushed together with some PHP, at 3 a.m. Headache much? With Mongo, I found that I could quickly read what I wrote and see where I’m going wrong without having to run the query itself.

Instead of complaining about the lack of JOINS, I embraced the art of denormalising data

Having said all that, I do appreciate the work that MongoDB Inc. (10gen) are doing. There’s a lot of criticism about MongoDB, some of it valid, and other just failed people trying to make MongoDB a scapegoat. An occasional story pops up on Hacker News, but I’m lazy to find some links. I RTFM when I started using Mongo, and I understood that I was losing the ability to JOIN, but for me I saw great wealth in what I was gaining as I felt it would work for my edge-case.

12 months later, Mongo is in version 2.4 with 2.6 a few months away. I have GeoJSON, which my algorithm heavily relies on as, and I’ve been able to complete my prototype. In beta testing Mongo is faring well, my data is backed up in the clouds, and I’m happy.

Thanks MongoDB, and Obama!

JavaScript Slow?

Another speed-bump that I came across was with JS performance. As I added data to rwt-to, I noticed performance degradation. An algorithm that once took 5 seconds at most was starting to run over double to triple the time, and sometimes timing out. I got my hands dirty and learnt a bit of profiling. I was able to reduce the algorithm back down to about ~7 seconds.

However, as I added more data again, performance took another hit. As I learnt about algorithm running times, I realised that I had an exhaustive algorithm, and I needed to apply heuristics sooner than I had anticipated. This realisation was sometime in October, so I’ve been working hard when I can to improve things. I currently have a worst case running time of ~40 seconds in production. I have managed to reduce it down to ~20 seconds in development, but it’s still bad.

If I can’t answer the question: “How do I get from Brakpan to Centurion?” in less than 5 seconds, I’d be failing the user of my service.

With that said, I’m working on some exciting stuff that will greatly reduce running time, I had initially targeted 500 milliseconds, but that’s a bit impossible right now. I think 5 seconds is still acceptable considering that Google does it in about 2-3 seconds.

Data, Data, Data!

Taxi Industry

Anyone with ambitions of creating a public transit planner, but hasn’t ran into the taxi industry, should pack up and go back home.

The taxi industry is the core of our public transport in South Africa. I estimate that you can get to over 90% of populated areas using taxis. Most bus services are regional, stuck in the past regarding availability of data, and are similarly unpredictable. There have been great advances with the likes of Rea Vaya and MyCiti, but those cover a small geographic part of the country. The meat is where the taxis are.

I had/have a strategy regarding taxis, but boy was in for a shock when I started implementing it! I’ve had a taxi association official hint to give me information if I bribe him, I’ve had associations not respond to me, threats when approaching taxi officials. I just haven’t gotten the t-shirt yet. There’s major rivalry with some of the taxi associations, so it’s sometimes a bit dangerous asking for data as the associations keep it confidential.

I’m not done yet, in the words of Arnold: “I’ll be back!”


If you live in Joburg, you probably know Metrobus, the unicorn bus service that covers most of the Joburg area, yet not many of us know where all these buses come from and go to. I could safely say that there’s probably only one person in the Southern Hemisphere who knows all the routes and stops.

I’ve had experiences akin to Juggernaut hitting the brick wall in The X-Men. I was told about all these fancy tender processes that I had to follow with Metrobus, procurement policies that I still don’t know of, and later deafening silence. The problem’s that like many government services, you always speak to the acting this and that, and tomorrow another acting this and that has filled the previous acting this and that’s position.

Government is like Hollywood, full of acting roles

It was quite saddening though learning that one of my competitors is working with Metrobus, without them being subjected to the same rubbish that I was fed about processes and whatnots. To be honest, I lost respect for some people in the process.

Yo, Imma let you finish, but I haven’t given up yet!

Metrorail, outdated schedules

Loliwe, Stimela! Anyone have memories of the old Spoornet days? I only have childhood memories 🙂
PRASA has come a long way, but there’s still the apartheid shadow hanging around. I can safely say that a lot of people still view Metrorail as an apartheid legacy transport system, which came as a result of spatial planning back in the day. You don’t see Metrorail slouching into Sandton or Houghton, though I must say that PRASA are probably doing all they can.

The problem with Metrorail is that we don’t have access to their schedules. Officials don’t respond when I ask for information, and the schedules on their website are ancient (though some might still be applicable). I wish Gauteng Metrorail could take a leaf out of Cape Town Metrorail’s book.

Y U no Integrate?

Lastly, we’ve heard lots of talk about government integration of public transport. I still say that it won’t work with the taxi industry, and the odds of success are slimming down further with every new ‘smart card’ system that each provider implements. We can only grab popcorn, wait and enjoy the show.

Recently I saw Rea Vaya bus stops right next to Metrobus stops. I think that’s what we refer to as integration. Millions are being poured onto the Gautrain, which a friend of mine says benefits the few. He is probably right, which is the sad thing cos although I grew up in the ashes of apartheid, what government is doing with their planning seems to be sort of similar to the spatial planning of the days gone.

Ah, before I forget the orange bus service … To cover my back with people who will wonder, here: PUTCO PUTCO PUTCO. In case you Ctrl + F and search for it, I’ve mentioned it thrice.

Just slap the word freedom around, and it’s all post-94. I know, corridors of freedom!

Now now, balance thyself!

My apologies, I am quite frustrated by the suboptimal planning, I don’t mean to criticise our government that much. My apologies if I appear biased. One of the reasons why I’m working on rwt-to is the hope that I’ll be able to lend a hand someday in helping with optimising public transport. Until I get there, I’ll remember that I live in a glass house.

Mzansi, Competition; Innovate!

I was telling the creator of awayto.be (a competitor) a few months back that I feel that SA isn’t producing the best it can. Aside for awayto.be, the current public transit planners lack the most important thing: integration. To be honest, I expected more from CS graduates and engineers, more than something that just piggybacks off querying GTFS data. That’s the reason why I’m continuing to work on rwt-to when there are already public transit planners out there. To bring some competition, a challenge that will benefit commuters in the long run.

I’ve seen a lot of misdirection from the competitors, playing their hands casually in the open, and all the such. A few months ago one of them announced that Metrobus support is ‘coming soon’, while there are other bus services with information publicly available, yet being ignored. I’m still curious as to how that would have worked. As far as I’m aware, only the bus drivers and controllers in Metrobus know what’s still going on out on the streets.

I’ll stop here before I make enemies too soon, again, I live in a glass house. I don’t yet have a solid product to showcase, so I can’t be criticising people who are making things happen.

To Conclude the Sermon

You know when the preacher says he’s almost done, but he’s still got another solid 30 minutes? I’m kinda like that … But let me spare the reader’s eyes and time.

The State of Mobile Apps

Without getting too far ahead of myself, I plan on building apps for the following, likely in that order:

  • Android
  • Nokia (S60) and perhaps Windows Phone
  • BlackBerry, the dying phoenix
  • iOS

Of course, time will tell. I must first complete my optimisations, and complete the design of the website 🙂

The Moving Target

With all the above said, I now expect rwt-to to be functional by April next year. I’ve learnt lessons not to estimate timelines that are too unrealistic. I got burnt on Twitter when my beta launch flopped. Lesson learnt!

Helping Hands

Lastly, I want to say thanks to all the friends who have been helping me out. From beta testers, voices of reason, educators and advisors, and everyone helping with data.

I can’t write a Grammy acceptance speech without first being nominated, so I’ll happily give thanks where it’s due when rwt-to is online.