Sunday, June 28, 2009

Earth the Pain

In Electricity
In electricity we use the term Earth to get red of the extra current or statics to better protect a device.

In Prayers
In our prayers we place our forehead on the ground to Earth our selfish ego.

In Business
In Business we Earth the mediocre Projects to feed the remarkable calves ones.

In Programming
In IT we Earth redundant code to create a reusable platform.

In Love
In Love we try to Earth the bad moments and forget them to leave space only for the good ones.

In Breaking up
In Breaking up we Earth all the good moments and just remember how badly we were hurt.


Earth your pain, your way.

Wednesday, June 24, 2009

Sunday, June 21, 2009

It's-not-my-job


This is the easiest answer to an embarrassing situation.

The Accountant and the Programmer Story
For example, imagine you are a developer. You are developing an application for an accounting firm. There is an accountant allocated to test the application as you develop.

Lets go through this flow.

1. The accountant finds an error in the results, asks you to fix it, and explains why its an error.

2. You fix it. and you forward it back to him to test it.

3. He found another error of the same type, asks you to fix it, and explains why its an error (again).

4. You fix it (again).

5. He found the same error of the same type but in another report. So he tells you, "Please, if you just test the application more for these similar errors before sending it to me."

6. You reply: "Listen, It's not my job to detect the errors that may emerge in the result, I don't know accounting, I'm not an accountant. My job is to only fix errors not detecting them "


True, but silly. Right? Just like the picture I'm sharing here, the guy who marked the road said his job is to mark the road not to move the tree.


Do you have the same scenario at your work?
Apply this example to your business. I'm sure you have similar mindsets. The It's-not-my-job mindset is the exact opposite of proactivity.

If you hear your manager asking you to be proactive, maybe you need to start breaking your it's-not-my-job mindset.

Tuesday, June 16, 2009

Programming Zen

You might laugh when you read the title if you are a marketing manager.

Programmers are always being thought as code monkeys. They are the cogs that automate the business requirements. Nobody cares how the developer writes the code as long as it run.


ًWriting VS Programming
Just like writing, code can be written in a whole paragraph or it can be divided in multiple paragraphs.

Just like writing, you can refine your code or you can cut it down.

Just like writing, you can write books or textbooks or novels or even comics.

Just like writing, the more appendices you have the better.

Just like a presentation, the more lines and borders, the more confusing your reader get.

Now Map the paragraphs to classes, books to applications, textbooks to code libraries, novels to ERP and comics to scripts.

There is a zen approach to presentation I believe there is a zen approach to programming.

We will find it.

Saturday, June 13, 2009

Twikemon - Pokemon on Twitter

I talked to my friend Anders yesterday about that. I am planning to create a small game for twitter users.

I'm keeping in mind the following




1. The game should be simple, web based
2. You login with your twitter account using oAuth.
3. Choose your character, Pokemon, and then start the journey.
4. When you fight with a player and you won, automatically a twit is sent to your profile, "just beat player X on #Twikemon"
5. You can fight with computers too.
6. The more you play, you get more experience.
7. The more experience you get, you get more levels, you attack is now stronger and new moves.


Now that is the basic structure, I'm planning to make it very simple and mind the performance.


Ideas are welcome.


I won't be sad if didn't catch up, I'll be having fun developing it.

I can promise to do my best.

The site is up and running

Friday, June 12, 2009

I'm successful and I don't care about you

The Good Side
You are successful, with a great pay!

You have great and creative ideas. People refer to you as the guru in the company. You were responsible for the company success for the past 10 years.

The Bad Side
But there is something really bad. You don't like to listen to anyone.

You pretend to listen but you just edit out all the talk you hear. People can feel it.

You think your success is because you don't listen to people's ideas because (as you claim) they "infect" your own creative ideas. Superstitious, but you don't admit it.

You will Never Achieve ANY Further Success
That's why you don't care about people ideas and you do everything by your own. You know, deep inside, that its wrong, but you associate this bad behavior with your own success. You cannot thrive with that behavior, you won't reach any further success.

Upgrade your Thoughts and Learn the Art of Listening
You need to "upgrade" your thoughts and treat people with respect because you are not the only successful person on earth. Really think. Do you do that? do you associate some bad behavior with your success?
For example, if you are a manager, do you treat your employees harshly because you think they respect you this way?

You don't thank anybody for a great job she did because you think that if you thank her she will be spoiled?

I recommend Marshal Goldsmith Book. It changed the way I think.

Thursday, June 11, 2009

Google can't answer your question?

If you can't find the answer to your question on Google, that is a very big opportunity.

Don't miss it!
  1. Solve the question by your own.
  2. Write a blog post about the answer
  3. Tag it with a lot of labels.
  4. Google will find your post.
  5. People asking your question will be directed to your blog.
  6. You will be famous.
You now have a potential visitor flow. What would you do now?

Utilize it, you know the drill.

Wednesday, June 10, 2009

Do you have the guts to step?

1. Build something really nice and new.

2. Make it really clean and simple and robust and rectified for people to depend on it.

3. Publish an API.

4. Make it open source.

5. Wait for harvest.


Probably step 1 is the difficult part. Other are easy.

"The journey of a thousand miles begins with one step"

Do you have the guts to step?

Guy #3 API

I loved Seth Post.

Briefly it was two guys dancing crazy, a third one joined them and made it really great. After the third guy joined all people started to dance.

The dance was there initially, no body care.
Guy #3 found an opportunity.
Guy #3 tweaked it a bit to create something people really want to do.
Guy #3 made everybody want to dance.
Guy #3 was the torch.


Think of Guy#1, #2 as the core API.
Guy #3 is very cool application built over that API.

As Seth said, we need more #3 Guys.

Tuesday, June 9, 2009

The Robot Hand Project

In college, one of my friends created a Robot hand that can be moved up and down, that was his senior project. I was amazed of his work  because I know that it's not an easy task to create a robotic hand that can be remotely programmed. All the diodes and electronic chips and assembly language behind it.

So thrilled I was, I told my wife about that over dinner and that was exactly her reply:

"That's it? A Robot hand? And I get to press buttons for it to move? I don't know why you are so excited about that. Why don't YOU tell your friend to tweak his Robot hand a bit so it takes the trash out of our house since it was sitting there for the past 2 days."

Ouch!

I couldn't think like that, we tend to dive into the details and forget why we are building things in the first place. That is a typical Left Brain/Right Brain Dilemma.

Monday, June 8, 2009

How to Remove Windows Genuine Advantage

I spent 2 hours trying to convince my neighbor that his machine is not infected with any virus and that message is from Microsoft itself.

His Windows was nagging him with messages and popup balloons of Windows Genuine Advantage.




Removal
For those who's looking for a solution to remove the nagging message "Genuine advantage notification" You're at the right place,

1. Just go to c:\windows\system32\
2. Then find the files WgaLogon.dll , WgaTray.exe
3. Rename them both to anything, and restart your machine.

That stops the nagging forever.

Can't find the files?
If you are getting a message to "Install" the WGA, you will not find the above files. So go ahead and install it the WGA. Then apply the steps mentioned above.


Don't even delete the registry keys, let Microsoft read those keys to think that your machine already have WGA Advantage so it will not prompt you again.

Now, for those who want to blame me encouraging piracy, I know that's wrong, we should buy Microsoft software and not used the cracked software, I admit.

But the question is, will the genuine advantage solve that problem for Microsoft?

I guess not.

So why not Microsoft to release a Windows Express version of XP or VISTA (Or perhaps going open source?) and allow us to enjoy it for free. They will save their developers the time trying to verify each and every cracked software. And they will get tons of feedback on it.

Just a thought.

Web apps can hide your flaws.

With desktop applications you cannot cover your flaws. However with Web applications you can.

How is that?

If you develop a desktop application (Windows or Mac), people need to download it and install it on their machine. Run it there, offline, isolated and away from the internet, they have control they can disconnect their machine and run it anytime, they can copy it anywhere, share it with friends. So If you discovered a bug? Big problem you need to make people download the new version.

That's what's happening with cracked Anti-Viruses. They release version 1.0, someone manage to crack it. So they release version 2.0 which that crack won't work for. But people still won't let go of version 1.0 and will use it, carry it on their flash disc or external hard disc.

Web applications are cool. Discovered a bug? quick fix it and publish the new version, the next time people log in to your site they see the new version, they can't warehouse your old version.
You can easily cover your flaws.
But the development isn't easy at all, especially if you want your web app to work for IE, firefox , opera etc...

Wednesday, June 3, 2009

The Journey from Technical to Management

A lot of people (especially the IT guys like me) dive deep down in the technology level of any idea or problem. We enjoy the sexy technical experience we get while solving challenging problems.

Its fun and wonderful and heart-warming, especially the 'AHA' experience we get when we solve a severe technical problem.

There are different levels though.

First, you can set and be "Ali the Oracle guru" any error on Oracle can be fixed by you. You know the causes of each and every error that occurs in Oracle. Hence, for example Oracle error 505 is way so generic description for you. You don't care what project you are in. You just need to finish your very job that you are good at.

Second, you can choose to be less guru in Oracle and go up the hierarchy to be a manager. Now you have to pay attention to other issues. For example solving oracle error 505 will be your IT guy job not yours and you don't care what is that error as much as you care to solve it. You want to see the application running, you have the privilege to move the Oracle guy from an application to another.

Third, you can go even higher to be a project manager. Now your lenses change, you just need to see those applications running and on time, you don't want to listen to excuses and definitely you don't care jack about Oracle errors.

Last, Its getting more fun (quoting @ElieBlog) when you go higher to be a project director, you will be responsible of many projects. This bird's-eye view allows you to see running projects in parallel (regardless of its details and errors and developers and progress). Now sometimes you should have the gut to unplug a project if it isn't giving you that much impact freeing its resources to an another remarkable one.

Monday, June 1, 2009

EarthTwit Translation feature added

You know that EarthTwit can view public twitters along with your friends and followers.

Of course not all of them speaks your language. So I thought, Hussein, why don't you translate these twits to any language.

Hence, I used Google Translate API to detect the twitting language, and translate it to a language of your choice!

Here is some snapshots, I translated a girl's twit from English to French.









You can do the same with Chinese Japanese Arabic etc.. Thanks to Google Translate

Enjoy EarthTwiting