Archive for June, 2008

Google’s Lesson

June 23rd, 2008

As you all know it’s one of my most important dreams to work for the search engine giant “Google”, although it’s very difficult to get a job at Google, I’ll keep preparing and waiting for the right moment to apply…

The lesson every company should learn from Google is the comfortable work environment that attracts the engineers around the world. But Why?

For example, in Egypt we have a very small number of skilled computer engineer and a huge number of clumsy/lazy/unskilled engineers. but in contrary there are a high number of opportunities for really skilled engineers. so what’s wrong with that? isn’t this good for skilled guys?

Yes it’s, but the problem is that as soon as you start working for a company you discover that they want to consume what you know and they are afraid of letting you know more or get educated because you might leave any moment, as instead of attracting you to stay in the company or providing a very comfortable workplace with challenging problems and interesting meetings, they prevent you from learning and they don’t want to spend a penny on you!

The lesson we all should learn from Google is that when engineers are happy they can produce more and be more and more loyal to the company, thus thinking about building a long and successful careers in the same company rather than moving to another place.

Google is best for me because it will use all of my talents, I would produce more output efficiently, and I will be able to write code that would affect the whole world…

I didn’t find a company in egypt yet that focuses on its engineers much, I didn’t find a company that really focuses on how to make people happy and enjoying what they do. Most of companies are focusing on customer satisfaction but not employees satisfaction!

So, it’s very important these days for companies to do their best to keep the good engineers from leaving and to provide the most comfortable and challenging work environment…

Good Backup script

June 14th, 2008

I’ve a local home server that works as a local RAID storage with some virtual machines that serve different services to me and to some friends. The most known service to most of you is the XMPP service for chat.cat-hackers.net that enables all the H4ck3rZ Foundation members to communicate in an efficient way.

Another thing is that this server hold all of my important data that represents my own work throughout the years, so it’s very important to keep them secure and safe. I’d a bad experience of losing a 2.5GB harddrive that had all of my programming work. That experience taught me how to spend more money to keep your data safe and secure.

So :) I got an external 500GB USB hard drive to have it mainly as a backup drive for my 500GB RAID local home server, and as you can see it’s 500GB too, so I can’t do incremental backups on that disk because it too small for such a plan, so I decided to rsync the data on the storage server to the USB hard drive and I wrote a nice script that does some smart stuff….

Let’s post the script first then I’ll describe more about it.. » Read more: Good Backup script

C/C++

June 11th, 2008

In my preparation plan for a very imporant job role I’m applying to these days, I have C and C++ revision in it.

I’d an interview a couple of days ago in C++ and it turned out that I don’t remember almost anything! that’s because the last time I used C++ intensively were on 2001 when I worked on Al Natoor and 7ares applications based on MFC and VC++ 6.0.

Since then I used C++ lightly and what I do remember much more is C and specially GNU C, anyway it seems that I’m getting back to the low-level programming again after spending some time doing high-level coding using .NET and J2EE.

Two years ago I launched exciting courses that I loved and I wanted to use them intensively but I didn’t have the change to even develop myself in. Those courses were “The Linux Kernel Internals”, “Linux Programming Essentials” and “Device Drivers Programming”, they gave me a very very good deep introduction about the kernel internals and at then I would speak the kernel language, but now I forgot most of stuff.

I believe I’ve a very bad memory, but what I’m good at is finding the right information in the most efficient way, so I don’t take much time getting a piece of information back. I’m trying now to revive those experiences and try to prove that I was C/C++ expert in a very very short time. I don’t know whether I’ll be able to do that or not, but I’ll give it a try anyway.

When I started revision yesterday I discovered how bad I was in the last interview!, If I were in place of the interviewer I’d say (The interviewer) that I suck!

Let’s hope the second international interview would be better :)