Tuesday, May 19, 2009

Imagine Cup 2009 - Winning the National Finals: The SMS Module.

Welcome to the Imagine Cup 2009 series... This is the first of the "backstage gist" of how we won the National finals of the Imagine Cup... The team captain's experiences.

If u were at the national presentation, u'll notice that the "WOW" of Autonomous Health System X (AHSysX, that's our software solution) was the SMS. As simple as it was sending SMS 4rm a phone to a computer system, the stunt that made it possible was not easy to pull up.

Ok System X was ready for quite some time. I had implemented the SMS message parser (the nonsense that would tell what a received message means), Francis had implemented the task scheduler... John's SMS module was working.... outside system X. The issue now was installing the SMS module on System X.

System X was written in C#, theoretically, it was supposed to be able to run any DLL written in any CLR compatible language (including Visual Basic.NET) as long as the basic implementation rules are followed (of course those rules are top secret... team X stuffs). John was more comfortable with VB.NET so he wrote the SMS module in the language.

After a lot of gra-gra, the SMS module finally worked on Monday. Men, I was so happy. Ok oh, John bring this stuff let me install it on System X and confirm that it runs on the platform... my guy is in his final year so he has many stuffs to do too.

Wednesday night come... My guy finally carry d stuff come o. I was putting some finishing touches to the ASP.NET pages (first time working on ASP.NET, had to do it cos... long tin reason, anoda story 4 anoda day) till like 1:30 am. Ok I install the scheduler, 'course it worked fine (was implemented in C#), then came the SMS module... While we were @ it, we were already singing Cairo songs... John was already yarbing Francis, telling him what to say and what not to say in Cairo... Cairo was clearly ahead of us (we did our homework so we could only look forward to wining, actually getting an opportunity to win the real thing, in Cairo).

I did the whole System X configuration on the SMS module, John and Francis were watching actively. Ok I start the System X Windows service... lo and behold... "System.NullReference exception"... (na error be dat o!). No, just give me 10 minutes, it's just some minor reference problems, I go fix am. Na so me and the tin sidon there o... 3 nak, 4 nak.... I look around me (that was at 3:00 am), John don crash, at 3:30 am Francis say "wake mi in 30 minutes"... I'm on my own... I remember when Jesus was praying in the garden and Peter, James and John sleep forget their oga... I remember the words of Dr Fasina, "The success or failure of this project is ur success or failure". Nna men, I gats fix this stuff anyhow, anyhow.

That night, within the space of 3 hours, I went to ease myself three times... I knew that that wasn't a time to give-up hopes and kill the SMS plans... it was suppose to be the "WONDERFUL!!!" of the application. I had to take a decision fast. At 3:00 am, "John, Oya wake up, ur SMS module is going to be re-implemented in C#. Come and explain the VB codes let me write the C#". But as I looked at the VB, I got more confused, I couldn't think straight. Then Francis poped into my mind... He's a C# guy too... and I know his abilities, his greatest strength is his ability to context switch really fast. He can move from writing database triggers to writing C# codes within seconds... me ke... give me 30 miutes... or more!!! At 5:30 am "Francis wake up, come and covert this VB to C#, oya o be quick, we have less than 4 hours to get it ready". I knew I had to be awake to monitor what was happening (sleep no even show sef).

"What if we don't win here", "Mehn we have to go to Cairo", "Bill Gates and Paul Allen stayed up all night to create the software they sold to the Altair guy, (BASIC maybe)"... A lot of thoughts crossed my mind that morning... I was almost beginning to lose hope. At 6:30 (probably),while he was battling with the code conversion, I asked Francis if he thought we would win. His response: "Guy you are the team captain, this is not time for us to lose hope don't worry this thing will work. I think you need some sleep". At 7:00 am, two hour to the event, Francis virtually forced me to sleep. I set my phone alarm to 7:30, and laid down and closed my eyes. Three minutes later, I opened them again, I couldn't sleep.

I was losing energy, I needed a drink, I got "Burn". Energy revved up. At 8:00 Moses called to tell us that the place was set-up and ready, John had to go home and prepare. At 9:00, I had to get ready. We went late. I was sapped of energy, I took a bottle of Sprite, thanks to Moses. All I needed to do the was think, thank God I did that.

I figured the SMS receiver wasn't working yet and we needed to buy time. We were the third on the list. We had to use the internet to send SMS, and our application was distributed (the service was on my system, the database was on Francis' system, SMS, well it had been moved to Francis' system) so I had to ask that our presentation be moved so we could set-up our distributed network, we were granted the request.

While the third team was presenting, Francis whispered to me that the SMS module was working. My heart leaped. We'll show this SMS stuff finally. Thank GOD. I said the Hail Mary silently. While the presentation was going on, He and John were translating the codes, while I was studying the points raised by the teams presenting. I realized that the SMS was going to give us the award, well along with the presentation... that was what the other healthcare solutions presented by every other team didn't have. That was our Joker.

When I finally got up to present Team X's solution and I sent an SMS from the mobile phone to the system and the audience roared with a great ovation, I sighed. Thanks to Francis, he saved the day, and John too. I did nothing but send SMS.

So when you pick-up ur phone and dial a number and u hear the person at the other end or u do any thing like click a button and some "WOW" stuff happens, know that at least one programmer stayed awake for at least one night to make this possible and salute the person's efforts.

Watch out for: Imagine Cup 2009 - Winning the National Finals: Team X.

----------------
Now playing: Winans Phase 2 - IT'S ALRIGHT (SEND ME)
via FoxyTunes

No comments: