Tuesday, October 11, 2011

Geek's Night Out


I went out for some fun at a club on Friday night and when I got bored, my droid filled the gap. I prepared this post "in the club" (Reminds me of 50 Cent). Enjoy!

For a moment I‘m thinking that this is all a waste of time. BTW, as I type this document, music is blasting on my ears, my joints ache from a lot of dancing and once in a while I try to pick myself up and rock my body once more to the beats. In case you don‘t get it yet, I‘m in a club.
It‘s friday night and Samuel had invited me to Jemaimah‘s birthday which was to hold at a club at Adeola Adeku. I had put it in my itenery and looked forward to it. Before now, the last -- and first -- time I was at a club was at Paris, the farewell party for the 2008 Imagine cup. It was fun but I only went ‘cos it was part of the program lined-up for the event. Now this; this is actually going out of my way ‘cos today was one of the most stressful of the week.
I must confess, it was worth it. I had the first lap-dance given to me, I rocked some ar$es like the world was gon end tonite. The fun was madt! Then I got tired. I discovered that, unlike programming where I have fun and seldom got tired, while clubing, I actually get tired of dancing. Tired and bored of the whole thing. Then I thought of what to do, then I reached out for my droid, opened up my pdf on phone gap and read a few pages, then I danced a little more, pestered Samuel a little when he tried to catch some sleep, philosophised a little about how vain clubbing is yet deceiding that I would do it more, once in a while tho. Then finally, I get the idea to write a blog post while Tina is pestering me inbetween and I rock to more music inbetween. BTW, I just got a company, a very pretty lady whom I think is a commercial sex worker, we talked a little and she seem to be curious about what I was doing on my phone. I told her that I was preparing a blog post and asked her if she wanted to read it, she answered in the affirmative and I gave her to read.
Now Samuel is awake and he has to drive us home. My freind tells me her name and asks me for my number.  It‘s 5:30 AM and I‘m on my way home.

Thursday, October 6, 2011

Scala Boot-Camp


My last post was about Java programming language becoming less relevant. This does not mean the JVM won’t be useful anymore. As far as I’m concerned, currently, the JVM is the development platform that’s best for real programmers because, among other things, it balances the old with the new. This is why am creating more apps on it. Lately I’ve been doing this on Scala programming language.

I’ve been writing Scala for some time now and I think it’s a very cool language, I also discovered that there are very few people (if any at all) at the local developer community who codes in Scala. This inspired Samuel and I to put together a boot-camp for programmers to get a head start in Scala programming language.
The detail of the boot-camp is as follows:

Date:  3rd and 5th of November 2011; 10:00 am to 3:00 PM
Venue: F5 (2nd Floor), Block 504 MQ, Besides Ikeja Shopping Plaza, Kodesoh Street Ikeja, Lagos.

The three-day event aims to cover the Functional programming and the basics of Scala Programming Language at the first day; a little of advanced Scala on the second day and Scala-based Web development using Lift Web Framework on the third day.
To take part, you would be required to pay a fee of 5, 000 NGN (approx $30) upon arrival.

To RSVP or for any questions, contact me on +2348093773683 or Samuel on +2348029056826. Or email me at celestocalculus@gmail.com. If twitter is your thing, just mention me, I'm @celestocalculus. You could also join the Fcaebook group for more information http://www.facebook.com/groups/122560751178514/

UPDATE:
1) Date has changed, please check up the new date ;)

Thursday, September 15, 2011

RIP Java... Umm, maybe


Java as we know it may soon be considered a legacy language.

On Tuesday 13th of September 2011, between 5:00PM and 7:30PM, Nigerian time, at the local Microsoft office in Lagos Nigeria, I watched a live streaming of the official unveiling of Windows 8. Stephen Sinofsky lead a team of presenters who showed the world what the future of Windows (and invariably, PC) would be. Part of what was demo'ed is the new platform for windows development. Developers would now write their apps in erstwhile web-only development languages: JavaScript, HTML and CSS as native Windows App. There was an overhaul of the Windows development platform the Windows sack now has: Windows Runtime (WinRT) --> JavaScript --> HTML & CSS OR WinRT --> C#/VB/C/C++ --> XAML. The same app would run unmodified on desktop, game consoles and mobile devices. I'm still WOW'ed.



Now my arguement is this: The main promise of Java which is Write-Once-Run-Anywhere is (almost) finally broken by a sexier language. Before I continue, let me point out that I am a passionate Java programmer. I've been writing Java since 2005 and it's currently my favorite language (I'll choose it over any language -- Human or Computer). People who know me know that I'm very passionate about the language. And when I see posts which asks when Java would disappear, I just laugh at them. But with windows adopting JS as a native language, all I need to do now is write JS and it would be executable on all platform. Considering that Node.JS has already made it possible to write JS  apps for UNIX-based systems, even though it's not native, it still (kinda) works. I strongly believe that many OS vendors would love to replicate the ubiquity that JS brought to browsers; noting that JS is also backed by a set of standards.

Anyway, I'm still gon code Java passionately while it's still relevant, though I doubt Oracle would fold their arms and watch Java die.

BTW, if you want to try the new release of Windows before it is finally released, then visit dev.windows.com and download it. I'm not a fan of pre-release versions so I'll just wait till it's finally released.

Image is courtesy of http://cybergyaan.blogspot.com.

P.S. Why is every top personality in Computing named Stephen? Stephen Jobs (Apple), Stephen Balmer (MS) and Stephen Sinosfsky (MS). Ok, I'm changing my first name to Stephen too :)

Monday, September 12, 2011

My #SWLagos Experience.

TiketMobile, the second placed idea is a beautiful one. I got to know about the idea when Constance came to UNILAG to tell me of a wonderful idea has. It was at Jaja hall and we sat at the quadrangle, Constance told me that he had figured out a way of getting people to easily buy tickets from their mobile device. He gave a few scenarios and I grabed the idea. We refined it a little bit and looked forward to an opportunity to work on it.

Down the road, he started working with me to get FriendsGreet out and then he told me that he would love to try this idea out at Start-up weekend. I thought it would be a wonderful opportunity to network with other techies and learn a thing or two. Also, the idea of working on a project with a random team sounded like fun. So I did some stunts on twitter and got registered :)

I must confess that if my team hadn't taken second overall on that evening, I would still had been really fulfilled. For me Start-up Weekend was more for the experience than the prize. It gave me the opportunity to see mobile app development through the lenses of Ope (a wizard, I must confess) and also to see the "benefits" of Lift Web Framework (I'm sure Seyi would laugh here) via the insightful analysis of Seyi (BTW, I'm still vexing with L'Erin for taking Seyi away from my team). Also to work with Joe, a gifted graphics designer (who happens to know every high-brow, silicon valley tech blogger and thinks I should blog more too) and Desiree, a really beautiful lady who happens to be a coder too. She's also a wonderful team player as she easily plugs in to the personality of every member of the team.

Start-up Weekend Lagos also granted me an opportunity to do some stuffs for the first time. I got to work on GIT for the first time while pushing TiketMobile web services to AppHarbor. BTW, AppHarbor is a really cool cloud platform for hosting .NET, very easy and straight to the point. Thanks to OO for the AppHarbor tip and Tomiwa for helping me figure-out how AppHarbor works when my head was deep in codes. I also got to meet Maxwel, who said he has been following my blog since wining the first Imagine Cup challenge. I really, really do appreciate :)

All in all, it was a great experience and very fulfilling. What more can I say, my team came second behind a team composed of (obviously) more experienced people. Thanks to everyone for sharing three days of their life with me :)

P.S Err... Francis, thank for registering me in such a short notice, I promise not to put you on the spot again :D
Update: TiketMobile is on twitter at @tiketmobile and TiketMobile on Facebook. We are still gon be developing actively but we are currently at http://tiketmobile.co.cc

Friday, September 2, 2011

Yet another Bulk SMS Platform… Sorry, it’s Bulk SNS

In case you are wondering, SNS stands for Social Networking Sites.

My BSc thesis discussed my study and creation of an application which lets users broadcast to all the contacts on their social networks the way it is done on bulk SMS. I call it FriendsGreet.

The original idea occurred to me around the last week of December in 2010. I wanted to yell a personalised “Happy New Year” to all the contacts on my Facebook so I sought an application which would allow me do it and I foundeth it not. So I decided to create it. I did the barebones and abandoned it for other things. When my final year project came calling, I submitted two proposals one for building a NoSQL datastore (which I called LabRat) and the other was FriendsGreet. When I attended Prof Uwadia’s (my project supervisor) inaugural lecture (which focused on SNS and its effects in Nigeria) around April or May, I was inspired to resume work on FriendsGreet again. I was glad when he approved FriendsGreet.

Below is the link to download my proposals for LabRat and FriendsGreet and also, my final year project write-up (which you should actually be interested in :) ). I’m currently working actively to get FriendsGreet out so you can start using it.

This is why I have been offline for ages, now I’m back. BTW, follow me on twitter on @celestocalculus. I've resumed work on CSC Lounge too.

LabRat proposal.
FriendsGreet proposal
BSc Thesis.

Disclaimer
The work on this thesis is original. Any resemblance to any other work before this is purely coincidental.

Monday, May 30, 2011

New look of CSC Lounge

The major feedback we got was on our UI so we decided to do something about it.

Throughout the month of May, we have been trying either to recruit UI/UX experts into the team or buy a UI. A fortnight ago, we decided that we would hack our UI ourselves if we don't get a UI/UX expert with our requirements. We knew the technologies involved, we are trained computer scientists, we know the issues and the things to look out for but we were just not UI people. I did the last interview for a UI expert on Monday, 23rd May and I thought we had gotten our man, I even blogged about it. But it appears our new recruit was not ready for the fast-pace which we require to move at when he didn't show up for out (proposed) UI hack for the first two days.

When you want a UI which loads in the quickest time possible and you want to control every code that runs the UI, it's hard to get someone. Around here, what is mostly obtainable is people who create image slice in Photoshop for their webpages. We didn't want that. This is more reason why CSC Lounge is needed!

Buying the UI was also an issue because most theme shops require buyers to pay via PayPal -- and in Nigeria, PayPal services is not available (I really wonder why I didn't get my foreign friends to help me buy and e-mail it to me, maybe because I'm not a fan of buying UIs).

Hacking the UI was the (only) option available to us. Jide designs HTML at his current full-time job, but not in the way we were going to do it. Hacking web UI would be a new experience to me -- a (mainly) back-end and application logic coder. I was excited!

We hacked from Thursday 26th and Saturday 28th May, 12:00 am to 6:00 am each day, eating only fresh fruits in the process. We logged our sessions on twitter from time to time with the hash-tag #CSCLoungeUIHacking. We hacked with just notepad++ and our browsers -- no IDEs involved/allowed.

Our first draft UI has been hosted on our domain and it's accessible via http://csclounge.com/new/. Jide did the HTML, I did the CSS and we had colour advice from my younger brother Anthony. We are currently finishing-up the CSS and yet to do the images, but that is the final theme and outlook.

Please check it up and give feedback. Thanks.

Special thanks to those who were with us on twitter during the process and also those who thought that it was a bad idea tweeting our coding sessions: @DavidAdamoJr, @OOTheNigerian, @Mukoshy @LatoyeCFC.

On the 14th of June, I'll be 23 (I'm feeling old already) and we would be releasing the fully functional version 2 beta by then.

P.S.: Anthony is a final year architecture student at The University of Nigeria and currently holds the award of the most creative student in his school. Awarded by the Students' Union. He heads a team of digital and print graphics designers. Connect with him on Facebook here

Connect with CSC Lounge
Twitter: @csclounge

Sunday, May 22, 2011

Building Nigeria's Tech industry -- You are responsible

Last Tuesday, I was a guest at the first meeting of 200 and 300 Level, University of Lagos' computer science students who are beginning now to plan their participation at the 2012 Microsoft Imagine Cup. In attendance at the meeting was no fewer than 10 student tech enthusiasts, including 2 ladies. Upon quizzing one of the [pretty-looking] ladies, I discovered that she was still in the foundation program with a lot of interest in DBA -- particularly Oracle. My presence there was some sort of inspiration to the students as they plan their onslaught.


So who am I?

"Once you are lucky, twice you are good" -- Sarah Lacy

I had been a member of teams which won two editions of the Microsoft Imagine Cup competitions (Nigeria challenge), back-to-back. I was the Leader of the team the second time. In 2008, my team represented Nigeria in Paris and in 2009 my team represented Nigeria in Cairo (with me as the team leader).

I'm currently serving an extra session. I should have graduated last session -- also, I should have dropped-out of school. Due to the advice of my course adviser, I took few units both semesters of last session, deferred my final-year project and spread my final year over two sessions. This enabled me put more into my technical and entrepreneurial development.

Among the students present, I personally mentor 3 of them directly. Currently, my presence with the students means a lot to them, it's like a morale booster. It makes them believe that being technically sound pays -- even if it's just a free trip abroad!


On being technically sound...

A lot has been said about Nigerian graduates not being technically sound. Lately, there was a heated discussion when someone put-up a really short note on how many Nigerian techies are just a reminiscence of Milli Vanilli.

Really, I remember how it used to be when I just got admission into the depertment. For one, I was the only one in my class who would (arrogantly) focus on the technical importance of what is being taught as opposed to the grades. This is probably partly because I was writing code before I got into the university and partly due to my undying interest in computer science. It took like my second Imagine Cup victory for a lot of my classmate to begin to see beyond the school grades but this didn't go deep because the set following suffered the same fate.

A lot has changed now. With the ascent of Dr Fasina as the new HOD, a lot of focus has shifted from just producing a set of nice grade, ply-card carrying graduates to producing technically sound graduates. This is quite evident with the introduction of a modern functional programming language (python) into the school's curriculum for year 2 students. But with the fascination with the Imagine Cup, I'm sure it would take more than that to get students to see the real importance of having the skills.


A change in direction...

While speaking to them, I was quick to remind them that having technical skills was more important than taking part in the Imagine Cup. I told them that the Imagine cup was just an opportunity I took advantage of -- because of my skills. I made them see the importance of building a community that would be of mutual benefit to everyone in it. They could discuss on the new cool thing they are learning and the project they are undertaking. They listened and they noted it.

They listened because they see me as an influential figure that has a few feathers of achievements on my crown. They would listen to anyone else whom they view in such light.


You are responsible!

We can write notes and blog posts, and move around in an [air-conditioned] saloon car, and complain about how bad it is to get people to employ and/or work with us on projects and how the school system is so messed-up in Nigeria.

That is easy, very easy.

Much easier still is talking [and blogging] about successful Western tech start-ups. Their stories are just so magical, like they were taken from a nursery school fairy-tale.

The hard part is doing something about it. When it comes to this, there is always an excuse -- "I'm too busy", "they didn't even design the page well", "No I cannot write or talk about them, they are wannabe's, and they probably won't go far". While we give these excuses, Nigerian universities continue to produce graduates who are not technically sound and who would have been better if they had a little mentoring. A little more motivation from people who should actually set standards in the local IT scene would make a lot of difference.

Lately, one of my [graduated] classmates argued that most successful tech entrepreneurs were just business people who hired technically-sound people (citing Bill Gates as examples) and that being technically sound would not take you far. I wonder how many (Computer Science) undergraduates operate with these principles. But in the midst of all these, a lot of them still want to know and would do better if you spared a little time, out of your comfort, to tell them what they could do -- from your experience.


Re-introducing CSC Lounge (http://csclounge.com)

It is on the backdrop of this that I and a friend came together to create a web platform which allows you to indirectly mentor undergrads. We call it CSC Lounge. CSC Lounge lets you post technical 'dumps' -- tweaks, how-to's, slides or a fully fledged article -- in order to instil interest on undergrads. The follow-up on this would be a series of discussion which would provide an opportunity to mentor students who are interested. We are also building algorithms to recommend users to employers based on the users' activities on the platform.

I had earlier started-up a direct mentoring project (see http://ezeokoyecelestine.blogspot.com/2010/09/raising-successors-celestine.html) and it has been successful with the only student I recruited onto it. In a period of 6-months (or less), I've helped him chart a course in Java programming with impressive personal projects (GUI based single user and networked multi-user tic-tac-toe game, multi-tab text and HTML editor with different colour themes, etc) to show for it. Currently he's grabbing database development. He did these while still maintaining a good grade. I didn't do this by sitting with him and instructing him all day. I did it by first igniting interest in him, then occasionally checking on him from time to time and answering his questions. I know a lot of impacts would be made if we can reach out to undergrads in this way.

Based on the feedback we got with what we currently have, we are re-implementing to include a number of use-cases and a redesign. We would re-launch soon with a more appealing UI/UX and more interesting use-cases and we would call on you to help mould Nigeria's future.

Get Involved!