Friday 19 November 2010

To rant or not to rant

If I think about it - I mean actually ponder it over - before actually writing it does it make it less of a rant? Now that I've asked the question the answer does seem pretty obvious and the question, utterly redundant. The thing is, I've read some of my old posts lately and I've been truly shocked on more than one occasion. While english is not my first language (a scenario I'm genuinely grateful about), the truth is that it's the language I'm most fluent in (a scenario I'm somewhat indifferent about). I'm currently not worked up about the traffic on this site but I'm most definitely worked up with the quality of anything that bears my alta ego's signature (enough about scenarios already!). I generally write my posts in the train, Friday afternoon, on my way home - which leaves little enough time to rant much less proof read. I'm tired of pursueing this train of thought so that's that. But I'll say this - there's no point writing if even I can't bring myself to read what I've written 2 days later.

Today, I learnt another lesson I hope I never forget. It's that I should remember when I write code today that posterity (or some poor ignorant soul) will hate me or love me for it. It's like that Sarah Groves' song that says "remind me of this with every decision - generations will reap what I sow". In any case, I moved code to production a few weeks back that called a function that was written 5 years ago. The function should convert any number to six digit string prepended with zeroes and it does that - sometimes. The logic in the function is the kind of voodoo code that I used to think only I could cook up. I guess it's comforting to know that those superman senior programmers once wrote code that's as bad as what I currently write... at least a little. In any case, the logic in the function ensures that 331 comes out as 033100 but returns 310000 when 033100 is passed in. The function doesn't state any contract for the argument passed in explicitly but then assumes that only one type of string would be passed in. And this gold mine of a function is responsible for preventing about $1m in fees daily - go figure! Anyhow, lesson learnt - time to move on... or not.

We've been studying humility in my little church group. This week, though, we switch to "witnessing". If there's anywhere I'm an epic fail, christian-wise, it's at witnessing. Of course, failure to witness is probably the greatest sign of how little one has genuinely experienced and has a relationship with God. After all, it's a basic fact that when you are excited about something you want to tell the world about it. It starts to crop up ever so often in your discussions and you actually start to sound like the person (or the cartoon character). So, I'm looking forward, expectantly yet with trepidation, to the series on witnessing. After all, it's bible studies like these that can condemn you to heaven or hell.

Makes me remember the words of the Asa song that says "peace for the people who are gone, ye pa for the ones not yet born, war for the people who are here" (I'm not sure if it's war she says or woe in the last phrase but I figure they both come out the same way). We are all running a race we can't win. Fortunately, though, it's a race that's been won on our behalf (least that's the bible's take on it) - if only we'd accept and claim the victory like our lives depended on it ('cause it does) and surrender to God's will.

Friday 12 November 2010

Ah, the cynic in me.

The verdict

So America voted last week and they sent a message to the president. Fox, the self appointed emissary of the people, says the people want the president to fix the economy (cue hysterically laughter but anyway let's continue). So the people want the president to fix the economy and cut big government spending (are you confused, yet). They want the man to fix an economy that was wreaked in more than 8 years in 2 years conveniently forgetting that passing policy in congress today is a chore. Moreover, won't passing a resolution constitute creating big government and, hence, defeating the goal of the rebelling electorate. The craziest bit of it all is that to force the president's hand in the matter of fixing the economy, the people have voted in reps from the same party that was in charge when the economy tanked (as if the said party's philosophies could have changed in the 2 years since they got kicked out of power).

Moving forward

I could go on and on but in the last few weeks I've come to understand, a little, the kind of dynamics that brought may have brought someone like Hitler to power. The truth is, more often than not, we all do what the loudest, most popular person in the room does. We'll also clinged to anything that appears to be different from what scares us and has failed (Arsenal fans are very much skilled at this). In the case of the elections, this was made even easier by the fact that apart from voting out the incumbents, there didn't seem to be much by way of options. Ok, so there's the option of waiting and seeing how the current president's policies pan out long-term but mankind, sadly, evolved passed the stage of 'long-term waits' quite a few decades ago.

Or not...

I never was sold on Obama as a president. Of course compared with McCain/Palin it's a no-brainer who I'd vote for any day anytime. So far, though, he's come across as benevolent if a little naive. He appears to be determined to make things work but he is working with a bunch of people that are obviously more concerned with grasping power or not relinquishing it than solving problems. I think he is a good man, a good president but it would take more than a good president to move this country forward. It will take divine intervention. But then again the new congress may just, for personal reasons, work together for the good of the country after all. You never know (how much I love you u, frankie). So let's see how the next year plays out.

The solution we don't like

Talking about ideas and policies let's talk about communism and socialism (I still don't know the difference). I'm not a big proponent of either as practiced on earth but you've got to admit that the Christian community, as found in the bible, was not unfavorably disposed to acts that bothered on extreme communism and socialism. The beauty of the first century Christian community was that it was a community where nothing was forced. To picture it, imagine a community that's communist yet where freedom of speech and choice reigned supreme. I guess you can't quite call that communist anymore. It was a community where love for God motivated all the actions. It wasn't perfect but it was good. There's also that part in the laws of Moses where God gives instructions about years of jubilee and forgiving debts and returning stuff to seized by creditors every 50 years or 7 years or so. Apparently God, sef, na commie. If money (insert greed, possessions, pride) is what drives the economy then the economy will never get better. It might appear to bounce back, but it will leave more poor people - financially, emotionally or socially.

Thank God for another weekend.

Friday 22 October 2010

I love to...

I've learnt some really painful lessons these last few weeks. I grew up programming in turbo C and debugging was just one of those things I picked up naturally and ran with. Then I made then switch to java with it's fancy IDEs and convoluted 'frameworks' and I gave up on debugging. I still occasionally used the IDEs debugger but most of the time I just put print statements all over the place, sat back and watch the code spew out lines of messages as it self destructed. About 3 years ago, I picked up unit testing as a by product of an encryption project I worked on in software engineering class. Unit testing was easy and cool when it's a new project I'm working on and not some 10 year old architectural master piece... or so I thought.

So a little over a 6 weeks long ago my boss says dude I've got the coolest project for you. Fix up this synchronous module so it's asynchronous using JMS and using the approach taken by 'other existing asynchronous modules'. If you don't know it yet that, there, is the perfect recipe for a project from hell.

Anyhow, I spend the first one week or so reading the existing code. The next one week creating class diagrams and sequence diagrams Those 2 there (class and sequence diagrams before actually writing one line of code) make up a perfect reason to be thankful that I was too busy growing up in the 80s not dable into coding (not that there were computers or the internet available where I grew up anyway). Remember I've got about 4 weeks - and I've spent the first 2 or 3 doing nothing... well almost nothing. So, I finally start tweaking the interface. Let me just say right now that working with old code makes you appreciate senior programmers more - how they kept their sanity while managing to construe such insanity is purely beyond me. But I digress. So I finished tweaking the interface, what with sessions and requests, data objects put into memory in java code and accessed from the JSP (cue utter and complete mayhem), in about a week and was now left with the code itself.

JMS is a cool technology. It would have been cooler though were it not tied to the JEE framework somewhat (you know, kinda like the way scala actors are written in a self contained scala library). So now I had to practically create a temporary cache in memory that manage insertion and retrieval with some complex voodoo logic because the manager is a singleton amongst other reasons. I've also got to accomodate the existing code (you remember that part earlier where I said something about making sure my code changes followed the existing pattern).

After fooling myself into believing I knew what I was doing for all of one week I finally was humble enough to learn. I realized in hindsight that writing unit tests for the existing code was the smartest way to not only learn but to also make sure down the road that my changes were good enough. The nature of writing unit tests is that you end up breaking up the code into small compartments (apparently that's one of the reasons it's called unit testing - duh). Smaller compartments mean you understand the code better. I also learnt that debugging isn't a dead act after all- it's good programmers that are reducing in number. Old code will always exist... cos some smart dude will come up with a better why to write it (writing intelligent software that can create software faster would fall under this category) and there'll always be the need to maintain it (except of course you also write sofware to maintain the code in which case you'd have to maintain the software that maintains the software that maintains...). Reminds me of that one time we had to write a compiler in college. I had classmates who complained because it was a waste of time which is wierd cos I enjoyed the entire course (I didn't read for the exam and I didn't get an A because I was too busy trying to get my compiler to compile).

These last few weeks we've been talking about humility in church. Last week I told a church member, in jest, that I'm sure God was opposing me because of my pride. I guess there's some truth to that especially since he gives grace (I like to read this as style) to the humble. Humility is accepting your failures/foibles and then submitting what (who) you do not fully understand because you realize and accept that you are flawed. I finished my project 2 weeks behind schedule. I now have to struggle to meet up other goals but it's been worth it in the end. I love programming.

Wednesday 13 October 2010

Good reason...

I like to post, every friday, stuff I type on the train as I make my way home. Sometimes, I'm just too lazy to be thinking but lately I've been busy trying to play Wordsworth or Hughes to the most beautiful (inward and then outward) lady my eyes have seen. I hope she doen't mind 'cos I plan to court her forever.

=======================

I'll try to voice thoughts in my heart
lest they run riot and leave me limp.
I'll shout them loud; they'll ring out clear
on mountains rough or waters fast;
on frigid nights in barren lands
or stormy days in tropic isles.

In every stride your beauty takes,
On every word borne by your voice
these thoughts burn deeper yet in me.
Thoughts that mere words cannot relate
for there's beauty yet that words can't paint;
there's music yet that notes can't play.

I'd call you pretty if that would do
but I know 'fine' when she walks by
and she's not you - not by a mile.
I'd say your smile lights up my world
but I know lies when they are told
and you're no star - you're fairer yet.

There's that someone for everyone
that leaves us speechless as beauty goes,
that leaves us breathless each time they smile.
I've found that someone here in you:
I see your smile on every face,
Your sultry voice in every song

Friday 1 October 2010

And so...

Naija is 50. There's not much more to it other than that fact. Actually, I lie - there's more to it. In the larger scheme of things the phrase 'epic fail' aptly describes the country today. If Naija were a software project we'll say she's violated in every way the concepts of KISS and DRY. Instead of test or behaviour driven development she's gone the route of faith driven development. Given the opportunity to put to use some of the finest principles of OOP (given it's differs cultural and ethic heritage) she's blindly opted for functional progamming from the center. She's also become a land where form never follows function - merit never determines opportunity and responsibility is as foreign a concept as snow in Jos (theoretically possible but extremely rare).

But she's 50 and we'll celebrate that. We'll celebrate because, perhaps, of its people and their rich cultural heritage. We'll celebrate because, despite 50 years of some of the worst governance man will ever experience and the saddiest degree of acquiescence our planet may yet see, the people haven't given up hope. We'll celebrate because whatever the country is today, good or bad, is the result of the collective will of the people - unfortunately that's me and... you. I know the military coups are a better excuse for our conditons but at 50 we should not better. We'll celebrate because Naija is the one entity we can truly call home and because, despite the best efforts of our colonial masters, we are still 'one indivisible nation under God'.

Naija is like an open source project whose final delivery was Windows Me. Seriously, how to move forward from that kind of position in an open and free manner is an act that's not yet been pulled off. But we are Nigerians, and if anybody can pull it off perhaps it's us. Perhaps, that's why we celebrate - because we've not gone the route that our conditions would warrant, because our very continued existence in our decadent social and economic structure is testament to the hideous miracle that we have fast become.

Here's one good enough reason to celebrate though. To paraphrase the words of Paul "everyman has been placed at a place for an appointed time and reason". Nigeria was that place for the first 25-ish years of my life. It looks like it would be that place for the bulk of my years here on earth - and I plan to be around for a long time. So today's an opportunity to celebrate the opportunity to be part of the gift that's my home - cos regardless of how torn and worn she may be, she's mine.

But its going to be a sober celebration alright

Tuesday 28 September 2010

Presario CQ62, Lucid, Issues

A friend just got a Compaq Presario CQ62 and wanted me to help her set up ubuntu. So sunday came around and what was meant to be a 30 minute affair has turned into 3 days of...

In any case here are the issues I had and how (or links to how) I resolved them along with some info about what I tried unsuccessfully.


Sound
I tried removing ALSA and installing OSS instead. Let's just say I was fortunate enough to live through the loud beep that resulted each time I restarted the system.

Thanks to this link: http://ubuntuforums.org/showthread.php?t=1532127, I was able to finally fix the sound...

- Enable backports repository and install
- sudo apt-get install linux-backports-modules-alsa-lucid-generic


Wireless
Network Manager was working but no wireless signal was received. So I took a look at dmesg and noticed there was an error message about a missing "RT2860STA.dat" so I created the missing file "/etc/Wireless/RT2860STA/RT2860STA.dat" and bingo...

Other general advice...
Always create more than one partition when installing ubuntu. That way if you have to re-install you'd only have to overwrite the root partition and not your /home partition.
Also, google and then download "ubuntu tweak" - it made my life easier

Friday 24 September 2010

Rediscovering Y

This week I've been thinking a lot about 'why'. When you work in I.T it's really easy to let go of 'why' and to start concentrating on 'how'. 'How' puts food food on the table much faster than 'why'. If you are a programmer, 'how' parades itself around in the form of the boss that goes: "x and y did that in two weeks so I expect it to get done in one... Just copy what they did". If you dream of becoming a hacker he tells you that producing the next cool app fastest wins all the accolades - regardless of the fact that accolades is never a good reason to chase anything.

'how' is to life what subsistent farming is to a full time farmer - it will only get you so far. And 'so far' isn't where the man upstairs intended when he knelt in the mud that day, 6,000-ish years ago.

So, I've been thinking. Funny thing about thinking is that if you are very good at 'how' your first inclination would be to see 'why' other attempts are wrong and that lures you, falsely, into thinking that you've experienced a 'why' paradigm shift. The reality, though, is that you know one way (or more) of doing stuff well and you've assumed that, off the bat, yours is the best - you are still chasing the 'how' instead of the 'why'. Now, this isn't to say that sometimes the 'how' that you know isn't really the best way to get the job done. The point here is that understanding the 'why' gives you more just the opportunity to apply a random 'how'. The 'why' helps humble you and expands your understanding of the intricacy of the 'how' so that you then know how to apply it better - kinda like 'why' is the proper way to understand the 'how' and not the other way around.

Ok, I'm tired of putting quotes around 'why' and 'how'...

This morning I was listening to an old VOP podcast (a cheap replacement for actually studying my bible) and the presenters mentioned how James and John said they were willing to drink the cup even without understanding what the cup entailed. The thought that struck me then was that 'life and death is in the power of the tongue'. The other text that crossed my mind was the centurion telling Jesus to just say the word and it would be done. The centurion further explained that he was a captain of a company too and he could tell a soldier to go or come and his command would be carried out. Paul says faith says those things that aren't as though they were.

It wasn't the point of the podcast, but I had a rough night yesterday, and it seemed to me like God was saying to me, this morning, you can say it and it would come to pass if you believe. The concept is so simple it's feels like a lie but the reality is 'in Jesus name' (we'll have to talk about in Jesus' name maybe next week) all things are possible.

I love Fridays. Especially because the following day is the Sabbath. One of these days I'll fully understand the 'why' of it so that the 'how' of keeping it holy would become clearer.

Thursday 23 September 2010

1 Nil to the Arsenal

This week's been awesome - Arsenal beat Braga 6-0. The tests I suffered on don't count when you watch beautiful soccer like that. Someone asked me what I gain from soccer sef? Well, I don't have to tell you it was a girl that asked. I also don't have to tell you that I'm not going to answer that question here.

I typed quite a post on my phone but I mistakenly overwrote the bulk of it. I'm not bothered though - like I said it's been a great week: Arsenal, 6-0. The post was about Jeremiah 29 (go read it yourself - frome the first verse) and Philippians 4 (also make sure you read from the first verse). I wish I could be bothered about not been feeling the need to type that whole post again but I am not bothered - obviously because (say it with me) - Arsenal 6, Braga 0.

You think that I get paid or something for how much I promote Arsenal. When I wrote the paragraphs above, Friday, last week, I was on cloud 9 then saturday came by and we let in a goal in the very last minute of extra time. But Karma is a pretty dark skinned lady with the most beautiful smile. She made sure we beat the 'hotscums' in style today. I'm almost in heaven.

Seriously though, God has been good to me. I'm grateful. When it's all said and done He is a sweetest friend I could ever hope for. I think I'm discovering what love is and she's beautiful!

I just read over what I've written so far and for most parts I feel like an hippie - a properly drugged hippie - which is cool by me. I feel sorry for the rest of you though so I'll stop now.

Friday 10 September 2010

If I could...

I'm a realist (if there's such a word). I think that there are absolutes - God, his commandment, love - and there are relatives. I think the relative issues can be bent based on the circumstance in question. For instance, I tuck in my shirt when I go to work because the reality is that I need the money and the people God has put in the position to give me the money demand that I tuck it in. Let me rephrase this - I think that the absolutes determine the relatives. Ok, so I'm not a 'realist' - I'm a christian (after all I just mentioned God).

So, I was busy doing nothing as usual at work when I stumble onto a blog where the guy gives reasons for not buying into microsoft's silverlight. I realized then that I'm a bigot. You see, unlike this guy I make no apologies for my likes/dislikes. I think I am right just because I feel I am and not necessarily because some sane logic demands it.

I hate labels. Only the psychologists realize what the boundaries are for each temperament - and I bet the most honest of them would tell you it's all just good guess work. For instance, I'm the one person that can't count his chickens before they hatch. In my mind, as long they aren't hatched, something can still go wrong. So I'm a pessimist. Yet I'm also the one who supports the stingiest team in england in terms of financial dealings. In fact, I don't just support Arsenal but I expect them to win the league every season - I've done so the last 5 years with no return. I'm not sure if this falls into the bigotry or the optimist category. They say Einstein once defined insanity as doing the same thing over and over again and expecting a different result. I guess that would make me insane - an insane optimist or an insane bigot. Or is it just that I'm conceited?

It would be a fair conclusion now to say I'm confused. But you won't be saying anything new - trust me (or just read the disclaimer under the blog title). The really wierd thing is that someone out there had the privilege to look at my life from beginning to end. And He saw something someone he liked loved loves. He realized there was no way on earth I survive destined as I was for death from birth. So He gave up his own life on the extremely slight chance (worse than one in a googol) that I would take up his offer and live the life that He was destined for instead.

So here's a deal of a lifetime, absolutely free (no conditions in fine print), and perfectly suited for me. I'd have to be a fool to not jump at it, wont I?! Hmmm... fool... let's hope that isn't the label that sticks for eternity.

Friday 3 September 2010

nothing...

I've got nothing to write about today - zilch, zero, blank. But I figure if I talk about nothing long enough it might look like something when I'm done. Don't get it twisted though - talking enough about nothing doesn't suddenly make nothing turn into something. That's a fallacy we've sold ourselves for far too long - about 6,OOO years precisely (I figure the devil should not get all the credit there).

Nothing is fancy and nice too. I spent the bulk of today at work doing nothing and it sure as hell looked like I was getting a lot done. I guess nothing is contextual too Nothing looks contextual too but I figure you've got to have absolutes, right? Moreover, relativity is an abstraction that only works in physics textbooks and that only because it presents a means for our limited mental capacities to explain away a tiny fragment of the reality we can observe. I think that in the land of absolutes nothing has a clearly defined boundary. It's almost like in set theory where an empty set is a type of set but... ok, now I'm thinking I'm totally confused (apparently an empty set is something).

In any case, before we were interrupted by that unfortunate detour into set theory, nothing can't be something because if it were something it would cease to be nothing - get it!

I could quit now but I'm on a roll, why stop. So nothing exists in a clearly defined space. I think that's a wrong statement too isn't it. I mean for nothing to exist would mean nothing is something. Seriously english sucks (yes I'll blame on the language - I'm proud!). Much more than just boundaries, nothing should have none of the properties of something, I figure. Like darkness is that absense of visible light so nothing is the absense of something. I guess that would mean the presense of nothing in an object would invariable result in the deflation of the said thing. After all you need something to give structure to an object. I guess that's why the "world was void and, consequently, without shape". The really scary thing about nohing is that it's so hard to describe - I know because I just made a harsh of my attempt at it.

The one thing I'm certain of is that nothing clearly leads to chaos. If you live in nada-land long enough you lose clarity of thought. I'm not going to bother about rationalizing how or why - that's just the way it is. So, if we've sold and bought ourselves nothing for so long it's easy to see why we (I'm messed up but I figure I could share the love here) live such messed up lives? Nothing takes many forms - idle hands, drugged minds, hollywood-ish life styles (nothing is beautiful). I think nothing has a time and a purpose apart from chaos but that's a purpose that's surely out of my realm (frankly virtually all purpose is out of my hands anyway).

I don't know where this would take me but I know how it ends so let me end it. It's been a rant worthy of it's name.

In the bible, there's mention of a being that can bring order out of nothing - out of chaos (say goodbye to your dearly beloved laws of thermodynamics fellas). "In the beginning God..."

Friday 27 August 2010

Long distance... not a problem!

I had a title for today but now I can't remember it. Thinking about what I should write today a couple of thoughts crossed my mind. For instance "keep it short" or "go straight to the point". Time is really hard to find nowadays now so whatever time I find has to be put to good use. Today, for instance, I plan to go see a movie instead of going to class. It's only the first week of class anyway and there's no point going to sit in class if I didn't read the material ahead of time. To put it clearly - I'm lazy - always have, probably always be :)

I read parts of John 13 this morning. Jesus tells Judas to go do what he would do quickly. It's wierd somewhat considering that Jesus knew what it was Judas was planning to do. But as I thought about it it started to make a little more sense (cue false theology and impending doom). The reality is that there's a time for everything and when the time comes acting like a sluggard won't cut it. Get to it and do it. I think it was Paul that talks about leaving the sinning brother to his ways as that may be the best wasy to save him. And in the book of Revelation, the message to one of the churches is "you are neither hot or cold". Put another way "you are always vaccilating (I'll have to check the spelling/meaning of this word) - one time doing good and going half way and the other time basically retracing your steps". Conclusion - not hot, not cold, spat out. Compromise has it's time and it's place (where it's actually a proactive act of faith) like everything else but God's designed life in such a way that each one is accountable and for that reason God really wants each one of us to get on with it - live life. Take that step. I believe God would much rather we took the right step (as in no Judas style gestapo missions) but the precursor to that is taking a step. Apparently there may be something worse than doing it all wrong. It's just sitting still and letting fear tie you down.

I've written the last paragraph down for me really. Life short - get along with it. God really would have it no other way.

when every thing falls apart

This week I'm posting twice. I wrote this last week and never got to post it.

Aug 20, 2010

This week has gone by in a blur. I can't say much has been achieved but I've started taking things slower in anticipation of next week. I like taking it slower. I wonder why I never thought about it before now. I think I'll continue taking it slow for the conceivable future - no point killing myself trying to get nowhere fast. The places that really matter in life are the places you won't have to hurry to get it - that's just the way it is.

So the new season resumed last weekend. It's funny to think that I once thought of making this blog an arsenal blog. I shrudder to think of the negativity that would be spewing on this page if that had indeed been the case. There're so few positives going into this season that I really pray we succeed. We need something of a miracle to win anything this season.

Talking of miracles, I've had my own fair share. It's now been almost a month that God has broken the chains. I read somewhere that an addict would always have the huge for the rest of his life. I don't know about that but I'm beginning to understand better the whole concept of God been strong in my weakness. And He is a merciful friend too. I'm grateful God.

Ah, so why the title you wonder. Well I could just be a party poop and say I just felt like typing it but that would be a lie. Over the course of the 4 weeks or so I've heard and appreciated Sheri Easter's rendition of this song. One of these days I'll hopefully put a link to a naija gospel song that I like.

I'm so thankful its friday - sabbath starting tonight. I'm grateful because I still have a job. There's a peace and security that comes from knowing that I'm not the one in charge - God is.

Sunday 15 August 2010

scored shot with his head

Ever listened an American run the commentary for a football match? There's nothing ordinarily wrong with the commentary but it really can be painful hearing the man making a living. I don't know why I'm mentioning it now though. I guess this makes me not much different from espn's American football (soccer) commentators.

This week I learnt a painful lesson - closure is not the easiest thing to come by (I don't get why americans want it so bad either). By Sunday I was through with the site (from last week post) but it's still not hosted. Then the other language app I talked about too was finished as far as core functionality goes but that's not good enough for me closure wise. I didn't feel like getting up last Friday. But I had a light-bulb moment as I lay on my bed - it's not how you start its how you finish. I've got to finish these things. Seat down, see what I've done wrong and do what I've done right more.

Now school starts in 2 weeks. It actually feels like 4 months of torture is about to start. How else would you describe 11 credit hours plus 40 hour work weeks. I think I'll call a meeting the week before school starts @ home. The message would be simple - you are all on your own, its swim or sink time for all of us. If you need help tell me and I'll pray for you. Any more than that and you are asking for too much!

It's raining cats and dogs in ATL. I love it when it rains. You can walk in what would otherwise be a crowded street when it rains and you'd have the whole street to yourself. You should know better than driving in town when it rains though - humans lost that gene way before Ford's ford appeared on the scene. I used to, as a kid, enjoy listening to the rain pour down on the roof and watching the raindrops run down the window panes. I must have been a really lonely kid. I love smelling the water in the air just before the rain after a long summer break. I can't forget the smell of the grass immediately the rains - it's almost like you are smelling life.

It's amazing that the rains can wreak so much havoc, though. It's almost like there's been a flood every where on earth this summer (or rain season if you are from sub-Sahara). From Pakistan to Niger to the U.S. There's something obviously wrong. I think something is coming. No, I take that back, somethings going on - it's here already. It's just so easy to ignore the obvious because we've accepted it as normal. Isn't there some text in the bible about knowing winter is around when we see the leaves dropping? It's true a 2nd coming has been on the cards for like forever but so was the 1st coming. Something is happening, right before our eyes. I'm not sure where to place it but it behooves me to get my act together. You know, date that girl I always wanted to (talk about being vain), sing/write that song that's never going to make it to the Grammies, live that dream, serve God. The time is now!

Friday 6 August 2010

so long heartbreak...

It's totally unfair that I don't have access to all that cool stuff on the Dr. Who site just because my ip address places me outside some particular geographical region. Is it not enough that the TV networks this part of the globe are usually a whole season behind? Do they have to rub it in by denying me my God given access to some 'free' content?

Life's unfair, blah blah blah. In any case, and turning to more important things, I've made up my mind to burn up some bridges - or cross some personal milestones. Here's a quick list:

That site I've been working on for the larger part of the last year has to be number one on the list. Ok, so I was learning scala and liftweb and jquery and ... (yeah that's about it), but that experiment has got to end. Time to move on - there's a new squeeze in town.

Another one is that game I've planned to write for so long. Well, it was good as dreams go but some dreams are meant to be just that - dreams! It was nice having you for a friend but ours really never was a symbiotic relationship.

Then there's the concept of debt. The very idea that I can get it now and pay for it later. Now this one's tricky. You see I own a mortgage. I don't get why people say this with pride - I own a house is understandable but I own a mortgage? In any case, I not only own a mortgage but I'm on the verge of taking up some student loans. Somethings got to give here. I don't subscribe to the some debt is good debt idea but my actions say the exact opposite. Doesn't it say in the good book that they shall not borrow but shall lend to nations. Doesn't it say the cattle on a thousand hills belong to him. It's not about becoming rich as much as its about been financially secure and independent in God. Borrowing belies that concept I think. Living paycheck to paycheck belies that concept too. Something's got to give way. I'm just not so sure what yet... Ok, I wont be getting that SD card I crave for my N900 anything soon. I'll have to remember to backup regularly. And that's not all but let's move along for now.

I'm tired of settling. Granted, I go through this phase once every 6 months or thereabout (my mum would probably say I go through it every other nite but thats not really important now). I would like to go ahead and draw up a list now of goals but I'm afraid I've become too good at that and forgotten the bit about implementation (its a naija thing I guess). There's salvation. "Change goin' come" one way or the other.

By the way, if you (don't think I don't know there are some of you out there) read last week's then let me calm your fears - all is well *wink* *wink*

I feel like I've not said anything really positive here today (note to self: make sure to not listen to Miles Davis all day at work on a friday again). I guess when you realize that you need to change something positive has already started. Like one of my favorite authors loved to say it's the Holy Spirit that prompts us, each, to recognize our sinfulness. And Christ gives life more abundantly. He says if you drink of the water He gives you'll never taste again - I'll never thirst again. Last sabbath, after sabbath school I just sat there and kept thinking why it's so hard to follow God when all I have to do is believe. That's when it hit that true believe requires surrender. I need more of your grace and spirit, God. I need to learn to surrender all.

Friday 30 July 2010

How do I love her?

I think I'm developing this unhealthy habit of mentally not working on fridays even though I'm there physically. If I was an employer of labour and I was paying you to work on friday then you better work. God, though, is His infinite wisdom has deem it fair to spare the world the indignity of my pride - and I'm grateful - at least for now.

Talking about God, yesterday my family and I read Jeremiah 3. Hindsight helps to further drive home the message in Jeremiah. You see Jeremiah lived in the time of the last 3 kings or thereabout of Judah. In chapter 3, God makes a plea - it's simple and it's direct. First he tries to make them realize that they've done Him wrong (cue babyface singing 'til u do my right...'). Then he gives them an option: say I'm sorry and mean it - and the threat of Nebuchadnezzar (i bet the spelling is wrong) would go away. God's ubercool - way cooler than I could ever be. I wish I could be like Him really - eternality would be a blast.

I'm on the verge of asking her out. I've always been impatient for a shy guy. I usually just watch non-chalantly but get me interested and it's like a fireworks show. Now, I think about her a lot. Sometimes, I'm scared that she'd say no. I'm convinced that there's nothing awesome or cool that I could give her. I'll totally be the lucky one. Other times, I'm scared that I might hurt her - if there's anything I know its that I can be vindictive. I'll 'overlook' the multitude of the wrongs till I snap one day (think live version of Dr Gru in Despicable Me). My communication, obviously, also sucks - just ask my previous and up until her, only, gf. She's sweet, God-fearing, caring, stubborn and defiant. I've prayed and I think God's answered but I'm at the point where I'm praying "I believe, please help my unbelieve". I bet Stephen Curtis Chapman would be proud of me - I'm living out the words of one of his songs (the same one this post is named after).

I heard Sade's 'babyfather' on last.fm then went looking for the video on youtube. Nice song. I should paste a link to it... but I won't.

Wednesday 28 July 2010

Guess who's back...

So, I read this article today about how Nigeria is in the top 10 countries in the world in terms of internet usage. Now this would be cool except for the fact that this honour makes the dishonourable more ... (I cant find the word - let's try odious). Sometime back I ran into this other article too about how very few of the major IT firms seem to a presence in Africa. Combine those articles together and the color you get is not pleasant to behold at all... at all. The only real explanation I can think of for the lack of corresponding IT advancement has to be that we are a nation of consumers - but dont take my word for it as I'm not particularly smart.

I did write up something on my iphone (notice how the I and the P isnt autmagically capitalized?) last week but I dont really dig the whole mailing posts to your blog idea. The good news is that I've received a brand new replacement N900 from Nokia and a new battery (not free, obviously) from RadioShack. So, hopefully, the whole TGIF blogging thingy can resume. To be fair, my original N900 took quite some bashing/malhandling so I'm extremely grateful to God (and obviously, the folks at Nokia) for letting it get spoilt before the warranty expired. I get the feeling that in this its second coming, the phone would be mainly used for python scripting and reading technical material.

I came across Bernard Harris' myspace page over the weekend. I remember those days (he was in college and I in high school) when he used to amuse us with his singing - a lot of us felt, back then, that there was more shouting than singing going on. But I'm glad he still sings and I sure as hell (no swearing intended) would pick up a copy of his album when I money to spare. I always loved his singing (note I didnt say ministry) but then again I guess something has to be said for the fact that I grew up listening to Take6. The video from his MySpace page is at the bottom of this post i.e. if you are in too much of a hurry so that you can't visit his site.

money

Let's get this straight - money doesn't make you happy. It never did, it never will. I forget this sometimes, myself, when life's rat race gets the better of me and I lose sight of God. The thing is Jesus Christ, the disciples, the prophets, and a large junk of the guys in the bible were, in their own times, below middle class by earth's material standard. The real issue is that God doesn't need money to provide my every need - the cattle on a thousand hills are His and His hands are not too short nor is He hard of hearing. Yes, He can choose to bless me financial as indeed He promises that He would (along with other things too like trials o) but it's the peace of mind I have in Him and the trust in him that constitute my happiness not how much - or how little - money is in my pocket.

I just had to put say that so that instead of explaining to my friends I can tell them to come read it up here. Of course, I won't tell them that it's my blog. I also had to write it to remind myself that's not the material but the invisible that determines true happiness.


The Worshiper's Diary- Alpha and Omega

F Bernard Harris | MySpace Video

Friday 23 July 2010

Ayo game using scala actors


Disclaimer:
This post is an introduction to Scala Actors. It's written in such a way that you'll need very little knowledge of scala and you don't really have to know how to play the game 'ayo' either (a variation of this game is also called mancala - I think). But if you want to know more about the game before starting visit this bbc post. If you want an introduction to scala, you are better off visiting scala language's home page




First off, the scala eclipse ide (for scala 2.8) has taken a HUGE leap forward since the last time I tried it. It's now good enough, I think, to be used in place of intellij's idea - the only thing I have against idea is that it is plain ugly. Even NetBeans looks like a pretty bride in mini-skirt beside it. In any case let's get serious...


Actors are scala response to multi-threaded programming. I hear they were borrowed from haskell or some other fancy language but if that's why you are here... there's an... a google for it. The cool thing about Actors is that it takes away the abstraction of threads and leaves you with fancy-dandy sending and receiving of messages.


package actor {

import scala.actors.Actor
import Actor._


The first thing to note about actors is the classes to import. Basically you import scala.actor.Actor and then you import the methods and classes within the 'Actor' class itself.


//messages to be sent to Actors
case object StartGame
case class Play(board:List[Int])
case class Stoned(count:Int)
case class Move(startAt:Int, player:Player)
case class GameOver(message:String)


Next, we declare the messages that we'll be sending to and from Actors. The usual thing is to use case classes/objects as Messages because the plumbing for pattern matching is built into them (Any class - string, int, etc - that supports case matching would work though). So we've got, for instance, 'StartGame' that represents a message we'll be sending to Referee to start the game. The others should be easy to guess. Alternatively, we might talk about them later.


class Player(val name:String) extends Actor{
var stones = 0

def act = loop {
react {
case Play(board) => reply(Move(getUserInput(board), this))
case Stoned(count) => stones += count
}
}

def getUserInput(board:List[Int]):Int = {
val choices = board.zipWithIndex.filter(_._1 != 0).map(_._2)
print(
"Player "+name+"'s choice "+choices.toString+": ")
val choice = readInt

//verify that the user hasn't select a 'zero' hole
if(!choices.filter(_ == choice).isEmpty)
choice
else{
println(
"Invalid choice :(")
getUserInput(board)
}
}
}


This perhaps is where the real fun begins - We define a Player. A player is used to getting user input and then sending a message to the Referee containing the player's input. The player would of course only get input when a Referee demands it. To turn a player into an Actor we simply extend 'Actor'. The next thing is that we have to write an 'act' function. In the 'act' function you would need a loop of some sort so that the 'Actor' doesn't quit listening after processing just one message. Fortunately, there's a built in 'loop' construct (note, I'm saying construct because I don't know if it's a function or an object or some other voodoo scala thingy) that we can use. In side the 'loop' you define a 'react' function with matching cases for each message that you want the actor to handle. In 'Player' we want to handle messages to increase the number of stones that the player has captured (Stoned) and we want the 'Player' to know when to make a choice on where to start his next move from (Play).


'reply' is a function that sends a response back to the Sender of a message. So we don't really have to know who sent the message, we can simply process the message and use the 'reply' function to send a response back to the whoever sent the message in the first place. For instance, when the 'Player' gets a 'Play' message from the 'Ref' the 'Player' simply calls 'reply(Move(getUserInput(board), ...))' so that a 'Move' message, containing the player's choice, is sent back to the 'Ref'.


As an aside, you'll notice that there's a 'getUserInput' function that actually does the job of getting the user's input. This method receives a list of stones corresponding to holes that the user currently owns (no pun intended). Basically, we keep requesting for the user's input until the user enters a choice that's valid. This way we get players that are honest to a fault - no Thierry Henry scoring hand goals or Luis Suarez' stopping clear cut goals with their hands - and apparently we can have even Graham Poll as the ref since we've removed the risk of a player receiving 1, talk less of 3, yellow cards.


Below we have the Referee or 'Ref'. I'll include comments within the class definition (remember that you can hide all the other with that link above) just so I don't lose my mind before this is all done.


object Ref extends Actor {
import scala.collection.mutable.Buffer
var players:List[Player] = List(
new Player("one"), new Player("two")) //always assumes 2 players
var holes:Buffer[(Int, Player)] = {0 to 11}.map(i => (4, players((i/6).toInt))).toList.toBuffer //always assume players have half the board to start with



We declare/define the total number of players as well as the holes (no pun intended... again!) here. Nothing special there, move along.



def act = {
loop {
react {
case Move(startAt, player) => { //TODO logic to carry out actual move and to keep score
move(startAt, -1, player)
val p = nextPlayer(player)
p ! Play(board(p))
}
case StartGame => {
players.foreach(_.start)
val p = nextPlayer(
null)
p ! Play(board(p))
}
case GameOver(s) => exit
}
}
}




So, the Ref is also an 'Actor'. We got that by having the 'Ref' extend an 'Actor'. This also means the 'Ref' has to have an 'act' method which we have duely done above. The most important thing here is that the Ref can respond to three messages - StartGame (which the application itself sends to it), GameOver - which the Ref sends to himself (ahhh... the thought of female referes), and Move - which is the response a player sends to the 'Ref' after you, the end user, have made up your mind what hole to start your move from.


It's easy at this point to see that this game is not complete yet. What's important is to keep the goal before your eyes and not succomb to the whole moving target chirade. In our case, the goal is understanding 'Actor' concept. Having a complete game is a side effect - a bonus at best! That said, the game - work!, it should! But I digress... again

    
/****
*
@params stonesLeft -1 means start counting, 0 means stop counting, > 0 means keep counting
****/

def move(startAt:Int, stonesLeft:Int, player:Player){
val hole = holes(startAt)
val next = (startAt + 1)%12

if(stonesLeft == 0){
var start =
if(startAt - 1 < 0) 11 else startAt - 1
var h = holes(start)

if(h._1 == 1)
Unit
else if(h._1 == 4){
player ! Stoned(4)
holes(start) = (0, player)
}
else
move(start, -1, player)
}
else if(stonesLeft == -1){
val stones = hole._1
holes(startAt) = (0, hole._2)
move(next, stones, player)
}
else{
holes(startAt) = (hole._1 + 1, hole._2)
move(next, stonesLeft - 1, player)
}
}



As far as the game is concerned, 'move' is the most important function of the game. It contains logic about carrying out the counting of the game, and capturing houses or holes (now that I think about it houses is a better word that holes but the damage is done).

stonesLeft is actually the number stones the player currently has in his/her hands. So if the user has 0 stones in her hands it's time to take stock

  • if where she stopped has 4 stones then she captures that hole as well as the 4 stones in that hole

  • if where she stopped had no stones then her move is complete and the next player gets to play

  • if where she stopped has neither 0 nor 4 stones then she pick up the stones from where she stopped and starting another round of counting


Actually, the explanation above is a little misleading because it's the Ref that does the counting on behalf of the 'Player'. The 'Ref' can send messages back to the Player like 'Stoned(4)' to tell the player that she has captured 4 more stones.



def nextPlayer(player:Player) = {
draw
scores
players.filter(_ != player)(0)
}

//board is a list of user stones in holes i.e. if the user doesn't own a hole, zero stones appear
def board(player:Player):List[Int] = holes.toList.map(x => { if(x._2 == player && x._1 != 0) x._1 else 0 })

def draw(){
holes.takeRight(6).reverse.foreach(hole => print(hole._1 +
"\t"))
println
holes.take(6).foreach(hole => print(hole._1 +
"\t"))
println
}

def scores(){
players.foreach(p => println(
"Player "+p.name+" has "+p.stones+" stones"))
println
}
}

object Ayo
extends Application{
Ref.start
Ref ! StartGame
}
}



One of the most important bits to the whole 'Actor' magic is the 'start' function call. You've got to call start on an 'Actor' in order to get the party rolling. In the main class 'Ayo' above we not only start the 'Ref' actor using 'start' but we also send a 'StartGame' message to the 'Ref' actor. When the 'Ref' receives the 'StartGame' message, it in turn calls 'start' on all the 'Player' instances and then sends a 'Play' message to the first Player instance. All in all, Actors sure bits Threads in java. One last thing though, all the messages we've been sending were done using the ! (bang). Messages sent in this way are asynchronous. In other words, the 'Ref' doesn't block for a response from the 'Player'. Instead he continues doing whatever else he can do (in our case mostly nothing) until he receives the response from the 'Player'. To send synchronous messages use !? instead of !.




And that's all folks.

I'm convinced that I should create a second blog for posts like this but I'm too lazy to maintain 2 blogs. Time (and hits - anything more than 5 hits and I'm creating a new blog) would tell - this here blog is kind of sacred to me, you know ;)

Saturday 10 July 2010

brides, bride-grooms, 42s

"A man can receive nothing, except it be given him from heaven" John 3:27

"He that hath the bride is the bridge-groom". I'm at the point in my life where I'm trying to clearly identify what life is all about. I'm pretty sure now that 42 isn't the answer but then again it's not that far off. Today, I read John 3 - you know that Nicodemus chapter but not really the Nicodemus part. Down the chapter we find John's disciples talking to him about Jesus and the baptisms that Jesus was "supervising" over on the other side of the Jordan. And John uttered the immortal phrase "A man can receive nothing, except it be given him from heaven". He goes on to say some other cool stuff including the sentence "He must increase, and I must decrease". That's what life is really about - decreasing while God increases. There are different ways we'll get there and different ways we'll touch those around us while traveling there - some of my friends are already PhD holders, some are public health workers and some don't know what they are meant to be in life - but the destination is the same - "All of God and none of us".

John doesn't say a lot in the cause of the entire new testament but I'd like to have a bunk next to him in heaven. I get the feeling he'll sound just like my grandfather - Really smart/wise yet gentle and patient - I love them, both.

This last week wasn't bad by any means. Work has slowed down lately - it feels like when I first started working there as an intern. It's given me time to try and learn new stuff. I'm working on my next liftweb based website already and I'm planning when that's done to submerge myself in as much bio-informatic material as I can find on book24/7. The GC too is ended - woohoo - and with it it's many distractions. Yes, I ended up greeting all those naija dudes I was hoping to avoid and no, for some strange reason, they all didn't act surprise that the little boy in pants they once knew is now taller than the bulk of them. Or maybe they did but the amount of mental preparation for the onslaught over compensated for whatever discomfort such remarks would have otherwise caused.

Honestly, though, the GC was fun. There was family around especially since it coincided with July 4 and there were all these kids running around my place. I wish all weekends were like that (minus the financial aspect, of course).

I've been thinking about starting a second blog for programming, IT related posts. This here blog was meant to be that but it has somehow morphed into more of a personal, thank-God-it's-friday, soul searching blog. The thing is I'll have to blog the IT stuff under another name so I can get my friends to read up stuff there. Alternatively, I could come out of my shell here and just put IT stuff here too. Of course it would mean occasionally pissing off one audience of readers but it could actually end up breding a 3rd type of audience. Funny, though, cause right now the only audience is me... and perhaps a google spider or bot or whatever they call them these days.

Last time I ended up asking about forgiveness and what it really means. I think that eternity beats any other benefit. Sometimes, I bother too much with technicalities - curse of my trade perhaps. What I'm trying to say is that what really matters is that God gives me another chance in the eternal scheme of things. In the physical realm, I think life is more of an art than a science and that God is constantly having to retouch some part of the picture daily because of my foibles. Sometimes, he just completely dabs out the blot I made with the right about of color, and sometimes he lets time take care of the blot. Sometimes, I still suffer the physical consequence of my sins yet sometimes, in His mercy and infinite wisdom, he takes away the consequence of my failures so that the eternal goal won't be missed.

I wish I trusted God more each day. Life would be so much more fun that way - each day becomes one really cool roller coaster ride where you don't know where the next turn leads but you know that you'll get home safe. Now who won't want that kind of life!

Friday 2 July 2010

No long thing!

Not a long one today. My N900 is going in for repairs and typing on an
iPhone just isn't as much fun. I'll say this though:

1. I can't honestly count things I've been faithful to the way I've
been to this blog this few months. Apart from the phone, knowing that
nobody reads it or that the ones that read don't know it is I is
certainly a blessing there (I'm so shy I will quit the day I am outted).

2. It sure is easier to type on the N900 than on an iPhone. My first
ever phone was a Nokia 3300: big, ugly but efficient. My N900 fits
that bill too but for one thing - it's not just a phone to me where as
I still classify my jailbroken, unlocked iPhone as.... just a phone.

3. Forgiveness is a beautiful thing. What intrigues me is how when He
forgives He also forgets. As in no more remembrance of your sins
whatsoever. In fact they never happened as far as as He is concerned.
One of these days the measure of the Holy Ghost in me will make it
possible for me to actually forget the wrongs committed against me (I
plan to make heaven after all).

Wait a minute sef... I don't get it. Or, I get parts of it but the
parts I understand only make understanding the whole harder. Like
since God is omniscient he must know all things - past, present and
future, then forgetting is either a conscious choice on his part or
forgetting means even though he remembers he doesn't count it against
me (the latter isn't really forgetting now is it?). Add Karma (or
you'll reap what you sow) into the mix and things get a little more
confusing...

So apart from been absolved of the "eternal" consequences of my sins
(and the apparent fringe benefits of the aforementioned absolution),
what exactly is forgiveness?

Friday 25 June 2010

I walked today....

The days fly by so fast sometimes. It's times like this that make you appreciate the plea to God that He should teach us to number our days. Life is truly an amazing gift. Sometimes when I pause to think about it(which obviously is a rarity), I can't help apologizing to God for how I've so abused it (life that is). The way I understand it, God and I want the same thing. It's just that I have the nasty habit of not thinking it through (or thinking at all) while God apparently has already thought out all the kinks before hand. I guess that's why Jesus could offer to give life more abundant - He's not only seen it all but he understands it...

Ok! So I played whirly ball on Wednesday and I totally loved it. My thigh's still aching but I don't mind. Talking about outings there's this girl at my office that's always impressed with my impeccable taste in food. What she doesn't realize yet is that I almost always order the same thing - some kind of fish, salmon for example, along with veggies. The other thing she doesn't realize is that one of the main reasons I always cjoose the same thing is that I'm fed up with all the concortions with fancy names that these oyinbo people manage to come up with. When I first got to the states I used to want to try out everything. But where boarding school (naija style) and growing up with my grandma failed, oyinbo people have been more than a success. Now, I can claim to be allegic to food without an aorta of guilt (claim is the keyword). Reminds of this one time I was a guest of a french chef who was complaining about how american bread sucks... for the sake that I was his guest I won't comment on his french bread or even mention that it sucked too!

I'm also not going to talk about the world cup just yet. You see, my granddad raise me well. When I was a kid I so wanted to watch games and he so didn't let me. I remember now that famous phrase of his about 22 grown ups chasing one small object around and then the rest of us screaming how heads off. Now that I'm a little older, sadly, I'm turning to a grump like him. I still love football as a sport (I still play with people older than myself every other sunday) but I'm just not that worked up about stuff I'm not physically involved in - sorry!

As for the GC (if you are not adventist you can skip this rant), part of me doesnt want to see all these naija folks at the GC. They'll asking questions (and the good Lord knows I've got way too much skeletons in my wardrobe to be strutting my stuff in public - some dark secret just might slip out). More over, I dont know how the church ever came to the conclusion that holding such large meetings was a sweet idea. For once, the papacy has got this kind of stuff down to a science - only congregate when the pope dies and another one has to be chosen. Lamenting, though isn't going to change anything - the GC's started, my grandma's all worked up about it and inevitably, I'll end up greeting all these nice older folk that knew me when I was running around in diapers (apparently they almost all would mention that self-same fact).

I like me a whole lot of Jennifer Knapp. I still can't believe she's you-know-what. She has incredible talent. One author says that her old songs wont sell in this day and age because CCM has been watered down since she when her last album came out. One small problem I have with that logic is there are people like me that still like her songs even now. But then again I'm also now listening to Aaron Neville's "close your eyes". I'm so old school, it's unbelievable.

So here we have us another week. I wish it could go a little slower. There's so much I'd like to do - so much I'm not doing. Perhaps, that's a sign that I'm trying too hard. Now there's a thought.

Friday 18 June 2010

tonite, on the news

I have no clue where some of the titles here come from. It's not night yet and there's definitely no news telling going on - at least not here.

I was thinking about what I'll type on here today when it dawned on me briefly that if I had no thumbs that very thought won't be crossing my mind. Thank you God for my thumbs. I still have no clue what I'm doing here, though. I mean that literally... as in what am I on earth for. I believe in God. I believe that the whole duty of man is to fear God and keep his commandments. I believe that the greatest commandment is love. And I think that that's what John was trying to pass along in 1 John 4 when talks about confessing that Jesus is the son of God and then about love. He repeats over and over that anyone that confesses Jesus has God and then if we love it's because we have God in us. In my own little faulty logic I equate confessing Jesus with loving my brother based on that passage. But I digress. The question of life - the real one, not the one whose answer is 42 - that's the one I'm talking about.

I think I know the answer at least as it concerns me. Let me rephrase, I think I have a clue what the answer is. I think I'm too scared to think it out loud because it would bust my bubble - it may entail letting go of everything I hold dear. It would entail surrendering and it would entail diligence/consecration. As a kid, I thought I'd be married at 26 but I'm still very single at 28 (I'm so single folks are beginning to try to hook me up). There's a lot I don't know... but there's stuff that I do know... I just don't seem to want to believe it or accept it.

O well...

It's amazing the things that motivate us. For instance, I've been battling this bad habit for a while now. And then I realized that it could end up affecting someone that I don't even talk to that much and suddenly I'm exercising will power and standing in the face of temptation. What worries me is not that I'm probably doing it for probably the wrong reasons (I don't think I am) but that if she can motivate my from so far away what won't she be able to motivate me to do if proximity wasn't an issue? But whatever!

So now you know I've got issues (don't we all?). What you may not know, though, is that it's another sabbath starting tonight. I'll take that anyday, anytime over any thing else... the chance to rest in God's freedom.

Friday 11 June 2010

if you fall...

Lisa McClendon has this song about falling. Well the song is actualing about getting up again but that's one of the beauties of life - you can choose to see life as you see fit. In some quarters it's called "freedom of choice". The problem is that that phrase, apt as it may seem, has been so abused and misused that... I don't know where this is going so I'll just let it go.

Last sabbath afternoon was my best sabbath in a long time. After church towards the evening we just sat down and talked about the bible. Specifically we talked about sinlessness. I'm one of those guys that's read so many of those bible verses. See how that last sentence haerdly makes sense in and of itself? Well that's what I've been doing. It reminds me of God talking to Amos about how the children of Isreal had done the impossible in their sin (read it for yourself). We do impossible things everyday - scary impossible things. In any case, the whole discuss started because after reading 1 John 5 (I hope that chapter exists) where it says we should be sinless someone asked if we could really be sinless ever. I'll skip to what we believe the Holy Spirit said to us - Yes, you can be holy but no you'll never get to the point where you can say "I am holy" because it's God in you that makes you holy.

Since last sabbath I've fallen so hard so fast it scares me to type it. But this morning I was reading Peter and I came across that verse where it says God knows how to deliver the godly out of temptation. I think I needed that more than I needed forgiveness... I think! I tell you more thing - there's a God alright.

I've been learning Qt mainly because of my phone. So I've put a few weeks into this app and then find out that there's a more complete app out there that does just that. Well here's what I think: screw that I'm going to complete what I'm writing, put it up in the garage and of course install it on my phone. There's one person that would use the - ME. To be honest, though, I wont be recommending that anybody use software that I write. I still cannot believe that people pay me to write software... seriously.
My thoughts on Qt though are mostly positive. In fact the only gripe I have with it is the documentation - now the documentation just sucks. That said, it's a really nice GUI tool. I started out created Java based windows apps in the days and quite frankly Qt rocks in comparison. The fact that I programming for a linux based phone also helps too. Hopefully, I'll be done from next week and I'll be able to move on to other things (did I hear someone mention a port to android?).

World cup's started (condolenses to Mandela and his family) and I can tell you authoritatively that naija will win the tournament (what kind of naija dude would I be otherwise... plus it's just about the only thing that unites us so the longer the better). I'm not going to tell you who I think will be going home early (not scared I dont just want to jinx my naija prophecy). I'm going to tell you though that it includes one of the world's superpowers and I'm talking about England.

Talking about England I still don't get why people says I've got a british accent. But I like the fact that the lady at the security desk tries her best to pronounce my full name... all 4 syllables (along with intonation). What I feel for her is mix of admiration and pure empathy - to see a human try so hard and fall so miserably is a humbling experience, I shit you not. God bless her lovely soul.

End of the line... another week bites the dust. I'm loving life!

Friday 4 June 2010

next time it could be... me

apart from the lack of capital letters (i refuse to bring myself to hold the shift key) nothing's happening this side of the planet. another one of my colleagues left the building today and i have a sneaky feeling...
i was talking to an uncle about the future and he said i should not be scared 'cos the children of God dont beg for bread. of course, my first thot was "children of God? who told u that i qualify?". i really need to go fishing but i dont know how to swim and Lord knows I have no intension of stepping on water unless i can swim. i wish this train ride would continue... forever

more importantly, the world cup is almost here and i'm seriously thinking of getting a tv. this morning i made the mistake of googling pricers and came to one conclusion - the world has gone stark crazy. how else do you explain asking me to pay more than a thousand dollars for a tv - HD or not. seriously, people need reality check - there are starving children in america. so i think i'll just pick up a digital converter and stick with the analog tv @ home. I'll have to connect my laptop to the tv for the non-usa games but that's ok.
speaking of laptops, my comcast internet special expired and my monthly rate got bumped up to $55. so now I'm in a quandry - do i switch to dsl (more value since i get a landline for the same price) but sign a contract or do i continue with comcast without a contract?

my grandma's visiting. ah! i'm so going to gain weight over the next few weeks it's going to be surreal. but more importantly there's an older person i came talk to. it's crazy how as a teenager i hardly spoke to her but how now i listen to her a lot and i respect her counsel. i think part of it has to do with her been willing to accept my point of view more and me been humble even to know that she wants what's best for me and that her words are purely altruistic no matter how painful. we've both evolved. now if only i could say the same about my mum and I ;)

I started reading 1 Peter yesterday. one thing that struck me was how pete was passionate about how my life's got to change because i now live through the power of God by faith. and today pete makes it worse by saying i should honour the government. to be fair to him the verse says something like "honour men, love your brethen, fear God, honour government". Good thing he emphasized the power of God, the work of the Holy Spirit and the death of Jesus in chapter one, otherwise I'd have immediately switched back to reading eccleciates.

I think I'll put brian mcknight's "one last cry" on auto-replay... or not!

Friday 28 May 2010

Snap out of it....

Productivity-wise it can be said that I've been in a rut. I've done little of worth this week. I'm not mad at me though... I like it like this.

but does He always...

So i finished reading deuteronomy earlier this week. I almost started getting emotional at the end too. I really like Moses - he's the model of what every christian should strife to be: tight with God. It reminds of SS last saturday. The facilitator says that Gos always answers prayers immediately. I've always had issues with this since I think (used to think) that sometimes he doesnt. So this other guy says when his wife falls ill and he prays that's all there is to it - no calling back home during the day to say "are you fine or other nonsense like that". So i started thinking.

- In the first place, God never said he wont answer (as long as we ask according to his will of course)... And his word is true!
- Sometimes the answer is NO... or WAIT. Best example of NO is God telling Paul that the scales had to stay on.
- Sometimes the answer not forth coming because our sins have hidden us from God i.e. the prayer never went past the roof (almost)
- Sometimes we dont hear the answer because its not the one we want. Alternatively, we already have the answer and we know it but we dont like it so we pray for him to change his mind (we'll talk some more about the impossible later)

The last point brings out an interesting view of faith - trust. Faith is trusting God's plan regardless of how I feel about it - and it really can feel like a terrible plan sometimes (ask a 90 year old Abraham). I need this type of faith o... God know.

It's memorial day weekend (did I mention that I love holidays) and I managed to get off work early today (cue much shock and disbelief)... as I don't have anything else to write I'll leave with you the chorus of the song that was playing as i left work this afternoon (Brent Jones)

(Kick off your shoes and relax your feet) He's the only one who can give you peace.
(Kick off your shoes and relax your feet) Forget about your troubles...

We're gonna have (goodtime)
Everything will be (alright)
He'll turn your midnight (sunshine)
Relax your mind (Lay your burdens down let me see ya smile) [x2]

Friday 21 May 2010

Production ready...

If you had told me three months ago that I'd feel experience such euphoria over a project that I am working on I'd have laughed at you (what with reports of me promoting bad code). But today as i leave work I feel nothing but pride and happiness. I've had this feeling before but it's usually associated with me giving my all to something and watching it fail (for some reason I seem to like lost causes). You see, I have no regrets when I give something my all and it fails. Conversely I feel no joy when I coast to success... I guess its been drummed too hard into my head that a worker is only worthy of his wage. Moreover, I have given up way too much for this project so I guess some euphoria is only to be expected. Life goes on, though - the fact that I'm on the train going home confirms that.

In any case, if I can wrap up the alumni site this weekend this would really be the weekend that I came of age. Contrary to popular opinion - God dey!

Thank God its sabbath tomorrow. Last sabbath was real cool. How many of you have been in a class where the substitute teacher is more fun than the real teacher? In any case we talked about Israel coming out of egypt. We talked about how the saved people where not saved because they were better than the others but because they accepted God's offer and likened it to how we are saved by accepting Jesus (that's Grace and Salvation 101). Of course our acceptance of God's offer is often demonstrated by some act of obedience - killing the lamp and putting its blood on their doorposts, loving that annoying boss, blah blah blah. We also talked about how God took them around the philistines and through the red sea so they wont turn back paradventure they saw war. Yet each Israelite, that day when they faced the red sea, didn't see how that was the best option. It makes you understand better why Paul says in everything we should give thanks for that is the will of God in Christ Jesus. The thing is it could be worse whatever the situation you are in now. The other thing is that God would always come through. Yes, Abraham and co. died expecting the promise but the thing is that the promise did come and much better one day they'll be resurrected and it would be alright.

I think instead of reciting positive affirmations each morning I should just remind myself that "God is in charge".

In other news, I'll try and post something scala/lift related soon otherwise this blog would just turn into a church real soon (not that I mind though). I'm also learning Qt right now. Its taking me back to my C++ beginnings but I'm enjoying it. Moreover, I'll finally be able to write apps for my personally use on my linux box and on my N900 (the later is my main motivation for learning qt). One of my Uncles once mentioned that I should try programming for the iphone. Let's just say he saw the light after (at my prompting) he successfully jailbroke his phone... Iphone ko sanitary pad ni... I dont know which one I'm more disagreeable towards now self - M$, Apple or Google. I guess that the fact that I dislike (or I'm scared of) each company for different reasons doesnt help in choosing.

What next? How about picking my guitar and continuing to work my way through third day's "Cry to Jesus"... at least for another 20 minutes tonite that's the deal (no long term plans for me).

In everything give thanks!

Friday 14 May 2010

Tire no be lazy...

It's hard to believe but this is the second post with this title that i've typed in the space of two days. The first, yesterday, was centered around why i wont be getting Jennifer Knapp's new album but i find today that it's not worth the effort or the read (not that anything here is what reading in the final analysis). One of the comments on the article sums up my feeling - we get divorced, we ordain females, we have gay church leaders - so why again do we call ourselves christian? To be clear I think female church leaders are inevitable in our day and age and i've got nothing against Jennifer been gay (she's basically exerciing her God given prerogative). It's just that (and it scares me to say this knowing full well that I'm so sinful) God told Adam not to eat of the fruit and despite his best intensions the fact remains that he ate the fruit. Dont care of you interpret this statement but that's all folks. Case closed.

In other news, the question - why I'm so far from where i know i should be - struck me yesterday! I had this guest over and since she just would not leave i started to day-dream (she came over to play games on my phone). Hellen Keller was so right when she wrote that people dont like to think - i know i dont like to think about where I'm headed: the conclusions are almost never good enough. So i got to thinking yesterday and that's that!

I dont feel like going to church tomorrow. I know its good to go... It's one place where I can get my batteries properly charged... But i dont want to go. I assuming the fact that i dont have any friends there isn't the issue. I'm assuming it's the thinking I did yesterday that's getting to me - plus I've not studied my sabbath school guide in like forever anyway. I almost always ending up going to church regardless of how i feel though...

I've been reading Deuteromy each morning (almost) on the train to work. You'd be amazed at our fasinating the book can get - today I read 3 chapters and it was way fun. Chapter 18 and verse 13 says "You shall be perfect with (before) Yahweh your God". There's this phrase that i think is attributed to Ellen White - every command is a promise. If God says to do something it means he can bring it to pass in you... better still it means He wants to be bring it to pass in you. For someone like me that's a beautiful text cos I fall so far short of the mark. But that's because I tend to try too much on my own.... I guess this colors "working out my salvation with fear and trembling" in a whole new light. It's really about God's grace and my willingness to surrender.

Nice looking chic... but mine's the next stop. Have a swell sabbath people.

Friday 7 May 2010

Almost cannot kill a bird

So... It's almost one year since i last visited this site - talkless of actually writing. What can i say - i still luv smooth jazz :) Seriously though, adult education no easy o (at least not on yankee). But thankfully it will be over this year. PhD will be alright - dem no born me born sufferhead.

It looks like my nasty habit of saying yes has got me in more fix this year than eveni could have imagined. With age comes the realization that you are human. All that iron man - Dr. Who brvado only happens in HD. Real life is more subtle, more wicked, more fun (depending on how you choose to see it) - for instance, I've started brushing up my resume becuase i know i could out of job in as little as one month
(now that makes me double grateful that exams are over this semester).

Some of you wish-asses will be having 'aha' moments now - like no wonder he has time to blog. Well, let me burst that bubble right now. The only reason you will ever see this here blog is because i got me an N900 and some nice dude wrote MaStory (an opensource app that allows you to blog from your phone). So this here is my thank you to him/her (giving how clean the app interface is i'm inclined to think that its either he is a she or Steve Jobs has something to tell us). Giving that he/she will most probably never see me thanx I am left to bank on the fact that we all connected somehow in giving this thanks here. Enough givings.

In other news, the train is stuck between buckhead and lindberg and I'm on it. I kinda feel sorry for those of you reading this right now as there's really no purpose to my rant right now. But that's okay - Yar' Adua didnt die in vain.

One more thing though - i read an article a few minutes ago at work about how ipad is killing netbooks. Seriously folks dont buy into the hype. Apart from buying an expensive electronic foto frame its hard for me to have anything seriously positive to say about that partticular piece of hardware - but then again thats not surprising seeing that i dumped my iphone 3.0 for a pre-released N900. My point is dont let the hype dictate for you - netbook sales may be reducing but, at the risk of been wrong (it's not like i've not been wrong before - after all HTC, motorola and co are busy helping create the next microsoft in google without realizing it), i dont think the Pad has a lo to do with that.

So there my friday rant... Maybe it would my weekly thing like goodplaya on friday (get it?). God has a plan... for tomorrow He thinks you should rest - He'll never force himself on you but you really ought to listen to him ;)