Wednesday, February 8, 2012

Mostafa Kamal : Pleasure of Reading | مصطفى كمال : متعة القراءة

English version :

I wasn't the type of person who grew up in love with book reading, albeit, I'm almost a daily reader nowadays. Until I started reading Mostafa Kamal's Pleasure of Reading. This book has really dived deep into my heart, planted the seeds of reading and it's merits.

Starts with an ending (yes, you read that correct, an ending !). An ending to the life of ignorance and a start for the life of brightness and creativity with reading.

Then Mostafa goes onto the reasons of why we don't read much (or ever at all !). What I really admired in Mostafa's writing was how he pictured the Egyptian culture (which is applicable to many countries as well !) and how it affected our reading capabilities negatively (albeit, it still comes back to your decision !).

Mostafa explains the importance of reading and quoted valuable sayings from many popular elders which contributed to the whole advice. Then he gives a how-to for reading to ease your entry to the world of books. He closes the book with how Islam promotes reading and culture nutrition.

The final pages remind me of the Pay it Forward movie, he actually advises you to spare this book for someone else after reading it as you're now on to your reading adventure.

النسخة العربية :

لم أكن الشخص الذي نشأ في وسط حب القراءة , مع أني اليوم تقريباً أقرأ بشكل يومي. إلى أني قرأت للأستاذ مصطفى كمال كتابه متعة القراءة. فهذا الكتاب دخل في قلبي و زرع حبوب حب القراءة و حصادها.

بدأ مصطفى الكتاب بالخاتمة (نعم , الخاتمة) , نهاية لحياة الجاهلية و بداية حياة النور و التعلم و الإبتكار. ثم بدأ مصطفى بسرد أسباب لماذا نقرأ القليل أو لماذا لا نقرأ على الإطلاق. و لقد أعجبني أسلوبه في رسم الثقافة التي نعيش فيها في مصر (و هي موجودة أيضاً في بلاد كثيرة) و كيف أثرت على إمكانياتنا في القراءة بشكل سلبي (مع الرغم أنه قرارك أنت في النهاية).

شرح مصطفى أهمية القراءة و استشهد بمقولات من شخصيات بارزة حيث أن هذا ساعد على اقتباس هذا المنهج. و بدأ بسرد طريقة لتتعلم كيف تقرأ ليسهل عليك البداية في عالم القراءة , و دعم كتابه أيضاً بتعاليم الإسلام و كيف حثت على القراءة و تغذية العقل.

اخر صفحات الكتاب تذكرني بفيلم Pay it Forward , فلقد حث القارئ على إعطاء هذا الكتاب لشخص اخر بعد قراءته لأنك الان على مشارف رحلتك في القراءة.

Baytona Course Starting 20 Feb | كورس بيتنا سيبدأ ٢٠ فبراير

English version :

While skimming through Zedny's courses for February 2012, I stumbled across the Baytona course which has been astoundingly informative to my engagement during 2008.

They are going to be giving it again starting 20 February 2012, I highly recommend it for upcoming spouses.

النسخة العربية :

كنت أتصفح كورسات مجموعة زدني و رأيت أنهم سيعطون محاضرات بيتنا الذي حضرته أثناء ٢٠٠٨ و كان أكثر من رائع حيث أنه أفادني في خطوبتي بشكل ممتاز.

سيعطون هذه المحاضرات مرة أخرى إبتداءً من ٢٠ فبراير ٢٠١٢ , أرشحه جداً لكل شخص مقبل على الزواج.

Sunday, January 29, 2012

Valuable Feedback for your Resume | نصائح سديدة لسيرتك الذاتية

English version :

Little did I know about GreatResumesFast. I submitted my resume based on their offer to review it for free and I was amazed with the valuable feedback that they provided which truly addresses critical points, not just in the resume writing, but in the career development in general.

I highly recommend trying them out and they do offer premium services which may be direly needed by you.

Send them your resume to and expect a reply very soon ISA.

النسخة العربية :

لم أكن أعرف عن GreatResumesFast إلى القليل. فلقد أرسلت لهم سيرتي الذاتية بناءً على عرضهم لمراجعة السيرة الذاتية مجاناً , و لقد أذهلتني النصائح السديدة التي ردوا علي بها , فقد أصابت نقاط مهمة ليس فقط في كتابة السيرة , إنما في التخطيط المهني بشكل عام.

أرشح لك أن تجربهم و أيضاً يوفرون خدمات مميزة من الممكن أن تكون محتاجأً لها.

أرسل لهم سيرتك الذاتية إلى و توقع الرد قريباً إن شاء الله.

Friday, January 6, 2012

Attempting bilingual writing | سأحاول كتابة مقالاتي بلغتين

English version :
Lately I have been reading short books that revolve around personal development and how to impose a positive impacts on one's society, which were written in Arabic. I believe that it would be very useful to venture into writing in both Arabic and English together. The following are some of it's benefits that I foresee :
  1. Develop one's expressive skills and term selectivity in both languages and that won't come without practicing both of them as much as possible.
  2. Publish my articles in both languages to make it more accessible to English and Arabic readers.
  3. Most of my previous few articles and the upcoming ones ISA, revolve around the Information Technology field which is greatly built on the English language. I see that by practicing the Arabic language as well may alleviate this point one day.
If you find further benefits, kindly mention them in the comments.

For sure this style will slow down the rate of article publishing but I'll try and I have a feeling it will work well ISA.

النسخة العربية :
مؤخراً بدأت أن أقرأ المزيد من الكتب العربية القصيرة التي تدور حول تنمية الذات و السعي في المجتمع بشكل إيجابي. و بدأت أرى أنه من المفيد أن أعبر في مقالات بكلا اللغتين العربية و الإنجليزية. و لها عدة فوائد كالاتي:
  1. تنمية مهارة التعبير و كيفية اختيار الألفاظ في كلا اللغتين و هذا لن يأتي إلا بممارستهما سوياً بقدر الإمكان .
  2. نشر ما يتم كتابته ليسهل فهمه للقارئ العربي و القارئ الإنجليزي . فمحب اللغة العربية يستطيع تناول المقالة بلغته المحببة و محب اللغة الإنجليزية أيضاً كذلك .
  3. أغلب مقالاتي السابقة القليلة و القادمة بإذن الله تدور حول مجال تقنية المعلومات الذي مبني بشكل سائد على اللغة الإنجليزية و لكني أرى أنه بممارسة اللغة العربية سنتغلب على هذه النقطة إن شاء الله .
إذا تعرف فوائد أخرى من ذلك , أنشرها في التعليقات .

من الطبيعي أن هذا الأسلوب سيبطئ من معدل المقالات التي يتم نشرها و لكني ذكرت أني سأحاول و سنرى النتيجة , و أنا متفائل و الحمد لله .

Wednesday, December 28, 2011

The Luhny Bin Coding Challenge

Hans Peter Luhn
During my scarce free time I have decided to go through the recent coding challenge raised by Square which revolves around writing a log filter that masks any potential credit cards with placeholders such as XXXX-XXXX-XXXX-XXXX.

The neat thing about this coding challenge is that it's backed up by a test-suite which attempts several log patterns at your implementation. In order to satisfy them, you'll have to be careful in not missing any possible credit-card pattern.

The caught credit-card patterns need to be verified by the Luhn checksum as to whether they qualify as being credit-cards or not.

I have published my Java implementation which heavily relies on regular expressions for the detection of the possible credit card patterns, plus it's possible to further expand this implementation with further checksum algorithms as needed.

Go ahead, take your chance, fork their repository and get started !

Tuesday, December 27, 2011

How to choose the republic's president ?

Reading through Dr. Ragheb's book How to choose the republic's president ? I believe it's worth sharing to everyone such that the benefit spreads out. The book is a small one which should take from 1 to 2 hours to finish it for the average reader. The book is available at several local bookstores in Egypt, so it shouldn't be a problem to get hold of it (I got mine from Dar Al Salam).

The book's sole target is to educate people on how to choose a proper president for their republic, especially that Egyptians are approaching the presidential elections which they have been practically deprived from for the past 30 years.

Reading through the book, you will come up with the characteristics of a decent president to look for when the elections come around. Consider it as a proposal to what should constitute a proper president for our country. I believe the current period is a good chance to start building our opinions.

Tuesday, October 4, 2011

Introducing Mohamed Gamal

Mohamed Gamal is the name that I amazingly heard during an electrical engineering training that I attended at the Ras Shoker petrol plant a couple of years ago during college. Mohamed Gamal worked there around 45 years ago and till now you can hear his name being praised by the workers there. He was one of the legendary people working at that plant long ago.
So what did that man do to have his name mentioned there after 45 years ?

Digging into his history, you'll find out how much work and dedication he has given to his career in addition to the non-career category as well. How much care he has put in being fair enough with all of his relationships. I will be posting more about him in upcoming posts but for now, just know that he's my father !

Sunday, August 21, 2011

Getting better PDFs out of LinkedIn !

Maintaining your resume over a publicly known resume website such as LinkedIn has turned out to be a great method to expose yourself to the world. Though, when it comes to sending your resume to a company, you will have to either send some private resume (possibly in Word format) you have been keeping around or generate a PDF version from your online profile (if it's possible).
Unfortunately, what really counts is what reaches to the company you're aiming for. Therefore, your online profile will better be available in a neat PDF form, or you will find yourself copying most of your online information back and forth between a private Word file and your online profile.
I have been using LinkedIn for quite a while and have found that the PDF format of the online profiles to be somehow too basic compared with today's quality resumes. Someone may favor it's simplicity, but I was looking for something that's really eye-catching. Recently, I bumped into a LinkedIn Labs web application called Resume Builder. It turned out this is what I really needed after all.

To sum it up, the resume builder web application allows you to pull your linkedin profile into any of the pre-defined templates (looking forward to create our own templates !). Once you're profile has been pulled, you can show/hide/re-order the segments of your resume to look the way you want it to. After you have performed this, you can generate a nicely looking PDF version of your resume. If you have updated your LinkedIn profile at anytime later on, you can basically just pull it again into the resume builder.

You can go even further to write your original profile in the Markdown wiki syntax and it will be automatically rendered in your resume. This is something that's really lacking in LinkedIn's original features.

Saturday, January 30, 2010

Selling Groovy/Grails to Java zealots

It seems everytime I try to advocate Groovy/Grails to many Java programmers, it just doesn't sell well.

After some thinking, it turned out that the Groovy language is what's putting off many Java programmers. Yes, learning a new language is more difficult than learning a new framework. Probably, if there does exist a framework similar to Grails, but written in Java, that would appeal more.

Unfortunately, many features offered by the Grails framework won't exist without a dynamic language such as Groovy.

IMHO, the real powers of Groovy and Grails stem from taking what was productive from the other platforms. Check some code samples from each of them and come back.

It's so sad that many Java programmers are hurting themselves by believing that the Java language should be used for almost anything related to web development.

Saturday, May 17, 2008

Keep the marriage box full

Last year, my wife and I attended the Baytona course ( 'baytona' is an Arabic word for 'our house' ) which covered many aspects of having a cheerful marriage. There were several pamphlets handed out that included advice on choosing your partner, selecting your core values...etc. You can visit their website for more information about the course, I highly recommend it. One of the handouts had the following excerpt.
Most people come into marriage believing it is a box full of goodies from which we extract all we need to make us happy. Marriage is an empty box. There is nothing in it. It is an opportunity to put something in, to do something for marriage.

Marriage was never intended to do something for anybody. People are expected to do something for marriage. If you do not put into the box more than you take out, it becomes empty. Love isn't in marriage, it is in people, and people put it into marriage. Romance, consideration, and generosity in marriage, are in people, and people put them into the marriage box. Living for each other, releases both of you to relax and work together productively to keep the box full.
Searching the Internet for the above will reveal that it was written by J. Allan Peterson. Thank you, for the advice Mr. Allan.

Saturday, May 3, 2008

The Turjuman project

About 2 years ago, one of my friends was discussing the problem with how IT related books are translated. He stressed so much on how weak the translations are to the extent that at times the meaning was totally messed up. The real problem lies in the absence of a standard for translating books to Arabic. Every writer, translates based on his own understanding to the words with no referral to any kind of reference for this.

Looking around the Internet, the people at arabeyes have done a good job in creating a wiki-based dictionary. Although, I value their effort in maintaining that wiki, but there seems to be a flaw with it and to be honest, this has been the problem with most English-Arabic dictionaries around.

Usually in Arabic, a word can be used in several contexts with different meanings. This surely implies the need for a tree structure of the possible contexts ( of course the more in-depth , the less ambiguety ) to classify the words. Unfortunately, none of the efforts I have passed by solved this problem, they usually had a typical word-word translation. They had to attempt to get the most general translation that can fit most contexts, but then, that isn't applicable in all categories.

Several months later from my friends discussion, the idea came up again of starting this project and researching it, we came up with some ideas and and attempted to prototype some of them using drupal. We then documented some things on a public wiki and codenamed it, Turjuman.

Besides having a complete taxonomy for the translation, we touched the issue of the translation process. Who has the right to change the translation of any word ? Experts ? Anyone ? We had some thoughts about this. For example, maintaining a list votes on the user-submitted translations and the top one would be the *current* translation. This may be susceptible to many flaws, such as the equality of votes between expert translators and amateurs. This may call for a committee where their votes are factored up above others. Again, maybe that may lead to a tight dictatorship by the committee, opinions vary here.

Currently, we will try to come up with a simple prototype that would demonstrate the missing features mentioned above.

So what are your suggestions ? Feel free to add your comments.

Tuesday, April 22, 2008

How to get the most out of your CS degree

Last year, I came across a Slashdot post that discussed how to get the most out of a computer science curriculum. Actually, it was very informative, some people stressed on learning the fundamentals such as algorithms, data structures, numerical analysis, compilers...etc. Others found that it's software development that counts.

One comment was really exceptional, the comment author gave some advice to students on how to behave while getting a computer science degree. After reading it, I hoped someone told me this long ago before my computer engineering journey. I'll summarize the comment below, though, you can refer to the actual comment for more details.

  1. Remember you are not at school. You are doing the degree for you and what you will gain will be proportional to the amount of effort you put in.

  2. Ask questions to your TAs and lecturers. It's your degree and it's for you, asking questions might make you look silly, but which is more important you learning or what people who think they are still at school think of you?

  3. Program. Lots. Anything and everything.

  4. Work. Actually do the recommended reading (it's there for a reason) and the exercises.

  5. Acquire a copy of "The Structure and Interpretation of Computer Languages", it will make you a better programmer.

  6. It's up to you.
The advice above is not just for those who are about to apply for a CS degree, but also to those who already have one and find themselves no different than any codemunger. It's never late to get back to the basics and grok them well enough.

Hope this helps ;)

Monday, April 14, 2008

Who stands up to be imam ?

( Courtesy of )
A couple of days ago after the Isha'a prayers at the mosque, the imam turned around and discussed the issue of who stands up to be the imam ? At first he discussed the factors that decide who is candidate for the imamship which briefly involve how good you read the Qu'ran then how much you memorized the Qu'ran...etc. But then he touched the issue where I see most people go wrong, which is
What if you see someone who isn't supposed to be imam, standing upfront ? What should you do ?
From what I have seen, it happens many times that people just arrogantly shout or push back those who stand up for the imamship when they aren't good enough especially when it's a young man who did it.

The imam discussed this point in a really sensible manner, he said that it takes a lot of braveness to actually walk in front of people and stand there reading the Qu'ran out loud. Even if you happen to find the current imam not *that* good, you shouldn't go shouting at him as soon as the prayers end or even look hostile. You could probably discuss this issue while walking with him on your way out as a friendly talk.

Then the imam concluded his talk with what I find a very constructive statement, that if young men do stand up for imamship , then it's a sign that hopefully they can become leaders one day, it happens that schools and colleges in the US value this ingredient in kids and apply them for leadership courses, then why not seed this principle in our mosques.
In short ... Give space for leadership...