DEVELOPER. WRITER. LOADING...

Menu

Monthly Archives: July 2014

Our country is in a hurry. Every single person is in a hurry somewhere. To work to clock-in and leave to ‘chase a deal’. To school to sit as teachers go on strike. To the gym to sweat a bit. To the bar before happy hour is done. To the bank to join the beautiful queue just before the bank closes. To get home to watch a soap. To the club before the free-for-ladies-before-midnight ends. To get to that job interview. We are in a hurry. Anyone who says that this country is slow isn’t informed. We are like bullets.

Coming through!!

Our mad rush has one tiny challenge though-the traffic. It slows us down. It won’t let us prosper. It won’t let us get to our meetings on time. It consistently makes sure that we get to everything at least 30 minutes late. Traffic, when it was born, swore a solemn oath to make the lives of Ugandans slower. It really has it in for us.

Here’s the thing though; traffic doesn’t have to be your sworn enemy. Here are a few tips on how to subdue it and show it who’s boss. These are sure ways to waltz through traffic like a VIP at a crowded concert.

Lean forward

While driving, you can will your car forward so that you get to our destination faster by leading forward. If your windscreen is getting foggy from your breath, you are on the right track. Thing is, the cars here move faster when you lean forward in them.

Hoot at every opportunity

This nation isn’t musically gifted; the closest we come to having local music is when you hoot. The entire nation depends on how incessantly you hoot. Do it now, do it often. In a few years, we’ll give you a medal for your original composition. We might even make a movie, “The Hoot song”, about all the melodies you blessed us with. Thing is, right now, we might say strange things about you, but Martin Luther King Jr. had to sit through several insults too. Stay the course.

Also, when you hoot like crazy, interestingly, the car ahead of you will magically move much faster, in spite of all the cars stacked up ahead of it in traffic. The powers that be in this city recently passed new fines that will have you lose some money for doing this-consider that money an investment in your music career.

Today I start something I’ve wanted to do for a while – sharing what apps are awesome. Every Friday, I’ll share an app. The idea is that over the weekend, you can get it and try it out. I’m big on Android for a number of reasons so I’ll restrict my recommendations to it for a while.
Onwards onwards…. App number one on Feature Friday is (backflips, dim lights, acrobats somersaulting onto stage)… SwiftKey!

What does it do?
It replaces the keyboard you use.

Why?
I honestly initially found every reason not to install this baby. Why would I need another keyboard? This one works fine…. Ha! The lies. If the keyboard your phone uses were an employee, the default installation would be that guy who puts in an hour then spends 2 at the water dispenser. SwiftKey on the other hand is that other guy, the one in blue, who does everything on time, dots all i’s, completes all reports and then asks whether you’d like a cup of tea.
The keyboard initially studies your writing style and customizes all predictions based on it. The customization is deeply personal. Someone else using your phone wouldn’t type as fast as you on it. After a while, you can type entire sections of text without looking.

You might argue that all this is possible with the default keyboard; one thing though, the default feels like it was built for one size to fit all. The SwiftKey way of doing things is unique to you.

Price
It used to cost a few dollars but last month, they changed to a freemium model. The app is now FREE but if you feel like changing theme, it’d cost you less than a dollar

In the last two parts of this series, we’ve gone through what to expect and what will make you stand out. We now get into the fun stuff-where to start. The coding trade though is very, very wide. You can write code to automate lift doors, microwave ovens, perform time travel, turn on the light in the fridge when you open it…the works. The trade is really wide; you can’t know everything. You need to choose your battles. To zero-in on what to learn….

Define your target

How do you want users to interact with the code you have written? What’s your target device? Do you have your eye set on a mobile handset? When you finally look up and wipe the sweat off your brow, do you want that your code will have produced an app for android/IOS/the_rest or will your app be used by SMS and/or USSD?

Is your eye set on a desktop as the target? Or would you want your users to access your app from a browser on the web? The different target devices necessitate learning one language or another. If you are targeting the web for example, PHP might be a very good place to start. If you want to make your Android device do things, Java would be the language for you. Target notwithstanding, for someone learning code for the first time, I recommend PHP. You can eventually move to something else but start with PHP because:

It has tonnes of resources. Learning can be daunting if you have to scratch a lot to get stuff that speaks to you. Going for something that’s a bit complex might make you feel dumb-yet you aren’t. You can do this.

With minimal set-up, you’ll have an environment on your computer that allows you to immediately see the results of your coding efforts. As you start out, seeing what you are doing gives you the ego boost you need to keep going.

It is an easy language to learn.

Its use-cases are innumerable. It is being used by most sites on the web today

It requires a lot of will power to stay Ugandan; different stories in the media make people do Google searches to see if there are countries out there that can adopt them. You had expect that after doing the search once, one would never try to look again…till the next big story hits and all rationality is thrown out the taxi window.
This year, if you are still Ugandan, you’ve been tempted quite a number of times but here you are, still standing. We, comrades in the struggle, applaud you.

As a child with your nose pressed against the window, looking outside at all the children frolicking in the sand, making sand castles and eating sand and boogers, it’s easy to see how well things look on the other side of the window. It takes a bit of effort to wipe your breath off the window pane, look around and see things to be thankful for in your house.

I recently went across the border; not too far to get an accent but far enough not to have to look both ways before crossing a one-way street anymore. While in this not-so-distant land, I noticed, in a way I would never quite paid attention to, a few things that we do have in our house

Weather
The land I was in was cold; so cold, flies huddled together for warmth. The sun did not come out at all. On the strange days that it peeped out, it would come out like an employee at 4.58pm-showing all signs that it would rather be elsewhere.

Here though, the sun is like an employee on payday before a four-day weekend-happy and motivated. When the weather acts up and goes gloomy, it’s only for a while-the sun later comes out and puts in enough time to make-up for its time away.

Food
We do have quite a bit of variety. I had never given this much thought till I went for a high-end buffet that turned out to have only rice and posho. The horror. Such felony. Down with the management. Anything short of four different types of food is tyranny

People
We are generally approachable and easy-going. We many times go out of our way to help. Till we become MPs that is.

In the last piece, we looked at what to expect on your journey in code. That taken care of, do you have what it takes to excel? I believe that, like any skill, anyone can taught how to code. Anyone. Being taught to code is basically a lesson in communication. When you strip it of all the buzz created around it, you are being taught to address a different audience-a dumb audience at that-one that only does what you tell it to. Just as you were taught that typing “lol” elicits a certain reaction from the person on the other end, you are being taught that typing println(“It is well”); makes your computer act a certain way. Communication skills 101.

As with any form of communication, there will be individuals that are masters of the art. You know English and string together phrases on Facebook every so often; Douglas Adams, Wole Soyinka & Toni Morrison use that same language and string together books that make your mind dance an do back-flips in a field of daisies. What separates the good users from the great? In programming, I believe it’s these 3 things

1. Problem-solving skills

Programmers are glorified problem solvers. Looking at the developers I admire, I see that in one way or another, they found a solution to a problem. Problems vary and more often than not, the ones you’ll be presented with as you start out will probably sound like;

I want a website that shows our company’s various offerings and hugs all our visitors

I’d like an app that shocks me every time I go 3 weeks without exercising

What’s your problem? source: http://skitterphoto.com/

As your wins increase, and if the path of your career’s trajectory decides, they can become slightly bigger.

You found a box from an old game. The box contains a lot of sticks and a manual. Frustrated by the fact the manual was unreadable, you decided to invent your own game with the sticks. In your game, the goal is to use the sticks to build as many squares as possible. There are only two rules:
Each stick can only be used in one square.
Each square must consist of exactly 4 sticks. That is, you cannot combine two or more sticks to create one side of the square.
You are given a int[] sticks. The elements of sticks are the lengths of the sticks you have. Return the maximum number of squares you can make. ref: topcoder.com

Gurus in problem-solving techniques usually recommend that you first break the problem down into smaller tasks; get the requirement, cut it down to size and take it from there.

This skill is critical; I believe it’ll define, in many ways, how far you’ll progress. People good at Maths are usually one step ahead in this but anyone can grow in it. Start from a place of comfort [to give your ego some vegetables] and then deliberately take on bigger and more involving problems as you see fit [and aligned with your career goals].

You’ve got to keep going. If the way you tried it didn’t work, try another one. It might help if you develop some troubleshooting techniques to be able to zero-in on exactly what’s not working. But you must keep going. The times when “Oh, I woke up and it just worked” happen every time the sun and moon meet at noon and hug-you can wait for that to happen or you can get back to the PC and try to figure things out.

Truth is, some problems take days. Others months. Others (gulp) years. If you’ve counted the cost, then keep going. Dogged-unguided persistence is useless though; you need to take breaks, use good troubleshooting techniques and ASK. Fellow developers. Stackoverflow. Ask. NO, IT IS NOT A DUMB QUESTION. Kill that thought. Ask

3. Read. REEAAADDDDDDD

You might be battling with something because your fundamentals are not right; you might be sweating with code because you skimmed through the tutorial. It’s 2 days of dogged-persistence vs 30 minutes of reading and understanding the tutorial. Don’t skim. Read. Understand. If it doesn’t make sense, find another version that does. The official resource may not make sense so go through blogs and find one that breaks down the fundamentals well. If you can, try video tutorials too. Sign-up for a course (there are lots of free courses and paid courses too). Getting the fundamentals right does some heavy-lifting for you. It’s critical that, as we pointed out here, you are aware of how you learn best. Use resources that communicate to you in a way you learn fastest

Our beloved leader recently sent word out that the National Agricultural Advisory Service (NAADS) be given marching orders and be replaced with the strong men and women we usually turn to, to keep the peace during elections-the army.

Our leader didn’t send the word on Twitter so he had enough characters to expound; he added that the army men had demonstrated exceptional delivery of services to its beneficiaries and would therefore be expanded to take on what NAADS had failed to do.

NAADS was initially primarily supposed to lead in the transformation of the nation’s agriculture from a subsistence to a commercial level. Naturally, this switch hasn’t been well-received. What does the army know about Agriculture you ask? Let’s see.

Ours is an army that is acquainted with the bush. During the time in the bush, the army spent a lot of time with vegetation. This delicate knowledge of camouflage conifers, bright bougainvillea and hide-here mivule makes the fighter an ideal candidate for the job. No other individuals have slept on, eaten, lit-up, covered-self-with plants like fighters have.

Waiting to grow
Also, given how hard things are right now, we cannot afford to let plants take their time growing up. We need food. We need more exports; we cannot let plants hold us hostage as they take their time coming into maturity. We need strong men and women who will scare that puny flora into adulthood faster.

We cannot leave this task to farmers; they will pamper the plants with pesticide, fertilisers and a lot of frivolous stuff. The plants in return take months and even years growing up. We cannot afford that. Soldiers know how to coerce supernatural feats out of people; they can do the same for plants.

This bold move by our leader also affects you. The move says he is watching. It says that if you prove yourself efficient and exceptional in delivery of services, you could get moved to another section in the country.

If you are an exceptional accountant and you think no one’s noticing, take heart-you might be moved to replace a doctor somewhere. If you are an efficient teacher, it’s only a matter of time before you are moved to replace an architect somewhere. The key thing is to keep delivering efficient services.

Last week, my fellow columnist and personal friend, Rogers Balamaga (he’s down to the right if you are reading the papers. Hi Rogers) wrote about how pastors are inciting witchcraft wars. He gave an engaging account of how during his high school, while in a prayer and worship session, a visiting evangelist spoke words of prophecy upon his life. The man of God (the evangelist, not Rogers. Hi Rogers) told Rogers that the witchcraft set against him wouldn’t prosper. These words, my buddy recounts, drew him closer to God but also made him terribly paranoid. He doesn’t believe anyone would have enough against him to go and sit by gourds, calabashes and bark cloth to get revenge. He then asked religious leaders to be more responsible lest they incite witchcraft wars. And I agree with him…in part. Leaders, all leaders, are called to be very conscious of what they say. The lion doesn’t roar indiscriminately.

The tiny difference though with religious leaders is who the responsibility is to; their primary responsibility is to God. They are to say what He tells them, how He tells them, where He tells them. They’ve set themselves apart to be channels of communication from on high. They are like WhatsApp-merely delivering the message sent by the person on the other end. WhatsApp as a messenger isn’t without fault; it does crash, it hangs, data can be on but no messages come through, it can lose data, it can garble the message, it can delay the message and it can lose the message altogether. The religious leader is no different; he is a man or woman after all. Greed, envy, lust, the likes, don’t head off to Hawaii for time in the sun as soon as one becomes a leader. Those things probably don’t like sun-bathing even. WhatsApp, issues and all, relies on engineers to constantly tweak it to get rid of the issues. The leader is no different-God does the handiwork-refining, tweaking, changing and growing them to make them better messengers.

You, the receiver of the WhatsApp message, have the responsibility of checking its soundness with the sender of the message. If Rogers sent me a message asking that we go do a breakdance routine for the head of state, I’d stop, laugh and then call him. If the message the messenger has brought doesn’t seem sound, call the sender.

Traffic jam has been with us for a few decades now. We meet him on our way to work, on our way from work and have a few discussions during the course of the day-some in the middle of town and others on the outskirts.
You can always count on running into him every day. He’s one of us. A few have proposed that he gets a seat in parliament. Here are their reasons:

Traffic jam is consistent
Regardless of where you live (special shout-out to Ntinda, Zana, Kireka and Bunga), you’ll testify to the fact that traffic jam can be counted on every single day.

We need politicians who are consistent. No day goes by without traffic jam showing-up, ready to take on a new day’s challenge

He is early
In a nation that struggles to keep time, a nation where meetings, seminars and all forms of gatherings begin hours after the prearranged time, traffic jam is a breath of fresh air. It gives hope to all those who feel that consistent time-keeping stands no chance here. Traffic is on the road as early as 6.30am, even earlier in some parts. In the evening, he’s there by 5.15pm-bright, chirpy and always seeming like he had a great day.

And he knows us
We need someone in parliament who knows us-someone who won’t table bills that don’t speak for us. Someone who will actually consult ‘the people’ when he says he will.
Someone who won’t need facilitation to consult ‘the people’-he meets every day!
He knows which ones of us are impatient-how we cut through and create new lanes, he knows which ones of us feel entitled-how we budge into the road without asking, he knows which ones are indecisive-how we take forever deciding whether to join a road or not, he knows which ones are angry and out
to spread it-traffic knows us.

He is always awake
During the day, traffic is always awake in one part of the city or the other. This means he won’t sleep during the State-of-the Nation address. He’ll be alert when the budget is being read. His eyes will stay peeled throughout celebrations at Kololo airstrip. He won’t nod continuously during a parliamentary session.

Contributing to the economy
We owe very high fuel consumption to him. We owe traffic police’s livelihood, at the expense of using traffic lights, to him.