Monday, May 21, 2007

Breezing Away With Miles Davis



For the past couple of days now, I have found myself listening to Miles Davis back to back. The dude so soulfully, jazzy and smooth. I have been silently wishing for more tracks of his; and well, you know what they say about the universe responding to your wishes? I just found out my new neighbor is also a big fan of Miles, and he just happily shared with me a trailer load of tracks: more like a discography!

Well, when music so soulful, you will always want more!

And for you folks who don't know who Miles Davis was, you can read up on him here

Monday, May 14, 2007

Problems With API's

Timba has a blog post where he made mention of the unreliability of API’s, expressing his reluctance to build applications on them since most platform vendors have this obnoxious habit of not making newer versions of their API’s backward compatible; Breaking applications that already exist on older versions.

I quite agree with him. Facebook isn’t the only one guilty of this crime. Amazon and Google are other API providers who have, on the sudden release of new and backward incompatible versions of their services, caused developers to scramble to rescue their applications from the hands of vagrant APIs.

Guess we are having such scenarios due to the fact that providing API isn’t much of serious business yet and as such, platform vendors don’t take into consideration applications already built on top of their services. The maturity needed to warrant such consideration has not yet set into the service vending model. So you can have a platform vendor change the structure of their API overnight without notification, after all, you didn’t pay a dime.

Not that having a free service should authorize such thoughtless treatment on the part of those who consume them but having a paid service will do a lot in instilling a level of maturity into the model. And when we have more of API’s being pushed to market a larger service, just like Microsoft is doing with their video streaming services, we will have more stable API’s.

Generally I feel it’s pathetic and unethical for vendors to be such a pain.

Dare Obasonjo also has a blog post on this issue in which he stated that:

“One of the primary goals of a platform vendor is to ensure that the lives of developers on their platform are as easy and smooth as possible. This means releasing a new version of the platform should not cause developers who have taken a bet on the platform to have to rewrite their code.”


He then went ahead to propose guidelines that might help in preventing the issue of backward incompatibility. His post makes do for good reading.

Preaching the Gospel of Technology…




I’ve been away for a while.

Yeah after spending some period of idleness in Ibadan, I decided to move to Ife to get some work into my system. And sure, I've found myself in one activity or the other ever since i got to Ife; the talks I've being giving being inclusive.

Apart from the saddled task of designing a new look and feel for my college website, I have been present at seminars and workshops organized to sensitize youth corpers on the need to embrace Information Technology. Making them see the change information Technology has wrought and the reason to have a destructive mentality according to the words of Tom Peters in his book: Re-Imagine!

It has been a good time: enjoyed myself and enjoyed showing my audience that their jobs are at the risk of been snatched away from them, to be given to computer software or handed over to folks residing on the other side of the globe. And it has been fun getting the initial Luddite reaction which then always leads to questions on how to move up on the skill-chain or how to be the folks catching jobs been flung from the other side of the globe.

I look forward to having more of these seminars. But wait, while I was away, what was it about Microsoft buying Yahoo! And then again, what is this d*mn thing called Silverlight that folks are hollering about?

Monday, April 16, 2007

A New Voting System

Thinking about it, if really the purpose of Voting is to allow the people to choose whom they want as their leader (which I believe is the case), then I think our present voting system might not be the best approach to achieving that desired result.

Not that the present voting system is flawed or something of that nature, its just that with our present technological advancement I believe there is a much better system for distilling the leader of choice from the populace.

I was just thinking the other day; Instead of a system that operates by people casting a vote, why not have one that operates in such a way that people lists in other of preference, whom they would want as a leader. Then aggregating the entire list, the leader of choice will be determined.

I feel such a method of sampling will return a more accurate picture.

The question we should ask ourselves is this: why should the voting system be set up in such a way that it is “vote for one, eliminate the others”. What is stopping us from having a voting system that is modeled in such a way that sampling takes a preference-listing fashion?

Of course the weight of each preference will have to be different for this method to be sensible. The weight will have to be determined by some statistical principle.


I feel that with the level of sophistication we have achieved in software/computing and other technological achievement, this idea is not only visible, it an idea that we should start working towards. Nothing is stopping us from rethinking our voting system.

Let me know what you think.

Wednesday, April 11, 2007

Understanding layout with CSS

If you find yourself banging your head against the wall when using CSS, strictly for your layouts, then I can bet the London Bridge that you have not yet acquainted yourself with concepts like normal flow, box model, and how these come into play when using float and positioning.

I wasn’t able to really use CSS for layouts myself until I took some time out to try and get a handle on these concepts. Before then it was more of trial and error.

The normal flow explains the default flow (positioning) of your XHTML elements.
The Box model explains how the browser renders individual XHTML elements
While float and positioning allows you to specify the position of XHTML elements outside the normal flow.

I should be able to, one of these days, sit down and write a comprehensive tutorial on these concepts, but while I wait for that time, I suggest you rather Google the web for tutorials already out there.

Thursday, March 22, 2007

Clearing the Air

Across various blogs and with discussion amongst folks, I have been observating an assortment of arguments over Ajax and its rights to be referred to as an enduring technology. Some are like it’s the magic potion we need, some see it as just good enough while some refer to it as an error.

Well, right now I’m not interested in directly saying which point of view I feel is right or wrong, I just want to correct some misunderstanding I see often times in most of these arguments:

NO1: Ajax is not a replacement for desktop applications
, neither is it set to make them obsolete. Sure some applications will have to be redeployed as Ajax application to increase their value, but some will still remain as desktop app since there will be no need to Ajaxify them.

If it is understood that Ajax is a ‘design approach’ and that not every problem will require Ajax for its solution then we will stop regarding it as a panacea. Having applications like meebo, kiko, or utorrent as Ajax application makes perfect sense but that does not mean that every desktop application will have to be cloned into an Ajax application.

NO2: Ajax is not a replacement for our good-old web applications
I have encountered rants about Ajax as if it’s the messiah of web applications all developers have been waiting for. Well, this is expected. New and innovative technologies always enjoy tremendous amount of hype which, often times, is not equivalent to the productivity they really offer; so Ajax is just having its share of Buzz.

But it still boils down to understanding that there will be situation that will call for the Ajax approach while some won’t. I mean look at google maps, such an application, which requires an asynchronous communication between client and server may require Ajax. On the other hand it might be overkill or overzealousness to implement Ajax is some domain. The last time I checked, our good old google page still refreshes.

NO3: Ajax is not a HACK
Ajax, in some quarters, is referred to as a HACK. Wrong! Ajax is perfectly not a hack. I mean if Ajax is a hack then stuff like lamp should also belong to the hack club.

The principle of Ajax is simple. It is having different technologies, in their different domain, working together in a holistic approach: Javascript, whose domain is the browser, remains in the browser, the XMLHttpRequest which handles the asynchronous request does nothing more but that, XML or JSON, takes care of the data wrapping while PHP, Python, Java, or whatever server side language you choose handles the back end. So tell me where the hack is, in that set up?

NO4: Ajax is not overkill on the browser
I have heard the browser described as just a document rendering application and that it is eerie to use it in such a manner that Ajax suggests, that is, as a User Interface. Wrong!

Maybe some years back when the browser was just an application that parses HTML codes and displays it as directed, such a description as a document rendering application would have been apt; But not the browsers of today.

API’s like the DOM, BOM and things like plug-ins etc. which have crept into the browser over the years now makes it more than just a rendering application but could easily pass for a ‘maturing’ User Interface.

No 5: Libraries are not bad
Dojo, MochiKit, Script.aculo.us, AJASON, and the rest of them.
Having code libraries is not evil and neither is it new. Libraries have been in existence since time immemorial or what is STL to c++ and having libraries that prevents you from the hassles of writing a lot of code and at the same time taking care of problems that are peculiar to the Ajax architecture is not such a bad thing…at all.

Is YouTube Evil?



The recent $1bn threat coming on Youtube from viacom is no longer hot news.
And I am hearing that Youtube has gone on some recent video deleting binge.

I’m just crossing my fingers waiting to see where this will lead to.

Personally I think the whole 'new media'/'social-network-sharing' movement is cool. I’m not totally against it. But I think if a business model blatantly aids, copyright infringement without putting in place machinery to curtail it, then maybe such a model is evil.

I’m not hoping to see another napster episode. Instead I hope stakeholders would parley up to find mutual benefits that can be derived from sites like Youtube. Cue should be taken from the BBC-Youtube agreement .