Thursday, March 31, 2005



If you’ve not looked at this yet, as a linux user, then you better do:


I think I like the idea a lot. I’m gonna try it out this evening, and post my impression. I think this maybe the final piece of the ‘ideal’ linux desktop I’ve been conjuring up. The base will be ArchLinux, and will be managed by ‘pacman’. This base can be installed in 6 minutes flat. Oh yeah… baby… you heard me write.


The next layer is the GUI layer (sort of how win95 used to interface with DOS back in the day). The GUI of choice for me ofcourse is E17. I really can’t think of another choice (ok… XFCE4 will be another good choice). The GUI will have the basic E17, be started by entrance ofcourse, and will have 1 or two system utils, but this is not core as a first goal, since the userbase target will be firstly adept users who want some real eyecandy.  All administration of the base system will be as ArchLinux does it – from the commandline. Administration of the GUI layer, will be via E tools. Package installation, will be handled by something like Autopackage. Its still a rough idea, but I can see how this can really work.


I don’t really have the time now, but most of the work is already done by the respective projects… all that is probably left, is properly unifying them.. hmm… LIVE!!!



Thnx to Stan, the company website is finally live. YAY!!!



Good work Stan.


I’m still trying to build a graphics team. If you want to be on this team, you can still send me your CVs to



Monday, March 28, 2005

e17 rocks!!!

I finally got around to installing e17. Stan, your eyes will pop on
this one... trust me :)

I started out the easter period by downloading all the packages in the
EFL. Apparently everything but EWL downloaded properly.

I then finished my build script 'builde', since everything has to be
built and installed in a particular order, and there was no how i was
going to be doing that by hand... no thank you sir. Builde is usable
now, but it builds 'pacman' compatible packages and installs them, so
it may only be usefull if you use 'pacman' as a package manager.

Everything in the EFL builds except esmart, and i'm not sure why. It
doesn't seem to be finding ecore, which i've verified is installed and
stuff... i'll have to look thru this latter.

Just before i downloaded e17 tho, I learnt lots of archlinux folks are
package e17 from cvs, so i decided to check out one of them, and
grabbed e17-cvs from rensel's TUR..

if you're using Archlinux too, just add this to you /etc/pacman.conf:


Server =

ofcourse you have to 'pacman -Sy' after that, then 'pacman -S e17-cvs'.

If you're using my transaction patch for
pacman(, you can do 'pacman -S
-tN transaction-name e17-cvs'

latter if you don't like it, you can roll back with 'transpacman -r

This ofcourse if you're using my transaction-patch for pacman.

I also uninstalled e16, since some paths from e16 where masking out my
e17 paths. i modified .xinitrc, commented out "exec starte16", added
"exec enlightement" and BOOM!!!! I would have died of exctiement. The
startup animation is really cool. I'll start puttin up screenshots on
my website as i start to play with it. but wow... it feels wonderfull.

I still haven't seen anyone packaging the full EFL, so i think i'll go
ahead and stilll do that, cause i want to write some EWL programs, and
probably some EDJE stuff. I think i'll start by building PM Manager for
Linux. That will really be cool.

Ok... let me continue... I've just 'prozilla'd EWL source from, so now to build some more.

Oh yeah, there is a cool tutorial at


Friday, March 25, 2005

Team Vacancy

I have a vacancy on my team now, particularly for Web/Graphics guys. And just incase you don’t know, yes, I’m located in Nigeria.


Send me an email to, with your CV.



Essien  Ita Essien


Wednesday, March 23, 2005

More Feedback & Weblog Ring

I got yet another feedback, this time from a kewl dude who runz the Nigerian Bloggers WebRing at, that’s Tim Akinbo (


I’ve signed up for the webring, but I’ve not gotten a reply yet. I’ll keep waiting J


By the way, he was also curious as to if I actually reside in Nigeria at present. For the record… YES!!! J (is that hard to believe? Oh well… I’ll say there are still lots of cool guys in Naija… way better than me also… this is ofcourse if you believe that I’m good :D, just by reading these things I write… hehehe… for all you know, it could be a knowledge scam)





Essien  Ita Essien



Last week or so, I got this by mail. It’s a feedback by a fellow Nigerian in Nigeria who’s been inspired by my ramblings, I like the guy already. I’ve snipped out some parts of the message, that prove that I’m part of the WORLD-DOMINATION-PLAN ™ :D





I came across your blogger page last month and have always been going back to it, every now and then.


I find it hard to believe that a "Nigerian in Nigeria" would have so much skills as you claim. I am also a Nigerian in the same Open Source field with you, but i tell you, all that i know today is by Self Development and the drive to learn.


I work as a web developer, and since my company is a small one, i do all the page design, dbase design, scripting, networking and all it takes to host a site. I use MySQL,PHP,Apache,Linux (LAMP) since my company doesn't want any legacy code nor locking to a vendor.


I'm pretty new to the Open Source community, but the drive is there to learn. I've come to understand how unix works. I manage a Debian OS runnig on pebble. We use that to run squid as a transparent proxy, a cache and web server. I also manage a RH 7.3 Linux which we configured to be a mail,dhcp server.


Right now i'm learning bash and also configure iptables for a future plan of running vpn on the linux server.


We also plan to use d pebble distro on a Compact Flash to run a small wireless community in our neighbourhood (hotspot 1.5km range). Plan to use nocat on it.


In all this, i would say the net has been a huge source of technical resource for us here.


<snip reason=”proves I’m part of WORLD_DOMINATION_PLAN™”>







Anselm Ogbunugafor.

Arts In Science LLC

<snip reason=”protect the guy’s privacy”>








This is very encouraging… really… does it mean I’m BADASS? KickASS? PLAIN_EVEEEEL?


I’ll leave you to figure that out :P




Essien  Ita Essien


Graphics & Code

Recently, I’ve had to do some website template designs, as we’re still in the initial stages of building our core graphics team. Myself and Stan have had to be the adhoc graphics team for a while. I’ve had some rather extensive graphics experience with a Video Production Studio (Tornveil Television), and its always a pleasure to do any graphics work. Its another side of my nature…


But recently, I’ve had to be constantly pulling my brain between graphics and code, mainly because I’d stayed out of graphics for a while, and I’ve been trying to come up with a neat way to “segmenting” my brain so that I can work on both without much overhead as I try to change my thinking. Its not too easy I must say, but I yesterday, I started thinking in terms of “libraries”, so that I can apply all my knowledge on code reuse to Web-Graphics reuse. Now, I’ve been doing this unconsciously, but I decided to “formalize” it. What I’ve started doing consciously, is to make designs that are color theme agnostic. Now, in the course of a single design, I modify the color themes, test with various combinations, such that the design on its own, can flow in any direction we want to apply it. The advantage of this is that if I keep doing this, and the rest of the team adopts it, 6 months (or even much less) down the road, we’ll have so many TRULY reusable themes and templates that some particular jobs will be a matter of integration instead of the Design and Integration model that we seem to follow now for every new job we get.


I think there’s a lot to be learnt from managing both Graphics and Code together almost simultaneously. The thing that graphics does for your coding, is a sense of intrinsic beauty and symmetry, so you learn to appreciate the layout of the code, and hopefully produce better code. Also, once you learn to appreciate the rather subjective areas of graphics, you get to learn to “FEEL” subjectively on a lot of things, and I’ve learnt that this subjective feeling (lets call it the subconscious as a lot of others have called it), if allowed to develop, can be a real valuable guide when making design decisions in either code or graphics design, and in general any creative endeavour you may be involved in.


By the way, yesterday, I downloaded the EFL (Enlightenment Foundation Libraries) cookbook from the Enlightenment Project, and MY OH MY!!!! Those folks have done really good on library design. I think Rasterman is simply cool, in that he followed his gut feeling on most of the code and has come up with these cool libraries, look at imlib2 for instance, its so trivial what can be achieved with it, that it makes you feel the power behind it is as trivial. This is the result of someone who has both a good graphics nose and a good coding nose. Kudos E Team.


Looking at the EFL further strengthened my opinion that the secret of good programming is a good well evolved library. And the abstraction levels in the EFL is soooooo high, you’ll wonder what ppl mean when they say OOP aids abstraction and then you look at libraries like Java libraries and .NET libararies and wonder…. Where is the abstraction? EFL is soooo abstracted it reminds me of Python’s motto: “Batteries Included!”. Serious, those Python guys are not joking when they say that… the libraries are almost a joke to use, and EFL follows this path… I’m soooo impressed.


Ok… just had to post that… back to work. J




Essien  Ita Essien


PM Manager version 1.0

hmm... recently, i've been made the Operations Manager of our coding

this is rather interesting, tho i'll say i saw it coming. In the few
days since then, its been rather crazy, culminating with me staying up
all nite yesternite/today morning. what i really don't want to happen,
is for me, for any reason at all to move away from active coding, but
look at statistics.

productive billable coding hrs yesterday: 1.5 hrs

hrs used for project management and other stuff: 5hrs

tha'ts not good. but at this time, i'm still trying to get everything
in line once everything is well reigned and our clients are happy with
our delivery times, my coding will rise once more. I used to lead on
productive hrs, i still want to lead my team as much as possible, just
because i'm doing more management and other stuff doesn't mean my
coding hrs should drop. or does it? :(

Anyway... i kept this one hidden from you guys. I just spent the last
10hrs + working on integrating libpm ( the C# version), with another
program Pm Manager written by Sadiq (one of our developers), the two of
us stayed back after work yesterday, and went at it. right now, 10hrs +
latter, and a couple of naps in between. The program is ready for use
as is. There's just one more thing i want us to add, for maximum
usability. but hey... that's what raw coding is about :)

What i'm trying to unconsiously drive home with this project, is a
coding culture. I've read about IBM workers that coded solutions to
problems they were having, and it latter becomes a huge company
software. Infact, that's how UNIX came about... just some coders in
AT&T labs trying to play a game they had inherited from a defunct
'Multics' project.

I think that once programmers in a programming company learn to
REDISCOVER the love for coding, while at work, productivity will
increase. I say rediscover b/cos apparently, most programmers just love
programming TILL they start working, then it sort of becomes a drag
because they're not working on exactly what they would like. But i
think something can be done about that to make boring work begin to
seem cool again. Something else i notice is that programmers are
usually throwing the phrase "I should write a program to do that"
about, but very few actually get around to doing those. I'm trying to
see if i can imbibe the "Just Write the Damn Program" culture into the
team at work. If we can get a bit of that... i know lots will happen to
our morale level and productivity will increase. I can't explain how,
but i just know it will happen. Its sort of the reason that Open source
coders that work in other companies are usually among the high

ok... i'm rather tired... lemme catch some sleep, as much as i can.

does this blog seem scattered... prolly because i'm sleeping thru it.

Network Latency

About 2 weeks ago, we purchased a VSAT solution from Accelon Africa (the
Nigerian Part - i think they're slightly different).

since then, its been crazy trying to do any non HTTP service across the
link. Its totally slow. There are a rather large amount of hops between
me and the first router on the internet. Ping time statistics are in the
> 2000ms range for a gauge use.

Been trying to resolv it with them for the past two weeks too.

thing is, the Customer Service team is nice and all that, but they took
a little bit too long to finally come to the same conclusion i had come
to last week. that their network latency is waay too high. It seems tho
that yesterday, one of the network guys has checked it out toroughly and
even benchmarked against a direct SAT 3 link.

Sum total is that by this morning it should be fixed.

hopefully i can start getting my mails normally and doing ftp including
aceess our offsite source source control server.

Friday, March 18, 2005

PM Update


i'm just watching my screen and seeing stuff like:

Publishing 1 .... Succeeded!
Publishing 2 .... Succeeded!

I guess that concludes my emergency PM episode.

like i said earlier... i ROCK!!!!!

PM Update

on a scale of 1 to BADASS, i think i KickASS!!! :P

okay.... i didn't finish on time, but currently the whole utility set is
usable, and i'm using it to fill my PM before Kevin and Ryan resume work
and get on my case. :)

Darn, i made some silly moves in the library, and had to take time to
refactor and stuff, but i've dropped a lot of TODO's in the libraries
and utilities.

Basically, it looks like this:

'pmsync' connects to the webservice, grabs all info and stores in some
local xml databases.

with 'pmlookup' i can query those databases extensively. There's
probably more work to be done here,but currently, it works well, what i
now need to do is proper textual search here.

with the information i garner from 'pmlookup', i currently build a
normal comma seperated text file. I then have a filter 'txt2subtasks'
that converts the text file into a local subtasks xml data store.

'pmpublish' just grabs any subtask xml data store and pushes it back to
web PM.

the hard part rite now, is adding the information to the subtasks xml
data store, ideally, i should have 'pmadd' to do that for me, i'm using
the text file as a quickie solution so i can meet my deadline for today.

Stan is also using this set which i call 'pmutils'.

This weekend, i'll round them up, do more refactoring on those libraries
(db_core, db_utils,web_utils), and by next week, i'll be ready for prime
time. I've post-poned this enuff, and i think its just as well, that i
got myself in a mess that only my brains could get me out of!!!

did i say i rock?!!! :P

libPM to the rescue

oh boy... now i've done it. This period, my PM Entries haven't been
entered at all, and i HAVE to finish this today, and i uhh... had
abandoned libPM for a while and had not finished the app that will use
it to fill my PM.

Now, i HAVE to finish the app, and use it to fill my PM before 13.00 hrs
today. I started yesternite, and i think i've done the most part... now,
i'm still working on it, and i should be able to have it ready to use in
the next one hr. uhh... yeah, i'm using the Python version, too much
work to complete and use the C# version.

i hope i can beat the deadline :(

lets see how fast i can move

Friday, March 04, 2005

libipq Hacking

wow, i finally found time to do this!!!

I'd been planning and procrastinating libipq hacking for a while. Early this week, i googled up a tutorial, and followed the man page, but got stuck on a small error. The helpfull netfilter-devel mailing list helped me out here, and its a mistake i'm ashamed of.

In , theres a typedef that looks ruffly like:

typedef struct ipq_packet_msg {...} ipq_packet_msg_t;

In my eagerness, i wrote code of the form:

struct ipq_packet_msg_t m;

Ofcourse, this is wrong, since i should either do:

struct ipq_packet_msg m;


ipq_packet_msg_t m;

not what i did earlier. i got a compiler error: dereferencing incomplete pointer type, and i had no idea what was wrong, since i wasn't looking too closely... good for me huh? :)

anyway, i'm up and running, i have a basic program out, and i'm fleshing it out.... i have some ideas for small projects, but the main intent is to fall deeper into the netfilter code, and linux networking as a whole.

i'll take it easy, so i dont get overwhelmed and run away ;)

wish me luck...


Tuesday, March 01, 2005

Big Blue Romances PHP

All thru the weekend, there were articles on IBM’s new commitment and interest in PHP.

Now, this may or may not be big news for you depending on what kind of coder you are. If you are the enterprise-only-learn-one-language-and-one-platform-and-am-satisfied-thnk-you kind of coder, well, I’m guessing you’re already stuck to a platform, and it may not be PHP. If you are one of those that are looking at Open source, and its flagship children – Linux, MySQL, Apache, etc, with disdain, well, again, I guess this will not mean much to you (tho I have one word for you: WAKE UP… ok… so I lied, so its two words…. What the heck?!!)

Now, if you’re like me, an Open Source, Open Standards, Open Technologies, Open OS afficiando, then this is interesting news. Not because all of a sudden PHP has become a usefull language… ofcourse not, it has ALWAYS been a usefull language, and people that use the likes of PHP, Python, Perl, usually have difficulty enjoying work if its in one of the more stubborn languages C#, Java, C++ (have you noticed my EXCLUSION of C here? Yup, C is in a different class of languages, especially wen weilded in the hands of a real code slinger. When used properly, I have far less what-the-heck!!!??? Than I have when using Java and C# libraries (note… libraries).

What this news means really, is that one company is finally bold enuff to admit what all of us code loving lazy programmers have known for ages. That dynamic languages are the future. Its funny because, OOP seemed to have been touted by companies that had stuff at stake, and they tried to force it down our throats like the ONE TRUE SOLUTION, which we know doesn’t really exist. Dynamic Languages on the other hand, have been around like for ever… from when OS Shell’s and shell languages where first invented, and probably, trully born when Perl was written first, but no one wanted to be coporately associated with them, because they were for ‘QUICK HACKS’ not for REAL robust applications… thank God finally, Agile programming has made us understand that the ‘QUICK HACK’ is the correct way to program. Still big firms have not been bold enough to adopt these, only small companies that can’t afford to sit around writing bloat ware have jumped on. Why I mentioned OOP earlier is because, proponents of OOP (ok, some of them), usually site Abstraction as a great Benefit of OOP. Ok… lets agree with them. But C# and Java, in all their OOP gloriousness are not even closely good at abstraction of concepts as Python, Perl, PHP, Ruby, etc, so if OOP is all about Abstractions, and Dynamic languages are better at abstractions, why havent’ other big companies jumped on the Dynamic OOP supporting languages yet? Smell a fish? I think so J (one person actually suggested it was because languages like Python, Perl, Ruby, don’t need Million Dollar IDE’s which these Big companies sell, to be actually usefull, since there’s really far less to write.)

Incidentally, Big Blue seems to be making this move now… I think I must really commend them. They will be a point of reference now for lots of other big companies, just like what big blue did for Java then, they’ve been doing same for Linux for sometime now, and they’re doing same for PHP. I’m not a buzzword fellow, but most big coporations and their Managers just need these buzz words. If BigBlue can generate a buzz word of PHP and in general Dynamic Languages, and coporations need buzz words to choose the right thing… then so be it.

All in all, I think its all good. I just hope people in the direct field of technology (software developers, software project managers, ‘software architects’, etc), are taking note. It will be a pain to be running a company on a technology today, be a victim of vendor lock in, and suddently wake up tomorrow to find yourself a niche provider, with the tables turned on you.

Anyways… as usual… ‘tis my blog J

libpm (Python Version)

I just started the Python version of libpm, just to get it to the same stage with the C# version, and OMG!!!! it took all of 10 mins :)

Why? Well... python has this excellent urllib and urllib2 libraries... actually i used urllib in this case. Also, the highlevel functionality of Lists in Python, beat my need to build pm_info objects like i did in C#. Also, I am slightly pumped on unhealthy Python Hasish, which I normally indulge in late at nite. (Its usually Python Hasish or C Hasish - these are the real evils of a late night hack ;) ) - Uhh... just incase you're wondering... yup... you're right... that is pure crap.

Anyway... let this be a lesson to you kids... always eat your vegetables... or they might just eat you. :)

Uhh... too much hasish... gotta sleep now.