Tuesday, August 07, 2007

Hands Held High

I was listening to Linkin Park's latest album, Minutes To Midnight, and there was this amazing song! The lyrics caught my ears immediately and I knew this wasn't an ordinary song, this is one song that will be stuck in my mind for quite some time. The words really touched me, and made me take a moment to stop and think about some things that we take for granted and pass by every day... I'll let the lyrics speak for themselves, but you should absolutely listen to this song if you haven't already!

Turn my mic up louder I got to say somethin.
Lightweights step it aside when we come in
Feel it in your chest, the syllables get pumpin
People on the street they panic and start running.
Words on loose leaf sheet complete coming.
I jump in my mind and summon the rhyme I'm dumping.
Healing the blind I promise to let the sun in
Sick of the dark ways we march to the drum and
Jump when they tell us that they wanna to see jumping.
F**k that, I wanna see some fist pumping.
risk something, take back what's yours
say something that you know they might attack you for
cause I'm sick of being treated like I have before
like it's stupid standing for what I'm standing for.
Like this war's really just a different brand of war.
Like it doesn't cater the rich and abandon poor.
Like they understand you in the back of the jet, when you
can't put gas in your tank, and these f**kers are
laughing their way to the bank, cashing the check
asking you to have compassion, AND have SOME respect
for a leader so nervous in an obvious way
Stuttering and mumbling for nightly news to replay
and the rest of the world watching at the end of the day
in the living room laughing like "what did he say?"

Amen, Amen, Amen, Amen, Amen

In my living room watching, I am not laughing,
Cause when it gets tense I know what might happen
The world is cold, the bold men take action
have to react or get blown into fractions.
Ten years old, it's something to see,
another kid my age drugged under a jeep,
taken and bound, and found later under a tree,
I wonder if he had thought the next one could be me.

Do you see, the soldiers, they're out today they
Brush the dust from bulletproof vests away.
It's ironic, at times like this you pray,
but a bomb blew the mosque up yesterday.
There's bombs on the buses, bikes, roads,
inside your market, your shops, your clothes,
My dad, He's got a lot of fear I know
but enough pride inside not to let that show.
My brother had a book he would hold with pride
A little red cover with a broken spine.
On the back, he hand wrote a quote inside:
"when the rich wage war, it's the poor who die"
And meanwhile, the leader just talks away
Stuttering and mumbling for nightly news to replay
and the rest of the world watching at the end of the day
both scared and angry like "what did he say?"

Amen, Amen, Amen, Amen, Amen.

With hands held high into a sky so blue
as the ocean opens up to swallow you.

With hands held high into a sky so blue
as the ocean opens up to swallow you.

With hands held high into a sky so blue
as the ocean opens up to swallow you.

With hands held high into a sky so blue
as the ocean opens up to swallow you.

With hands held high into a sky so blue
as the ocean opens up to swallow you.

With hands held high into a sky so blue
as the ocean opens up to swallow you.
(Via this website)

The album overall is really nice, as most Linkin Park albums are in my opinion. It's full of nice songs, and it has this unusual air to it; an extra spray of feeling if I may call it. It's a bit different from the usual Linkin Park in a way, yet it's still them in so many others, the great music only being the first.

Who knows, maybe I'll write a song-by-song review of the album in a later post; I've always wanted to do music reviews :-D.

Monday, August 06, 2007

A as in Away!

So yeah, I've been away for quite sometime now, haven't I? It's been exactly two months since my last post. I kinda got busy with the project, then with relaxing after the project, and I kinda just forgot about blogging for a while. Actually, I forgot about most of my usual internet activities for a while; including checking my Google Reader list, of which I had made a regular habit of mine for quite sometime. Unfortunately, another thing I forgot about was the Thousander Club, I stopped counting and I stopped updating, and now I have lost two whole months' worth of counting my development and reading hours. The most unfortunate part about that is that these two months were actually full of both, it would've helped elevate my counters significantly!

But I'm here now, back in the biz ;-). I've had quite a few things going on with my life recently, but I'll write about it all in good time. For now, I'll just throw in some headlines on what I've been up to...

First of all, there was the business of my graduation project. It was very challenging and it gave us quite the hard time, but thankfully enough it passed and everything turned out okay. Actually, a little more than okay at some occasions since some people found it quite interesting. We were exhausted by the time it was done, but I think it was worth it.

After the project there was a little relaxing time; I got to have a very short vacation with my family and all. I didn't go out with my friends much though, most of the people I knew either had travel plans or had to continue work on their project for the MIE contest. I really wanted to go to a bunch of good movies this summer, there were a good bunch out there, but it doesn't quite feel right going to the movies alone, does it?

Anyway, that's it for now, cuz I've been editing this article for a week and if I don't stop now it won't get published for another week. I'll try my best to write as often as I can, but I can't promise anything right now. More on what's keeping me busy later, if I do get the time to write more...

Sunday, June 03, 2007

Multitouch: The Future for Physical Computing?

It's probably a little too late to be talking about this, it's already yesterday's news and I'm sure lots of people have already seen the video below. But it's an attractive topic to think about, multi-touch surface computing!

Apple rolled it out first with their iPhone, which is due for release very soon. And now Microsoft reveals its cards, and it looks like it's getting to be an interesting game! The video is polished, of course, and I'm sure it's still buggy and probably will still be by the time it gets released; which they say is as early as late 2007!

Frankly, I'm more enthusiastic about the iPhone. I've also been following up Apple's news for a while, and I honestly believe if they played their cards right in this coming stage, Microsoft might be in for a nice surprise... According to this, Apple's share value is increasing as they continue to gain a bigger market share. Honestly, with the new Intel architecture and their new upcoming OS which is said to be revolutionary, I for one would rather buy a Mac than a PC for my next new computer.

But of course with the most recent advancements, including this new multi-touch physical computing technology; people would also be very demanding, to the point of greed! Therefore, I really hope Apple plays its cards right and I hope they have a lot of good plans for the upcoming phase; because this will definitely mean a lot! Power shift, maybe? Or just wishful thinking??

No aolbonics, and that means "u"!

A couple of days ago I went into the ##java channel on Freenode IRC to ask about something in Java. It was my first visit to this channel, and so normally as my experience with IRC over the years has taught me, I read the channel's topic/subject. That was when I noticed the note in this article's title: No aolbonics, and that means "u"! I didn't need a dictionary lookup to tell me what they meant with "aolbonics", as their example made it obvious: the "u", "r", "ur", etc... Internet slang.

As a law abiding citizen and as someone who needed their help, I did my best to follow this rule; and for the most part it was no trouble since I'm already used to reading and writing correct English, with the exception of casual IM and IRC conversations. The conversation went nicely and they were of great help, then it was getting pretty late (I prefer the term early since I believe the sun was already up or about to be :-P) and I was very tired so I was thanking them politely before I excuse myself out of the room.

That was when it happened... I slipped and said: "thx for ur help :-).. see you all later ;-)". It was a very small slip, but their sharp programmer eyes wouldn't miss it :-/. Things suddenly broke off in a comment about the use of said "aolbonics" and we had a little discussion about this. To say the truth, I think they're right, they do have a good point! It starts off in IM, but before you know it people are sending such stuff in official emails and even writing them in exams!!

That's why I think it's important that we stop using such slang every once in a while and write real English. What's even worse is the weird new mix between English letters and Arabic pronunciation, producing a wholly new, weird alternate alphabet for Arabic, consisting of English letters mixed with numbers to compensate for those Arabic letters that don't exist in English. It sure comes in handy when you need to say something in Arabic but don't have the time or typing speed to switch to Arabic letters; but it's still weird and highly deformed!

Conclusion: I've already started focusing to eliminate the use of both aolbonics and English-alphabet Arabic from my daily usage. I encourage everyone else to do the same, at least for a day every week or a week every month. If you speak both languages, keep the two languages separate. And beware of creeping language mutations. Also, if you're an Arabic language speaker, try to occasionally read or listen to something in the original Arabic language, not your local dialect. Speaking or writing would be even better of course. You won't believe the mistakes and mutations I see people do in the original/formal Arabic language that indicate a very severe case of mutation and lack (or loss!) of correct language.

Saturday, June 02, 2007

Thousander Club: Exam Weeks Update

Development Hours:

  • This week: 0/40
  • Total: 81/1000

Reading Hours:
  • This week: 18/40
  • Total: 87/1000

These are the hours I managed to get between exams, as somewhat of a breather to get myself out of the study cycle. This is the exact length of the Dark Tower 3 - The Wastelands audio book, which is the only thing I read between exams. I decided not to count the studying hours themselves after all...

Not that they were that many anyway :-P

Thursday, May 31, 2007

...and I'm Back!

Yes! Finally, I'm done with the final exams of the final semester of the final year of my long, long journey through the educational system...!

I couldn't begin to express the train of emotions I'm going through. I could probably list some emotions that come to my mind, but I already know they'd only be what I think I feel, not what I really do. I'm sure anyone who is - or was one day - in the same position would know what I'm talking about. It's overwhelming; after being used to one exam after another and one year after another -- like checkpoints along the road; suddenly it's just you and the old dusty roads of life! No checkpoints, and no one, certain direction to assume. There's the general direction, mainly what I've been studying and what I've always wanted to be doing -- computers and programming; but that's only like knowing you have to go South or Northeast, but no specific, clear road map.

Anyway, as I'm sure you've already noticed; I did some minor modifications to the color theme of this blog, just to set it apart from the default settings. I'm not the expert in colors, but I did my best to manage something clear yet elegant. I hope I succeeded.

There's a lot going on around me that I wanna write about, and lots of stuff going on in the world that are worth writing about, at least in the technology world where my main interest lies. I'll probably be blogging a lot this summer, or at least I hope so!

On some slightly irrelevant news, I've covered some distance in my quest for The Dark Tower. Today I reached the end of the 3rd part, The Wastelands. Needless to say, I'm drawn into that world more than ever; it's simply capturing and haunting in its own way. I really can't wait to have a paper copy of this series and read it through at least 2 or 3 times; it certainly is worth it and I'm sure it'll be a new experience every time...

Saturday, May 19, 2007

Thousander Club Update: Week 9

Development Hours:

  • This week: 2/20
  • Total: 81/1000

Reading Hours:
  • This week: 21/20
  • Total: 69/1000

A very late update, and a very busy week. Finals! Need I say more? I think I'm gonna suspend the Thousander Club counter for the duration of these two weeks until I'm done with exams. It wouldn't make much sense anyway, I already know it's all studying and nothing but!

See you after 30/6 ;-)...

Saturday, May 12, 2007

Thousander Club Update: Week 8

Development Hours:

  • This week: 18/20
  • Total: 79/1000

Reading Hours:
  • This week: 0/20
  • Total: 48/1000

Yet another busy week, and the final exams keep on approaching with that uncontrollable speed of time itself. No reading time this week, but expect quite the opposite of this the next week, as I study for the exams and listen to Stephen King stories in my break time. I don't think I'll be doing lots of development hours the next week; just the occasional project work when I'm bored with everything else, but I'm sure that too will change as soon as the exams are over too...

Saturday, May 05, 2007

Thousander Club Update: Week 7

Development Hours:

  • This week: 16/20
  • Total: 61/1000

Reading Hours:
  • This week: 8/20
  • Total: 48/1000

Finally the pace is picking up again. It's been a somewhat busy week; lots of work, mostly on the project. I have also been doing some reading, hence the 8 hours. It's not much, but since I was working and I sorta needed a little outlet every once in a while, I thought what better time to start another Stephen King novel ;-).

I went for The Dark Tower series, King's magnum opus, where I started with The Gunslinger. I knew I wouldn't have enough time to read the whole thing, so I decided to go for an audio book instead. So, I practically listened to the book, for its 8 hours duration. I don't know whether reading it would have been faster or slower, but it's certainly much less exhausting to listen to it, especially that I needed my strength for the actual work. Needless to say, the book was deep, enjoyable, and simply amazing! It's a little different from his other works that I've read, but it's got the same amount of creativity nonetheless.

I might go for the next part this week, The Drawing Of The Three, but only if I didn't think it would be too distracting. I can't wait to read the rest of the series, though, and I'm definitely gonna want to own a hard copy of it...

Saturday, April 28, 2007

Thousander Club Update: Week 6

Development Hours:

  • This week: 5/20
  • Total: 45/1000

Reading Hours:
  • This week: 0/20
  • Total: 40/1000

At first glance, it looks like yet another slow week, but actually it wasn't! I finally picked up on lots of stuff that I've been putting off for a while now. I did some organizing here and there, and I've also been busy working on the project; though I haven't been doing any actual coding yet -- I'm starting on that this week. As for the reading, it's kinda on hold for the time being, but I plan on catching up big time as soon as we're done with college (not to mention that the exams will help of course; a major reading time indeed!).

Thursday, April 26, 2007

Changes, Changes...

"One of the things Ford Prefect had always found hardest to understand about humans was their habit of continually stating and repeating the very very obvious, as It's a nice day, or You're very tall, or Oh dear you seem to have fallen down a thirty-foot well, are you all right? At first Ford had formed a theory to account for this strange behavior. If human beings don't keep exercising their lips, he thought, their mouths probably seize up. After a few months' consideration and observation he abandoned this theory in favor of a new one. If they don't keep on exercising their lips, he thought, their brains start working." (Douglas Adams - Hitchhiker's Guide to the Galaxy)

Well, here's my obvious statement for the day: It's springtime! And, since spring is the time of change for me, you may have noticed the recent change of this blog's theme/skin. I just felt more comfortable with a full-width theme, and I actually liked this one's colors.

This isn't the only change, too! I have also decided to move the tutorials to their dedicated website on GooglePages. Here's the link. I put it together today and I've already copied the Java JDBC and DerbyDB tutorial there, and I will be posting any new tutorials there, with a notification post over here of course. I am also about to edit the existing tutorials here to reflect this move.

I'm hoping this would make it easier for you to access the tutorials, and for me to publish them. It has already made it easier for me to upload a sample application for the second JDBC tutorial.

I will also be working on a bunch of new tutorials as soon as I have more time to do so. I wanna write a whole series on DirectX 9 and Ogre 3D, and I already have some thoughts on the subject. I would just like to know if someone would actually read them, and what anyone thought of the current JDBC tutorials. So, I would appreciate it if you can drop in a few words on what you think about all this; including the new theme here and on the GooglePages site if you have any comments.

I know I'm a little late in saying this, but Happy Spring everyone! :-D

Wednesday, April 25, 2007

R.I.P. Edgy... And tribute to fallen others

- Rest In Peace -
"Edgy Eft Ubuntu"
Loyal Installation and Great Potential
29 February 2007 - 20 April 2007

Yep, it's dead. My Edgy installation passed out last Friday due to an unfortunate "upgrade" incident. All thanks to the recent release of the latest Ubuntu, Feisty Fawn. I was actually waiting patiently for that release and counting the minutes until I can upgrade and enjoy the new said enhancements. Unfortunately, my poor Edgy installation suffered the consequences of my haste, and I suffered the loss of a good installation and a ton of customizations. Rest In Peace, Edgy...

How exactly this happened, or what actually happened for that matter; I'm not very sure. I can't blame it on the Feisty upgrade; I might have had some inconsistencies in the system that Feisty only helped pull to the surface. What happened exactly was as follows:

I followed the suggested course of action: updated all the system packages to the latest, then downloaded the alternative installation CD and used it to upgrade the system. The first strange thing that happened is it downloaded a really large amount of data from the internet despite me using the CD for upgrade and specifically choosing to not get the latest versions from the internet. Anyway, I didn't give it that much attention and I decided to wait it out anyway.

Then there was the big surprise: I finished the upgrade and restarted only to find out the new system won't boot! I had been forced to install the 386 kernel instead of the generic one for the proprietary nVidia proprietary drivers, and now that kernel won't boot at all. I tried the generic one, which did boot but of course XServer won't start. It was catastrophic, and I was kinda tired of all the errors, so I called the death of my old Edgy installation, and decided to do a clean Feisty install.

But that wasn't the end of it. Far from that, I had to go through the painful process of installing the system, finding out that the nVidia driver still doesn't work properly even though I did a clean install, exchanging the nVidia card for my old ATI card (attempting to reinstall the system after changing cards broke XServer again), having the installation freeze up at 5% for about 100 times, then finally getting an Edgy CD and installing that instead! Believe me when I say, it wasn't pretty. It was one heck of a couple of days, and it left me feeling mentally and emotionally exhausted, and I'm not even kidding about the emotionally part!!!

And to top things off, my 80 GB portable harddisk chose this week out of all the weeks to make acquaintance with the floor, after which it started from simply freezing up while accessing certain files to eventually not even getting mounted anymore. Thank God I got to save most of my things during the early phases; but of course there were some damaged files that were of importance to me, and now that it won't even get mounted I don't know what's left on it to begin with! Especially since it reached that non-responsive state in the middle of the attempted rescue operation. I'm not calling it yet, though; I'm waiting to put my hands on some recovery tool that might have a chance of at least restoring the data. My heart is filled with hope and prayers...

All in all, it hasn't been the best couple of weeks. I'm not complaining, though, I'm grateful to God for what I have and for the fact that this was all that happened. I have a feeling the unlucky streak is over, so I'll just be looking ahead and forward to the better days.

On the positive side, the final exam schedule was released yesterday, and I just found out that I only have 3 weeks left in college; possibly 2 or at most 3 lectures and I'm done! At least I have that to be happy about :-D. Of course there's lots of work to do on the project, but that's a different story :-P.

Saturday, April 21, 2007

Thousander Club Update: Week 5

Development Hours:

  • This week: 4/20
  • Total: 40/1000

Reading Hours:
  • This week: 1/20
  • Total: 40/1000

Well, I can safely say that it's the worst week on the chart so far! Things kinda fell out of place this week, but it was for a good reason. You see, the new Ubuntu ("Feisty Fawn") got released this week; and naturally enough I wanted to upgrade my system. It really sounded easy, just a couple of clicks and you're there. But of course, nothing is ever as easy as it seems! But anyway, I'll save that story for a later, more detailed post. As of now, I have lots of hours to make up for...

Saturday, April 14, 2007

Tutorial: Java JDBC and DerbyDB (2)

EDIT: This tutorial has been moved here. For more details, see this post.

So, here we go again. Last time we got the DerbyDB installed and ready for use. Now it's time to take it for a little spin ;-).

2. First steps

(Click on the above link to go to the tutorial)

Thousander Club Update: Week 4

Development Hours:

  • This week: 18/20
  • Total: 36/1000

Reading Hours:
  • This week: 1/20
  • Total: 39/1000

Yeah, it hasn't been the week of reading, has it? Well, I've been kinda busy programming, and since I finished the book I was reading (Pro Ogre 3D Programming) last week; I kinda felt like more action than words. Besides, it's not like I haven't done any reading; stuff I did read include online articles, tutorials, blog posts, etc... But since those are usually in sudden, short bursts, I didn't think they could count as reading time, which I define as a focused reading session.

But overall, this week's productivity was a major letdown. I was staying home, so supposedly I should have had more done than this. I ended up with major amounts of wasted time, unfortunately. That's me, extra time means extra wasted time :-(. Well, I'm working on fixing it anyway. And I guess I'm not alone, this blog post on GBGames talks about how he deals with the problem. Maybe I should try some of the methods he suggested.

Friday, April 13, 2007

Tutorial: Java JDBC and DerbyDB (1)

EDIT: This tutorial has been moved here. For more details, see this post.

That just came out of nowhere, didn't it? A tutorial, just like that! Well, I got a special request for some guidance on using database connectivity in Java, and I do have some experience in that; so I thought why not just share it with the rest of the world as well? Anyway, here goes nothing...

Basically, this will be the first in a series of tutorials about JDBC (Java DataBase Connectivity), in which we will be connecting to an Apache Derby database, aka JavaDB, and using this connection to do a bunch of interesting stuff. (The Derby database has many advantages that make it easy to learn and use. For more information about what Derby is exactly, please see the Apache Derby website. It's worth mentioning, however, that due to JDBC's flexibility, any code dealing with JDBC will probably work readily with any other database driver. I have only dealt with Derby, however, so I can't quite verify that. Nonetheless, my understanding is that this is how it's supposed to be.)

So, let's get started, shall we?

1. Setting up DerbyDB

(Click on the above link to go to the tutorial)

Saturday, April 07, 2007

Thousander Club Update: Week 3

Development Hours:
  • This week: 7/20
  • Total: 24/1000

Reading Hours:
  • This week: 17/20
  • Total: 38/1000

This is one of the better weeks, I suppose. We had midterms this week, so there's no shortage of reading time (although I still didn't reach the 20 hours mark). I'm staying home over the weekend in hopes of getting some work done on the graduation project, but boy is it giving me a hard time!

The good news is, we have the whole next week off, with only the last of the midterm exams next Thursday. It's about time things slowed down a little, really. Hopefully I can get as much work done as possible this week... Wish me luck!

Sunday, April 01, 2007

Google TiSP: Happy April Fools' Day!!!

My God, I'm still laughing!! I've been laughing on and off for 5 minutes now! I think I'm gonna be laughing about this at least for the rest of today!!!

If you've used the Classic Google.com search page today, you probably noticed the "New! Get FREE breakthrough broadband with Google TiSP (BETA)." line below the search bar. If you're curious enough, you might have actually clicked it and got to see the new, jaw-dropping Google technology, Google TiSP. Basically, the idea is they're providing free broadband access to home users, through toilets!

First you might be skeptical, or at best very curious. Then you will probably start following the links, reading through the Get Started with Google TiSP page, and eventually you might even reach the Google TiSP Help Group, which already has around 2700 users and 1700 messages, all of which seem to acknowledge how great this new technology is. All the meanwhile, your mind will probably be trying to grasp and accept the concept that people would flush a wire down their toilet for broadband! Even the press seems to like it, so why shouldn't you?! It's not that impossible anyway, this is Google we're talking about.. If anyone can do it, they can.

Well, and if anyone can come up with one damn good April Fools' Joke, they can too! Yeah, my money is on April Fools' joke. It actually took me a while to figure it out, but it just couldn't be anything else. It looks so professional and so well-thought, just like the 2002 Pigeon Rank page did. Honestly, they really out-bested themselves this time!

Seriously, Google, excellent work. What a creative joke, really! I don't think I laughed this much in quite sometime, and I definitely never laughed this much on an April Fools' joke ;-).

Happy April Fools' Day, everyone...

Edit: After publishing this post, I found this link on the Official Google Blog, talking about Project Teaspoon. From the backlinks, you can see the many other blogs referencing this post and talking about Google's latest April Fools' joke. It turns out Google TiSP isn't the only one, there's also GMail Paper. I have also found a news article talking about this and mentioning the past years' jokes as well as actual services, such as GMail's unlimited storage that got announced in 2005. People thought this unlimited storage thing was a joke too, which makes me think, could one of this year's two services be a real one? If so, I wonder which one it'd be :-P.

Saturday, March 31, 2007

Thousander Club Update: Week 2

Things haven't really been going as I would like them to this week. Lots of wasted time, unfortunately...

Development Hours:
  • This week: 2/20
  • Total: 17/1000

Reading Hours:
  • This week: 12/20
  • Total: 21/1000

Most of the week was spent on forums and IRC, mainly trying to fix a problem I had with my Linux's graphics drivers. It all started on this topic in the Ogre3D forum, you can read all about it there.

Hopefully the next week will be better. I know it won't be as productive since we have midterm exams and all, but I'm hoping at least I'll get to catch up on my reading hours, even if it was college books.

I've also made the decision to start a series of Ogre3D tutorials. I'll probably start working on those this week but I wouldn't expect anything to get published until the next week.

A bit of a slow couple of weeks around here, aren't they? Well, it must end sometime ;-).

Sunday, March 25, 2007

Thousander Club Update: Week 1

It has been a very busy week! I didn't even have time to post anything to this blog till now... Anyway, here goes:

Development Hours:
  • This week: 15/20
  • Total: 15/1000

Reading Hours:
  • This week: 9/20
  • Total: 9/1000

Gym Hours: Postponed!

Yeah, that's right, no gym hours this week. Unfortunately, the gym turned out to be going through an elaborate renovation/maintenance process that's been going on for months now! I know cuz I went there during the last semester and got the same result. Of course back then they said it'll only be a couple of weeks. Well, they were obviously mistaken. Bottom line: no Gym! So, I decided to wait for a while till they actually open again. It's just Development and Reading for now...

Hopefully next week I would have more time to write a blog post or two. I'm hoping to finally write that tutorial I've been wanting to do; I just haven't decided on what it'll be about yet. I'm thinking OGRE3D, which I'm starting to learn myself. It might be helpful to document and simplify the process of getting to know OGRE, but I'm still not fully decided yet. Of course any suggestions/comments are welcome and most appreciated ;-).

Saturday, March 17, 2007

Thousander Club: 1000, 1000 and 250...

First of all, I would like to thank Scott Hsu-Storaker, the original source of the Thousander Club idea, for dropping in and leaving his bit of encouraging comment. I hadn't even dropped him that comment that I said I would; I was waiting till I submit this post with what I actually plan to do. He must've seen the back-link, and he was kind enough to drop by and leave that comment. Thanks :-).

Secondly, here is what I have decided to do as my Thousander Club challange:
  • 1000 Programming hours a year
  • 1000 Reading hours a year
  • 250 Hours yearly at the Gym!
1000 Programming hours
Figures! I'm a programmer, so that's normally the first thing I wanna excel at. I have noticed that I waste an awful amount of time without doing any actual programming, so this challenge is aimed at making me focus more on enhancing my programming skills. The only current project I have is my Graduation Project, so I'll count the hours I spend working on that. As my profile says, I'm also very passionate about game programming, and I actually wish I can work as a game programmer after graduating; so that will have a big share too. Other than that, I plan to try and make some sort of contribution to the Open Source community, as a form of participation and a way of giving back for all that I have taken and keep taking. So, I hope I can try to make some participations in form of Open Source code, be it my own programs made from scratch or plugins/modifications/etc... on other open source programs.

1000 Reading hours
I love reading. I have also noticed that I don't do as much reading as I wish I did. So, my goal is to do 1000 hours of reading every year. That's counting technical books, college books, novels, anything. It just has to be books; I won't count online browsing as reading. I also wanted to make a goal of a minimum 10 books every year, but then I figured sometimes I only need to read the first half of a book and leave off the second half cuz it's too advanced for my needs on the topic or something, so I didn't think counting the number of books would work.

250 Gym hours
Well, let's just say I'm not exactly the most fit guy on the planet... So, I figured if I can make myself get off of my computer chair and head to the gym to spend an hour there every day, that'd be real nice! I figured I might not be able to do that every day so I said at least it can be 5 days a week. Multiplying by 50 to give myself 10 days when I can slack off and still not lose the challenge; things added up to 250 hours at the gym every year.

It might sound overly optimistic. It sure sounds veeery hard to keep up with, to me at least. I would have to dedicate 6 or 7 hours every day! It's not easy, but it's not impossible either. What can I say, I'm an optimist!

I would be posting my weekly updates on Saturday, starting the one a week from now. Let the record show that I am starting the count on Saturday March 17th, 2007. Let's see where I'd be by the end of 2007, and where I'd be a year from now... Who knows!

Wednesday, March 14, 2007

The Thousander Club

Thanks to Google Reader, I have been following a few blogs from here and there recently, just to try and stay up to date with what's going on all around. A while ago I stumbled upon this article on GBGames.com, which is a blog made by an indie (short for independent) game developer. The article is talking about something called The Thousander Club, which was established about a year ago in this article on Low Poly Cooperative, and the author posted another one lately, called Thousander Club Take 2.

That was just a bit of history to give credit to its rightful owners. Now, assuming you haven't followed any of the links and forgot all about this article, you must be wondering what this Thousander Club is all about. Well, the idea is simple. Practice makes perfect, right? Okay, so let's do a lot of that!

The basic idea is based on the fact that it takes 10,000 hours and 10 years to become a master at something. It's a big number, isn't it? But if you break it down it's not so big... 1,000 hours a year, that's 84 a month, or around 20~21 hours a week. So, the idea is the person will pledge to be committed to one or more things and spend this certain amount of time with each one to establish a certain goal; which is traditionally getting better at this thing. It doesn't even have to be hours, it can be anything; for example the founder of this idea started by making a challenge for himself and everyone else on the Low Poly Coop community to create 1,000 art models by the end of 2006.

I don't think I need to repeat what was said in those articles (and they say it a lot better anyway), so I'm gonna skip this part and you can read the articles for more details about the original idea. Now, the news in all of this is: I'm joining the Thousander Club! In fact, I like to think of it more as founding a local branch; cuz, in the words of the original founder, I dare ya! Yeah, it's an open challenge to everyone who reads this article. As I said, it doesn't just have to be dedicating hours to a certain field, you can dedicate a certain number of something you care about doing.

I haven't decided yet on what I'll do and what can be quantified in my activities, but I've got a few things in mind so far and I'm gonna post again when I come up with the full list. The tradition also goes that members of the Thousander Club post weekly updates on how their stats are going so far, so I've made a new label that I'm gonna put everything Thousander Club-related under, including this article and those weekly updates.

If I managed to interest you in this challenge, please either drop me a comment or simply link to this post. I like to know who else I'm sharing this challenge with, and I'll also drop a comment on the original challenge author's post telling him about this, and he can follow this new "branch" if he's interested :-).

So, you think you're up to the challenge..?

Sunday, March 11, 2007

Tagged - Five things you might not know about me...

So, I got tagged by Mohammad Nabil... I actually thought of not playing, but then I decided what the heck; it might be fun. Well, here goes...

  1. Sometimes when I'm driving alone and I feel like it or I'm in a hurry, I drive really fast! I don't do this when I have someone with me cuz I don't like scaring people, so very few people have actually seen me doing that. Most people who have been with me in a car would say I'm very calm and cautious, but there's another truth behind the scenes ;-). (Please note that I said fast but not reckless. In no way do I encourage reckless driving or breaking the speed limit; which put people's lives in danger. Fast is a subjective word, which for me means as fast as I can go without breaking the speed limit!)

  2. My first interaction with a computer was with an MSX computer. I started my fascination with programming as early as I could read and write/type. My dad had learned BASIC and was writing statistical programs on the MSX, and I used to read these programs and the examples in the programmers manual and try to understand them or change parts of them and see how the output would change. I still have that MSX machine by the way; I'm hoping one day it would be a rare artifact and I would get to sell it for a nice sum of money :-P.

  3. I had a very controversial set of grades before college. I used to be top of class up until 5th primary. I went for a sudden dive (mainly because of laziness) starting from prep school, which reached its lowest in 2nd secondary when i got 89%. When I realized I might not make it to computer science with these grades, I got my act together and got a little over 98% in 3rd secondary, totaling my high school grade to 93.5%, which got me to Computer Science, Helwan University.

  4. I used to be a very unsocial person! Many people won't even believe this one, but it's true. Up until right before college I was literally a social outcast in school. I had very few friends back then, and none of them are still keeping in contact today.

  5. I love fiction. For that matter, I love any form of expression. I love to read novels, watch movies, TV series, cartoons, and play games that have a deep, immersive story. I don't just follow the story itself, I like to follow how the story was driven, how the actors embrace their roles, how the gameplay was intertwined with the story, etc... I hope that one day I can participate in the making of such a thing (preferably a game of course).

As the tradition goes, I get to pass the tag :-D. So, I'm tagging Ehab Youssry (who's probably gonna hate me for this :-P). I wanted to tag Magdy Wageeh and Shady Mostafa but Shereef beat me to it (well, he got tagged first so he kinda earned it anyway...) Actually come to think of it, I would've tagged Shereef himself as well! I guess it doesn't matter since the result remains the same; they all got tagged anyway ;-).

Saturday, March 10, 2007

Linux Migration: End and Beginning

Today I was shocked to realize that I haven't posted a single line for the past 10 days. Well, I've been extremely busy lately; with having to do lots of reading for the graduation project and all... Frankly, I missed writing! Anyway, I'm back and I have a lot to talk about!!!

First of all, I'm officially celebrating my second full week on Linux! I wouldn't have believed it two weeks ago, but I'm actually here; and no Windows involved :-). The transition has finally taken a smooth curve and I'm pretty relaxed in the environment. I got all my daily activities established, only with very few exceptions that have to do more with the lack of hardware drivers; namely the webcam and the Sony Handycam. Maybe there are Linux drivers for the Sony, I haven't looked yet; but I'm sure my cheap/brandless webcam doesn't have any; I checked. Well, I don't use the webcam that often anyway.

The past week has been largely uneventful regarding Linux; it was mostly normal everyday activities. The one exception that happened about a week ago was that I actually managed to move my installation to the new hard drive, as I was trying to do after my last entry. It was easier than I had anticipated, which appears to be the theme for this new "era" for Linux. I just copied the file system using "cp -a" and did some editing to "/boot/grub/menu.lst" and "/etc/fstab" to reflect the new location for the system, and everything just worked! I even changed the location of my "/home" folder to be mounted on a separate partition, and all it took was a restart.

Well, I believe this concludes my Linux Migration series of posts. As the title indicates, this is just the end of the posts; but it's just the beginning for my Linux experience. I do my best to avoid going to Windows for any reason, and I'm doing just fine as it is. Of course there will still be the occasional post whenever something exciting happens on Linux that I want to share with the rest of the world ;-).

On some final thoughts; I just wanna congratulate the guys at the Students United for their Linux Week in college. Guys, it was great and you did some great efforts there, and I do believe your efforts were not in vain as I heard many younger folks in college talking about how they wanna try and sometimes even convert to Linux. Great Job, really ;-). I really encourage anyone who hasn't tried Linux yet to give it a try. It might be a bit intimidating at first; but sure enough you'll enjoy it later on that you won't even stand going back to Windows for a couple of minutes. That's based on my own personal experience...

Last but definitely not least (and I hope this doesn't sound sleazy cuz I really do mean it), I'd like to send out a big bundle of gratitude. To the people behind the Linux operating system and every distribution of it out there. To everyone writing or helping with open source software out there. To every person standing out for the open source movement and the freedom of thought and expression out there. These people work hard and believe in what they do, and they never get enough gratitude! And I know they're never waiting for any to begin with, cuz that's not why they do what they do; which makes them even greater. So, I would like to express my sheer and utter gratitude to these people for what they do and for who they are. Thank you, really; Thank You!

Wednesday, February 28, 2007

Linux Migration: The Awe in Awesome

Awe \Awe\ ([add]), n.

2. The emotion inspired by something dreadful and sublime; an undefined sense of the dreadful and the sublime; reverential fear, or solemn wonder; profound reverence. [1913 Webster]

Solemn Wonder. Profound Reverence. That's exactly how I felt after installing and running Beryl desktop manager. It's simply awesome! No wonder Mohammad Nabil likes it so much.

For those who don't know what Beryl is, it's an alternative desktop manager. Basically, it manages how windows get rendered and how they behave. It has a very nice set of features, with lots of focus on stunning visual effects. In simple words, it makes the desktop environment look very awesome and act very cool about it ;-). Here are some screenshots that I took while writing this article:

- Here's one showing off the cubic environment and 3d windows, with the Firefox window being bent between two desktops
- And here's another one showing a window being incinerated by the Fire (aka Burn) effect as it gets closed, while the Beryl configuration manager is open underneath so I can adjust the animation speed to be able to catch it in a screenshot
- And these two show the various spring effects at work

If I tried to list all the features, I'd have to post about a dozen more screenshots and the post would get humongous. I just wanted to share with you the highlight of my Linux experience for this past couple of days. It has turned it to a very catchy experience and I actually got used to it faster than I could imagine. I had to use Windows a couple of days ago to do some filesystem edits, and it felt sooooo boring with its traditional windows and colors...

Bottom line, it's a very fine piece of software that must've had lots of hard work and artful skill to reach where it is right now. I'm humbled, really!

Other than that, it has been a rather uneventful couple of days. I got a bunch more programs installed, and learned a bit more about the inner workings of Linux. My typing speed is gradually increasing, thanks to all the practice typing shell commands, which is still somehow inevitable for some administrative tasks.

The one challenge that I might be faced with soon is trying to move my whole installation to a new hard drive that I'm thinking of getting. I know it can be done and I don't think it's gonna mind being moved to a bigger drive, as long as I can reinstall grub on the new drive's boot. I'm still not sure if this would work at all and what the best way to do it would be, so if someone has any idea; any comments would be highly appreciated :-).

Saturday, February 24, 2007

Linux Migration: My New Toy

What do most kids do whenever they get a new toy?

People who have kids in the house will probably know the answer to that. Well, here's what they do: they keep playing with it non-stop until they're too tired and they fall asleep, or until it possibly gets broken! And that's exactly what I did with my new Linux installation :-P.

After my previous post, my dear friend Mohammad Nabil posted a comment about my mp3 problem; for which I would like to thank him :-). Frankly, the solution was even easier than I anticipated. I knew I had to install the codecs; but I thought the process would involve some looking, some cryptic command line instructions, and possibly some form of compiling. I couldn't be more wrong! It gives me a tremendous amount of joy to say that it was even easier than installing Windows components ;-). I just had to open the Synaptic Package Manager, which is very similar to the Add/Remove feature, only more advanced. It's as easy as 1, 2, 3: Enable a couple of repositories in the list, choose the packages to install, and click apply!

I went for the solution with the least amount of download, VLC Media Player. I had mp3 and everything else working again effortlessly. I did notice something, however; my surround sound wasn't working properly! So, I did the first thing to come to my mind; I looked for an updated driver for my sound device. I found one on the manufacturer's website so I downloaded it and tried running it. I supposed it could be trusted; but this is where I went terribly wrong. Apparently, gcc and make weren't installed with the system, so only after deleting the current sound drivers, it failed to build the new driver! I was left without the deleted files, and next time I restarted gnome wouldn't log in.

Thanks to Linux's multiple terminals, I logged in on tty1 and reinstalled the missing files that were stopping gnome from loading. I then logged on to gnome and started trying to recover the sound functionality. After a while and a headache, I decided I'm gonna throw away this installation! I restarted back to Windows and reset the MBR to XP's configuration. I started downloading the latest Ubuntu version, 6.10, and then I was too tired so I went to sleep.

That was Thursday. When the download got finished the next day, I installed the new version, also LiveCD style, and got it re-customized, much faster this time. I was met with a few nice surprises in forms of minor but useful changes. Overall, it was a bit annoying to have my new installation broken at the very first day, but I consider it a useful experience. I did manage to restore access to the system, which was kinda fun. I know I could've restored the sound if I had tried, but it was pretty late at night and installing the 6.10 seemed to have its advantages -- for one, XGL/Beryl had the 6.06 version on their unsupported list!

I installed this system last night, and I haven't used Windows today at all; and you know what: it feels really good!!!

Thursday, February 22, 2007

Linux Migration: First couple of hours

They say the first couple of hours are always the hardest. I couldn't agree more!

I'm currently going through these first hours; I finally got my Linux installed! It took me a while since the last post, I know; but with going to college every day and having to work on some stuff for the graduation project (which is kinda interesting btw, more on that later ;-)) I kinda haven't had the time. Well, as I said, today I finally did. Believe it or not, here goes my very first Linux-authored blog entry ;-).

The timing delay wasn't the only change too; I actually went for Ubuntu instead of openSUSE. The main reason is rather silly; I actually finished downloading openSUSE and checked the DVD image's hash and everything checked out fine! So I went and wrote the image to DVD and got ready to install it, but then apparently something went wrong during DVD burning cuz the installation didn't go too far. I got some file read error at a very early stage of installation (and thank God it was at an early stage rather than having to sit through an hour of installation and then have it fail near the end!) and the installation failed. So, I went for the first ready alternative; Ubuntu.

The installation experience was remarkably pleasant! I actually give it 10 out of 10 for that; it's even much easier than some standard everyday program setup. Since it's originally a LiveCD, all I had to do was boot up from the CD and have a live preview of how my system is gonna look and react; at which point my primary focus was making sure all my devices work properly. Then I clicked the Install shortcut on the desktop and was presented with a very simple 5-step wizard that actually installed the system while I had access to the live version to browse the internet or do whatever I like! This is a major improvement from having to stare at the screen while the system gets installed, which is what normally happens during a standard Linux installation.

The only possible drawback is that it was too easy; no support for advanced options except for the disk partitioning. For instance, I usually like to modify my boot loader options to adjust default choice, timeout, etc... I also didn't get to choose my root password, and I wasn't sure whether it has defaulted to the same as my password or some other default value so I had to change it manually after logging in. It's not such a pain, but it was kinda ambiguous.

Well, so far so good! There were also a few nice touches that I hadn't seen on my last Linux installation; like the fact that it can read NTFS partitions and it actually auto-mounted them for me and put links to my drives on the desktop. It's still read-only of course, but if I recall correctly that's unavoidable. I was happy to have access to my files, though; so I started by opening my Music folder and trying to play some music, where I was met by the first road bump! Ooops, error message! Something about a missing decoder, and I got the same message with each and every format I have, sound be it or video. I guess it works with uncompressed WAV files, but I don't have any of those to try. I guess I can live without music for a while until I get it fixed, no big deal.

Of course there're other problems and stuff that I have to install. My favorite browser, Firefox, was already installed, but I upgraded it to 2.0 (before actually finding out that it got updated automatically along with 108 other components by Ubuntu's autoupdate feature anyway) and downloaded my favorite plugins. Thanks to Foxmarks, I got all my bookmarks imported in no time either ;-). Chat was available out-of-the-box with Gaim, though some advanced features aren't available and I still haven't gotten the Linux Yahoo Messenger to work yet. But the readily-available functionality - though basic - did feel nice.

Anyway, I guess that's enough boring details for now. I'll try my best to keep up with posting about my daily Linux experience, and I'm also working on some tutorial posts for Linux and OpenSource beginners, in response to a special request from one of my friends :-). Hopefully I'll get those done sometime soon.

As a final thought (and mainly cuz I'm too lazy to try solving that now), I'm sure someone else was faced with the same problem trying to play mp3 files; so I'd be very grateful for any comments about a quick solution. I'm sure it's very straightforward, I just haven't tried looking for it yet...

Over & Out...

Saturday, February 17, 2007

Linux Migration: Take 2!

So, I have recently made the decision to try migrating my life to Linux for the millionth time! I'm actually starting to think of Windows as a bad addiction; I've made the decision to quit using it for the 1000th time and it never seems to work. I hope I'll be able to stick to Linux for a bit longer this time though; I'm trying to minimize my dependencies on Windows and Microsoft technologies, especially now that I'm also gonna start taking up Java as a career path.

My distribution of choice is openSuse 10.2, which I'm currently downloading. It was recommended to me by a friend, and since I don't really have any preferences of my own, I decided to give it a try. As soon as it's downloaded, I'm gonna burn it and install it on an unallocated 7GB partition that I've had since the last time I had Fedora Linux installed and only used it 2 or 3 times total... I will make it my default boot option and try to get most of my internet applications or alternatives, as well as the development environments; of course excluding anything by Microsoft.

I am hoping Linux would be the start of a full migration to all things Open Source, and hopefully I would get to learn a couple of useful things in the process. I won't be too fast to get rid of my Windows XP installation though; I know for fact that I still have fatal dependencies on Windows, and I'm not really big on virtual machines.

I know it won't be easy, but I'm hoping it'll be fun. I'll document the whole process every other day with a post here, and who knows; maybe this experiment would encourage other Windows junkies like myself to quit in hopes of a better life!

Wish me luck!!

Wednesday, February 14, 2007

Of PC And Mac: The Anti-Microsoft Movement

Anyone who has been browsing technology websites lately, such as Wired's Computer Technology news page and many others, must have noticed the fierce promotion campaign that Apple has been holding lately. These ads are composed of a set of funny TV ads, starring two guys, Mac and PC, having various conversations that mostly end up showing an advantage that Mac has over PC.

This was also coupled with the very unenthusiastic launch of Microsoft's new platform, Windows Vista, that was mostly met with "a Late-Night Yawn" by many technology-aware users. Many negative reviews and many unwelcoming comments make me wonder if we're witnessing the descent of Windows in favor of exciting new alternatives by Apple, especially after the switch to Intel-based computers that enables Mac users to use any Windows platform if needed; "Not that you’ll want to..." says Apple!

This screen shot below shows a very nice coincidence on Wired's page, showing an ad for Microsoft's new Windows Mobile platform sharing the same page with an Apple ad about peripherals showing off Mac's out-of-the-box peripherals support.

Who knows what the future holds for the anti-Microsoft campaign, and whether Apple's promotion campaign will really result in a shift towards Mac. I'm also wondering (more like hoping actually!) whether this shift will be reflected here in Egypt and around the region, which currently has Microsoft monopolizing most of the market, with Java having a growing share of the development market but no other OS having any significant share of the end-user market...

(P.S.: For those of you who have been following my posts, I'm sorry for the sudden disappearance for a whole week.. Unfortunately, my phone line - and thus ADSL too - has been disconnected for most of this week, so I didn't have any internet access to continue my post. I'll try to write a bit more often this week to make that up ;-))

Wednesday, February 07, 2007

One billion and one. One billion and two. One billion and three ...

This New York Times article entitled "Wireless Internet for All, Without the Towers", talks about wishful plans to extend wireless internet coverage to large residential areas that don't have broadband access. Trying to cover these areas with traditional access points has proven to be rather expensive, which is why Meraki Networks is researching a new, inexpensive way to do just that!

By creating cheap wireless boxes that are deployed inside apartments and that function as signal repeaters, and connecting these in a mesh network; they are hoping to establish cheap wireless connectivity to homes in areas that don't have broadband connectivity or who can't afford its relatively-high costs. Considering the low service and maintenance cost, ISPs can actually provide the service for free by using advertisements, and the users won't have to pay anything, except for the initial $49 unit! No installation, no maintenance; just plug it in and you've got wireless ;-).

Of course, it should come as no surprise that "In short order, Google and then Sequoia Capital, one of Google’s original venture capital backers, invested in Meraki" says the New York Times article. It appears that they might actually succeed in making the internet reach the next billion users.

I can't wait to see what the coming years of evolution have in store for us, with all that's been going on and all the new technologies rapidly evolving every day. I know I will join the writer of that article in counting the next billion internet users, as well as the next billion genius, web-oriented technologies!

One billion and one. One billion and two. One billion and three ...

Monday, February 05, 2007


I got this funny error when I was trying to open Google Reader yesterday...

Of course, as is the usual with Google, refreshing the page fixed the problem. It did, however, remind me of all the funny errors posted everyday on The Daily WTF. But honestly, I totally don't mind such an error, I didn't even laugh that much :-P. Actually, "Oops!" is kinda a Google standard error; it's not the first time I see it. Besides, I think they somehow earned the right for a "This wasn't supposed to happen" error message, after all it's still under development and it's already one more geniusly Googlish idea!

If you don't already know what Google Reader is, and you like RSS and Atom feeds like I do, then I really suggest you give it a try! I find the description/slogan they used quite to-the-point: it's "Your inbox for the web." You can use it to easily manage your favorite feeds, and you can share interesting articles with your friends using your shared page (here's a link to mine). You can also add a viewer to your Google personalized homepage, so that you wouldn't have to browse to the Google Reader page whenever you wanna check your favorite feeds. All of this, of course, works in a very seamless and extremely easy to use interface - also a trend of all things Googlish.

Yet another Googlish service I stumbled upon recently, and one which is actually specifically targeted to blogs and bloggers, is the Google Blog Search. I guess the name says it all, doesn't it? Looking for blogs about a specific topic? Wanna know when someone blogs about your favorite ? It's even got feeds if you'd like to stay updated with new blog posts matching your criteria! The author of this article on the official Google Reader blog uses it to stay up to date with blogs talking about Google Reader.

Seriously, I can't help but try to imagine how much further is Google taking the web experience, and hope that one day I - as a developer - would get to participate to this great technology even if by a tiny bit...

Saturday, February 03, 2007

The Scope Resolution...

Definition: The scope resolution operator, ::, is used to qualify a namespace member to its namespace (C++ Language).

Geeaky definition out of the way, this is as close to the literal meaning of the name as I intend to get. The only reason I chose this name for my blog is that I actually thought it was cool when I first created this block in May of 2006. I still think it has a certain sound to it, that is why I decided not to change it when I came back here, almost a year later.

As I just said, I first created this blog around a year ago, mostly just exploring the possibility that it might be a fun thing to do. Half-way through writing my first article, I started having second thoughts... Do I really have time to keep up with posting every now and then? What do I have to be writing about in the first place? And who in the world would actually be interested in reading what I have to write? Long story short, I had my moment of doubt and I ended up discarding the idea.

Now that I'm back here and actually writing, the natural question forces itself: so what has changed? I still don't have that much free time on my hands; and I still think I'm not that much of an interesting writer to be attracting that many people. Well, I just thought I should give it a try anyway.

I think that this all comes as part of a new phase that I'm entering - a new gear if I may put it that way. I am turning 21! And very soon I will graduate and enter a whole new realm. Actually, I'm not normally very fond of self-expression; I'm more that vague, mysterious guy that doesn't talk about himself unless extremely necessary. So, I just thought I'd try this self-expression thing for a while.. Who knows, maybe it's not such a bad thing...

Of course I still have no idea who might actually read this blog! But since I'm always interested in making new friends, I will be very glad if you could drop me a comment or an email with anything you might have to say ;). Since I'm not really a relentless self-expressionist, I guess I'll just see how many comments/views I will get, and if they're not so many, I think I'll eventually look for something better to do with my time. I hope not, though...

Over & Out!