Author Archive
The worm, the 3 mice and the rich Kenyan coder
by Idd Salim on Feb.02, 2012, under Coding, Personal

All hail the master coder!!
Oh, pulchritude! Oh, pulchritude! Ohh, how thou possesseth nothing more that just sheer cutaneous profundity.
Ohh, how thy perception and effect withers when the rubber meets the road.
Ok. Ok. Sawa. Ehh! sitatumia ‘Oh’ ingine basi.
Naweza fanya maboyz fulani waanze kufikiria sabuni na kufeel homesick.
Tena naweza tumia another brobdingnagian word ilete noma. Ohh, anajiringa juu alienda stach. Ohh, anathani hatujui kutumia Google. Ohh, anajifanya anajua ngoso na ni ‘bhaite murume’. Fragile egos. Wakenya. So, acha hiyo stori iishie hapo.
As you know by now, sipendi ku-beat around the bushes. Mii huingiza tu mara once! I go in deep. I go blunt. Original content. Mkitaka kujua juu ya Facebook IPO na the Google Olga ‘Firing’, mtanunua gazeti. You did not come here to read duplicated content. That is for half-brains. So, acha leu tudiscuss minyoo, panya na maguru.
The story of the worm
We all know the story of the early bird and the worm. All factors remaining constant, the early bird catches the worm. But with all the real-world factors factored in, the early bird can only, realistically, catch the early worm. If the worm went out last night and over-sleeps, the early bird will have nothing to catch.
Hold that thought
The story of the 3 mice
The mice came up with a better story. The second mouse, that arrives late compared to the first one, is the one that gets the cheese. This is because the first mouse gets caught by the trap. And dies. Engaging the trap, and leaving the cheese lying there for a swift second mouse to cash in. But then comes a third mouse. Who waits for the greedy second mouse to get the small cheese and run with the feeling of VICTORY.
The third mouse analyzes the trap area and the store, then discovers where the small cheese was cut from. Then takes the entire loot home. Gets laid by the finest mice and praised by it’s mice peers. And lives happily and in abundance thereafter.
The Rich Coder
The fables continue. Enter the rich coder. Still a fallacy in Kenya. We are still yet to see a success story.
I am not talking of coders hired by organizations with funding to write code and get well paid. No. This is not the ultimate coder model. I am not talking about the ‘I work at Safaricom’ ama ‘I work for the UN’ type of coders. Not at all. Na nisiambiwe nimetukanana.
I am talking about the real self-made millionaires. I am talking about the One laptop, one idea, one team, one million dollars type of stories. This title is still vacant. This post is still un-taken.
Then comes the self-defensive: “What difference does it make HOW you get the scrilla, as long as you have the scrilla?”. You see, that is the type of reasoning that keeps many of us from becoming our own master. Systems have a shelf-life. A system that was THE SHIITTE in 2008 is just a good thing to look back to in 2012. The question becomes, what have you DONE OF LATE.
And that is where the pride of a coder and the opportunity to be super-paid comes in. That is how people remain relevant to the industry. Bettering yourself. Daily. Looking at the YOU of yesterday and saying: “That fool could not code.”
There is not a single Mobile App in Kenya that has been monitized. Is yours gonna be the one? If so, will it be the early bird, the second mouse, or the third? There isn’t a single IT Company that has done an IPO in Kenya (achana na ma-ISP kama AK nini nini. I am talking REAL IT), will you be the first one?
Tafakari hayo.
Back to code.
Wazi.
The 6 things coders need to say NO to
by Idd Salim on Jan.31, 2012, under Coding, Personal

Sema YES tena uone!!
Well, as always, I speak about my life here. My experiences. My lessons. My big losses. My small victories. My unrelenting spirit.
Kuitwa guru na maboyz. The zeal. the Zest. Kuwa impressed. Kuwa humbled. Kuwa inspired.
Falling down. Dusting myself and asking life, “Is that the BEST you’ve got?”. Kuitwa daddy na madem. Kuchapwa kiboko na Safaricom.
Kukujiwa na heavily armed hired flying squad jamaaz. Kugongwa doo mob na my boy-hood friend from Isiolo because of one of my stupid attributes/weaknesses called trust/gentleman’s agreement.
But still I rise. Kama erection. Start small. Grow big. Mpaka the trouser can’t ficha you anymore. Throbbing with pure-blood. Pulsating with ambition and psyche and dreams. All in the quest for self-betterment..
You are as good as you want to be. As bad as you let yourself be. As rich as your hunger pushes you to be. As broke as your lethargy and stupid laziness makes you. The better you get in code. The better your apps become. There are no two ways about it. Code ni kama mti. Experience breeds prowess. Practice teaches you new styles. New models. In March, you become totally embarrassed to admit that the code you are reading was made by you last November. “Ni mjinga yupi aliandika hii code?”, you wonder.
Apart from unoma, balls of steel and better management of time and resources (money etc), life has taught this thugs a few NO lessons:
No to code-change
Change from you and the client. The client rarely orders code-change. Unless you befriend them. Never befriend the client to a level that mtazoena. Ni client. Si mamako. Akanje, mpe service na system poa, na hiyo stori iishe hapo. If you find yourself picking calls and code-changes from a client every 6 hours, then the relationship is messed up. Unless they pay for EACH change. And pay well. Si lunch. Si ngata. Doo.
The second type of change is the worst. As a ‘progressive coder’ I look at better ways of writing a certain function better. Make it faster. Make it use less memory and IOs. This, and I am ashamed to admit, is another problem I have. Personally. Code iliisha Dec, but Jan bado naicheki. The client is happy and the project has been signed off as delivered and OK, but bado napeana updates.
Bad habit. Client si mamako.
No to new projects
Project one itachukua 6 weeks. You are in it like an unborn baby inside the womb. You are 2 weeks in the project. You have already finished the tasks/milestones for week 4. Then an email/phonecall comes. “Kuna ka-job kanatakikana. Utalipwa 300k”. You gauge and see itachukua 4 weeks. Good pay, sio? 75k per week baba!! You take the project, inakuchukua 6 weeks juu ya changes mbili tatu. But imeisha. Bado tu documentation na reports kiasi tu. Kazi ya siku nne.
The client one calls. Job niaje? Phuuck!! Hata ile code thought-process ulikuwa nayo ya project one imeisha. Unaanza tena. Deadlines are not met. Client amejam. Anatuma flying squad wakukamie since they are for hire. Una-refund project 1. Lost contact. In the time taken, client 2 pia anageuka dame. Documentation na reports kadhaa bado. Na kuna vitu nne anataka zi-change. Ana PMS. See where this is going?
Uta-do what? Acha ku-play clients. Acha ku-play projects. Respect the code.
No to procrastination
“Ahhhh! Hii nitaifanya next week.” So this week ni just ku-chill. Kucheki madem na ku-tweet all day as if uko employed.
‘Next week’ inafika. Man Urinals wanalimwa sita. You can’t work juu ya stress. Your only source of joy in this life imelimwa. Time flies all week. Hauna psyche ya code. Client anajam.
Job ya leo mzee, fanya leo. Acha stori mob.
No to money from clients
I have seen this trick being used alot. I call it the kudanganya-poko trick. A client knows you are GOOD and wants to make you his/her bioatch. So anakupa doo na envelope. Kama 150k. Ndio ufanye project. Hata hamja-discuss scope etc. Unahepi. Finally umeget the dream client. Anakanja utadhani dame wa campo akigawa.
Then comes the master-stroke. Project ni demanding na ni BIGI utadhani ni ninii ya nanii. 6 months later, umeunda system unge-quote 4M for 200k per month for 6 months. Tu-handouts twa 50k per week. Si hiyo ni doo mob? Client sells your system for 10m+. “We paid you millions.” They tell you ukizusha.
Na hawajadanyanya. Wewe ndiye fala.
No to client’s dreams / partnerships
Ok. Kamoja tu basi kabla niambiwe nimetukanana.
“Manze we cannot afford to pay you the 1.2 M for 2 months that will take you to do the system, but wee unda hii system for 400k, then tutakupa 10% shares. Manze hii system itasell kama hot-cakes. Your 10% shares will be worth millions in 12 months”. Yeah. We have all heard that before. “Go phuck a tree”, is always my response.
I would rather get paid 200k leo, than 10M next week.
Unless they commit to that amount on paper. Mdomo ni ya BJ. Si ya contracts.
Ok. Sawa.
Back to code.
Wazi.
Silly/random brainwaves for Friday. Ball, madem na code
by Idd Salim on Jan.20, 2012, under Coding, Personal

Idle... Idle... Idle...
Pool. Ball. Madem. Chess. Apart from pool ofcourse. Those are a a few of my favorite things.
Ok. I am a funny guy. I know.
Not funny queer or funny strange, but funny ‘HAHAHA.. Hapo umetuweza Salim!’.
And just like when you are a self-actualized coder, you let other people learn code and become as good as you are, because the more the merrier, when it comes to a good laugh, and someone cracks a good joke, I let them run the show.
Just let the brother/sister run the show. It helps.
I don’t add to the joke or do the Kenyan thing of ‘improving someone’s joke’, especially mbele ya madem. Ama mbele ya wasee wa Man U kama wewe ni shoga.
So, I was at Coco Jambo a few months ago with Muendo and Mugo, and some ‘funny’ Man U guy was cracking jokes about Arsenal. We were all laughing and having fun. Ofcourse, to the idiots surrounding him, they all sounded ‘kali’ and ‘unique’. But, bitch, I am on twitter and facebook. I know where Churchill and Co get their jokes. And he had joined the bandwagon. So, nikamuacha a-run the show. Until he went too far. And Idd Salim, the one, the only, had to step in.
Ilifika place aka-run out of ‘good’ Arsenal jokes. So, he said : “Jana niliuliza mtoto wangu, ‘What is 8 minus 2′.. Akasema ‘Arsenal’ … “, “HAHAAHHA, kali hiyo!! kali hiyo!!”, went the members of the sema-anything-tucheke-coz-unatununulia-beer crew. So, I interrupted the black I was about to double, stood upright, smiled and asked: “Mtoto wako?”, “Yes, my 11 year old bana!!”, he responded whilst high-fiving some hoes around him and giving his beer bottle the traditional and trademark manu-u-fan usiishe-haraka-woiyee bottle blowjob .
“He, lazima anakuwaga number last kwa class kila term. Mbona una-waste fees kwa mjinga kama huyo. Si ungeleta hiyo pesa ununue beer ingine at least.”. I know! Lights out!! Bar-fight!! Naah. Let us just say that hiyo joke illishia hapo. Nothing is sweeter than making a throng of hoes surrounding a funny-guy laugh at the funny-guy. Na madem hawanaga adabu. Walimcheka.
Na nikarudi kwa game ya pool, despite all the sasa-angalia-umetuharibia-rave looks from his crew. Fuck him! Na hiyo stori ikaishia hapo.
Madem nao hawajuagi when to call. I was being stressed the other week with some XMPP service optimization, and in the middle of a BOSH debug-session, dame fulani ananicall na anauliza, : “Vipi Salim!! How are things today?”, to which I, obviously, respond : “My things are ok. Big, black and thick. Just like last time you saw them. Ok, maybe bigger”.
Na ati akajam! Ni nini mbaya na watu? Unauliza 1+1, na nikisema 2 unafura? “Salim, I have a boyfriend. Don’t say such things to me!”, she retorted. “Then be faithful and focus on his things, sweetie.”, I responded, politely. Simu ikakatika. Ok, acha tuseme tu ni simu ilikatika. Nikarudi code! Oh, what bliss!!
Noma buda! Nakumbuka msee alinijamisha once nikamwambia, “The next time uko na dame yako ukim-plug-n-play na kum-FTP (f*cx the p*s*y), then acheke in the middle of your debug-session, hacheki juu ya ati venye uko na only 32 MB of RAM (get it?? RAM… as in Ramming? Hehehe, fala hii). Zii. Ni hii blog alisoma na akaona joke poa. Usimjamie. Bure.”
Ok, code niko karibu kuwa mnoma, finally. Soon, I will attain Level 3.7 of 10 of a coder. My dream is to reach level 4 by July, and by the way vitu zinaenda, siko mbali. So, that makes my list of must-gets for this year:
- Beat Nahinga and Co in Chess.
- Win at least 2 pool tournaments.
- Build the I.S.I.O.L.O. *_iCluster
- Teach at least 3 people how to code in Java/PHP, properly.
- Go represent Kenya in the Pool World-cup in Blackpool in June.
- Learn to swim.
- Learn a language [Portuguese sanasana ama French as option 2].
- Be a better me.
- Add another Zero to that Bank Account.
- Bas.
Back to code.
Wazi.
My beef with ‘Google Translate’ to Swahili
by Idd Salim on Jan.19, 2012, under Coding, Personal

Punda Milia - Ass Mi Cry
As you all know, I am not the type to castigate anyone that tries everything within their means and fails. That would be ironic, hypocritical and downright Kenyan. That would make me an arm-chair critic.
I am in the business of failure. So far, 5.6 out of every 6 inventions I have tried to come up with has failed miserably. I have been told to give up, many times. But, I keep soldiering.
If I see a campus kid at Nailab/iHub with 17 bugs in his 5 lines of code, I will find a way to laugh about it WITH him/her and the fix the issues with/for them. And everyone goes home happy.
But then comes the other side of the coin. You look at the locus standi:
- Google are touted to have the most rigorous developer grilling exercises during interviews. So they have the ‘best’ developers, thinkers etc.
- They have gazzilions of USDs to pour [thanks @coldtusker] in research on languages.
- They even have a bloody LOCAL office in Kenya, the mother-land of Swahili, access to all the best Swahili professors/linguists in Africa.
But apart from butt-f**king mocality, I wonder what else their local office does.
Google in Swahili is the BIGGEST joke of all time.
Ok, Ok. Alright. Before the ‘google ni mama yetu’ team start getting all emotional and feeling as if their man-hood has been challenged, let us look at some few examples. Again, these are my views as IDD SALIM. Don’t victimize my cat or Arsenal. Ni mimi.
1 – Just because you are in Kenya, Google automatically shows you Gmail and Google.com in Swahili. Is this a racist joke? I always take this to mean that : “Hello fella, you are so illiterate and stupid, but the clever geniuses at google have translated the internet into your primitive language that even we don’t understand, so that you can use the Internet better. Bonyeza hiki kifungo [press this button]“.
This is the equivalent of seeing a black man enter a restaurant and automatically serving him chicken, before he even orders. This is the annoying and demeaning equivalent of seeing a skimpily dressed girl in a club and asking her ‘How much for the whole night’, before even ASKING for her name and finding out what the deal is.
Assumptions, Assumptions, Assumptions.
2 – The ‘switch to english’ cookie is timed and when it expires, The bloody service goes back to Swahili. So you can imagine how many times my neighbours and friends call saying : “Salim, it has gone back to Swahili. Please come and help again.”
3 – We would not complain like this if the translation was ACTUALLY in SWAHILI. (Ofcourse, It is only Salim who blogs about these things. The rest just complain in elevators and DM. Pussies.) The translation comes out as a Kindergarten attempt to Swahili. It is as if the translator teams just read “A complete Idiot’s guide to Broken Swahili” and then said, “Boss, we are ready”. Na wakaanza kazi.
Ok. Again. I know. NLP is the hardest part of Programming. But where does NLP apply on the Home page? On GMail Inbox? On Simple Search results page? That is a simple language file. Can’t google get that right? Is swahili translation something they REALLY take seriously, or is it just a hobby they gave to 3 Swahili Under-graduates from Yale/Stanford.
I think Google-Swahili should be taken offline and be given to UoN students as an excersize. Waget something better to do than throwing stones, waget doo kiasi, na pia wa-get bragging rights.
Let us have something Kenya, done PROPERLY by Kenyans, in Kenya.
Until then, it is a bad joke, in bad test.
Ni hayo tu.
Back to code.
Wazi.


