<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Emad Mokhtar's Framework</title><link>http://www.emadmokhtar.com/</link><description>Geek developer who's in search of code perfection.</description><lastBuildDate>Sat, 26 Jan 2019 17:00:00 +0300</lastBuildDate><item><title>Difference between `==` and `is` in Python, and when to use each of them</title><link>http://www.emadmokhtar.com/difference-between-and-is-in-python-and-when-to-use-each-of-them.html</link><description>

&lt;p&gt;&lt;img alt="Difference" src="http://www.emadmokhtar.com/images/will-francis-1071726-unsplash.jpg"&gt;&lt;/p&gt;
&lt;p&gt;In Python there are many &lt;a href="https://realpython.com/python-operators-expressions/#comparison-operators"&gt;comparison operators&lt;/a&gt;; you always use them to check something in your code and let your code take decision according to the comparison&lt;/p&gt;
&lt;p&gt;In this article, I want to go deep with two operators &lt;code&gt;==&lt;/code&gt; to check equality, and &lt;code&gt;is&lt;/code&gt; to check identity.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sat, 26 Jan 2019 17:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2019-01-26:/difference-between-and-is-in-python-and-when-to-use-each-of-them.html</guid><category>python</category></item><item><title>I tried Nodejs and I like it</title><link>http://www.emadmokhtar.com/i-tried-nodejs-and-i-like-it.html</link><description>

&lt;p&gt;&lt;img alt="The Sign" src="http://www.emadmokhtar.com/images/austin-chan-275638-unsplash.jpg"&gt;
Photo by Austin Chan on Unsplash&lt;/p&gt;
&lt;p&gt;I had a chance to try Node.js framework last month; I decided to build REST APIs using &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt; and &lt;a href="https://expressjs.com/"&gt;express.js&lt;/a&gt;. Regularly I'm using JavaScript in my daily work besides using &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt; to build Web Applications, but many times I need to develop a front-end feature, This when I need to use JavaScript. I'm always using JavaScript to write front-end logic, but I never wrote back-end logic using it. I took the challenge to develop a simple REST APIs using &lt;a href="https://expressjs.com/"&gt;express.js&lt;/a&gt;.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Mon, 31 Dec 2018 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2018-12-31:/i-tried-nodejs-and-i-like-it.html</guid><category>Python</category></item><item><title>Thank you Python 🐍 community</title><link>http://www.emadmokhtar.com/thank-you-python-community.html</link><description>&lt;p&gt;&lt;img alt="thank you" src="http://www.emadmokhtar.com/images/thank-you-community.jpg"&gt;&lt;/p&gt;
&lt;p&gt;November 2015 &lt;a href="http://emadmokhtar.com/net-developer-comfort-zone.html#net-developer-comfort-zone"&gt;I left my comfort zone, and I started my journey with Python&lt;/a&gt;, it was not an easy start. I was a Windows/Microsoft guy, I was using Microsoft Visual Studio on a daily basis, and Windows was my primary OS.  I switched to macOS and Pycharm; I picked these to make my transition easier than using Linux (Ubuntu) and Vim.&lt;/p&gt;
&lt;p&gt;After 2 months of figuring out what are virtualenv, pip, python version, and environment variable. I started another milestone of how to write a pythonic code while that I went to &lt;a href="http://emadmokhtar.com/djangocon-europe-2016-me-and-django-sprints.html#djangocon-europe-2016-me-and-django-sprints"&gt;DjangoCon&lt;/a&gt;, and I saw how awesome this community is. WOW 🤗, this community is very welcoming for newcomers, and since this day I'm in ❤️ with this community.&lt;/p&gt;
&lt;p&gt;Like someone said to me "You are staying because of people not because of  the language." Indeed, the community is excellent 👍🏻, and it is what makes this language impressive and always adopting the future.&lt;/p&gt;
&lt;p&gt;I want to thank all human beings in this community form leaders to the starters (welcome BTW 😉), thank you for being a part of this community and making this community.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 23 Sep 2018 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2018-09-23:/thank-you-python-community.html</guid><category>Python</category></item><item><title>Advice to Junior Developers</title><link>http://www.emadmokhtar.com/advice-to-junior-developers.html</link><description>&lt;p&gt;&lt;img alt="journey" src="http://www.emadmokhtar.com/images/oziel-gomez-555955-unsplash.jpg"&gt;&lt;/p&gt;
&lt;p&gt;One day I answered &lt;a href="https://www.quora.com/What-is-the-best-advice-you-can-give-to-a-junior-programmer/answer/Emad-Mokhtar"&gt;What is the best advice you can give to a junior programmer?&lt;/a&gt; question on Quora.com. I was shocked that my answer got many upvotes, so I thought to share my answer to this question on my blog.&lt;/p&gt;
&lt;p&gt;First, let me acknowledge you that my answers are just my experience, what I missed during my career as software developer, and I wished someone told me this advice.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Be humble be foolish be patient, you have a long journey of learning, so keep learning.&lt;/strong&gt; Technologies are changing so fast, so fast that you can't master everything, but you need to read about everything in software development, read blogs, news, etc. Invest your learning time in what you'll be master in.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Don’t be afraid to fail.&lt;/strong&gt; Making mistakes is a part of the learning, so please don’t be afraid to make mistakes, but learn from them. Even great software developers got fired, made mistakes, and they feel down, but what makes them great that they get up and learn from mistakes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.codinghorror.com/the-ten-commandments-of-egoless-programming/"&gt;Read about The Ten Commandments of Egoless Programming &lt;/a&gt;&lt;/strong&gt; You will need these commandments during your journey, They helped me in &lt;a href="http://www.emadmokhtar.com/being-a-team-member.html"&gt;my first job with a …&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Mon, 09 Apr 2018 19:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2018-04-09:/advice-to-junior-developers.html</guid><category>career</category><category>developer</category><category>programmer</category></item><item><title>Let's build it</title><link>http://www.emadmokhtar.com/lets-build-it.html</link><description>&lt;p&gt;&lt;img alt="idea" src="http://www.emadmokhtar.com/images/james-pond-185593-unsplash.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a style="background-color:black;color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, &amp;quot;San Francisco&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Ubuntu, Roboto, Noto, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px;" href="https://unsplash.com/@shotbyjamespond?utm_medium=referral&amp;amp;utm_campaign=photographer-credit&amp;amp;utm_content=creditBadge" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from James Pond"&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-1px;fill:white;" viewBox="0 0 32 32"&gt;&lt;title&gt;unsplash-logo&lt;/title&gt;&lt;path d="M20.8 18.1c0 2.7-2.2 4.8-4.8 4.8s-4.8-2.1-4.8-4.8c0-2.7 2.2-4.8 4.8-4.8 2.7.1 4.8 2.2 4.8 4.8zm11.2-7.4v14.9c0 2.3-1.9 4.3-4.3 4.3h-23.4c-2.4 0-4.3-1.9-4.3-4.3v-15c0-2.3 1.9-4.3 4.3-4.3h3.7l.8-2.3c.4-1.1 1.7-2 2.9-2h8.6c1.2 0 2.5.9 2.9 2l.8 2.4h3.7c2.4 0 4.3 1.9 4.3 4.3zm-8.6 7.5c0-4.1-3.3-7.5-7.5-7.5-4.1 0-7.5 3.4-7.5 7.5s3.3 7.5 7.5 7.5c4.2-.1 7.5-3.4 7.5-7.5z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;James Pond&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Discovery&lt;/h1&gt;
&lt;p&gt;After many years of developing web applications, I found my passion is building Web APIs. so why I like it, I like it because I think it's giving your application a power to integrate with other apps (desktop, mobile apps, etc.), other devices (Amazon Dot, Google Home, etc.),  sensors (RaspberryPi, Arduino, etc.), and bots (Slack, Telegram, Facebook Messanger, etc.).
Can you feel the power that Web API that can add to your apps?&lt;/p&gt;
&lt;h1&gt;Let's build something&lt;/h1&gt;
&lt;p&gt;After I found my passion and start to search for a project to ably what I like and keep developing it. I found that there is no Web API for &lt;a href="https://en.wikipedia.org/wiki/Tafsir"&gt;Quran Tafseer/Translation&lt;/a&gt;. What can Quran Tafseer API do for developers? If you want to develop an application for Quran and you want to provide a Tafseer/Translation to the application users, you need to gather the information from more than one source. I found most of the existing applications done it and after that work, app developers will keep this information available to their app only, so I thought of doing this work for the community and provide Tafseer/Translation for free as Web API.&lt;/p&gt;
&lt;h1&gt;Stages&lt;/h1&gt;
&lt;h2&gt;Stage I&lt;/h2&gt;
&lt;p&gt;I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 04 Mar 2018 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2018-03-04:/lets-build-it.html</guid><category>side-project</category><category>django</category><category>python</category></item><item><title>Being a Team member</title><link>http://www.emadmokhtar.com/being-a-team-member.html</link><description>&lt;p&gt;&lt;img alt="Team" src="http://www.emadmokhtar.com/images/karen-maes-310484.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a style="background-color:black;color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, &amp;quot;San Francisco&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Ubuntu, Roboto, Noto, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px;" href="https://unsplash.com/@karen1974?utm_medium=referral&amp;amp;utm_campaign=photographer-credit&amp;amp;utm_content=creditBadge" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from Karen Maes"&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-1px;fill:white;" viewBox="0 0 32 32"&gt;&lt;title&gt;unsplash-logo&lt;/title&gt;&lt;path d="M20.8 18.1c0 2.7-2.2 4.8-4.8 4.8s-4.8-2.1-4.8-4.8c0-2.7 2.2-4.8 4.8-4.8 2.7.1 4.8 2.2 4.8 4.8zm11.2-7.4v14.9c0 2.3-1.9 4.3-4.3 4.3h-23.4c-2.4 0-4.3-1.9-4.3-4.3v-15c0-2.3 1.9-4.3 4.3-4.3h3.7l.8-2.3c.4-1.1 1.7-2 2.9-2h8.6c1.2 0 2.5.9 2.9 2l.8 2.4h3.7c2.4 0 4.3 1.9 4.3 4.3zm-8.6 7.5c0-4.1-3.3-7.5-7.5-7.5-4.1 0-7.5 3.4-7.5 7.5s3.3 7.5 7.5 7.5c4.2-.1 7.5-3.4 7.5-7.5z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;Karen Maes&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;The Start&lt;/h2&gt;
&lt;p&gt;In September 2017 I left my job and my life in &lt;a href="https://en.wikipedia.org/wiki/Kuwait"&gt;Kuwait&lt;/a&gt; and traveled to the &lt;a href="https://en.wikipedia.org/wiki/Netherlands"&gt;Netherlands&lt;/a&gt; to join &lt;a href="https://veneficus.nl/en/"&gt;Veneficus&lt;/a&gt; as Software developer, one of the reasons I moved to the Netherlands is to work in a team and I started to feel being a &lt;a href="http://www.emadmokhtar.com/solo-developer.html"&gt;solo developer&lt;/a&gt; is bad for my career.&lt;/p&gt;
&lt;p&gt;I joined a team of 7 developers mixed between full-time and part-time, and start to fell there are some missing skills I need to develop, and yes I was correct I worked alone for almost 7 years. What is it mean working alone? it means no need for communication, no need for development plans, no need for technical debates, no need to manage your time or other team member's time. In the beginning, I feel so bad and stressed with that change, to be honest, I made many mistakes, but with a growth mindset you need to learn from mistakes and grow and fix them, os what I did?&lt;/p&gt;
&lt;h2&gt;Community Help!&lt;/h2&gt;
&lt;p&gt;First, I asked for community help, I went to &lt;a href="https://www.pythonistacafe.com/"&gt;PythonistaCafe&lt;/a&gt; forum and posted my situation and the members gave me great answers regarding my situation, and one member point me to something …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sat, 10 Feb 2018 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2018-02-10:/being-a-team-member.html</guid><category>career</category><category>work</category><category>netherlands</category></item><item><title>Shinny New Tools</title><link>http://www.emadmokhtar.com/shinny-new-tools.html</link><description>&lt;p&gt;&lt;img alt="Old Tools" src="http://www.emadmokhtar.com/images/felix-russell-saw-167176.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a style="background-color:black;color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, &amp;quot;San Francisco&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Ubuntu, Roboto, Noto, &amp;quot;Segoe UI&amp;quot;, Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px;" href="http://unsplash.com/@frsphoto?utm_medium=referral&amp;amp;utm_campaign=photographer-credit&amp;amp;utm_content=creditBadge" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from Felix Russell-Saw"&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-1px;fill:white;" viewBox="0 0 32 32"&gt;&lt;title&gt;&lt;/title&gt;&lt;path d="M20.8 18.1c0 2.7-2.2 4.8-4.8 4.8s-4.8-2.1-4.8-4.8c0-2.7 2.2-4.8 4.8-4.8 2.7.1 4.8 2.2 4.8 4.8zm11.2-7.4v14.9c0 2.3-1.9 4.3-4.3 4.3h-23.4c-2.4 0-4.3-1.9-4.3-4.3v-15c0-2.3 1.9-4.3 4.3-4.3h3.7l.8-2.3c.4-1.1 1.7-2 2.9-2h8.6c1.2 0 2.5.9 2.9 2l.8 2.4h3.7c2.4 0 4.3 1.9 4.3 4.3zm-8.6 7.5c0-4.1-3.3-7.5-7.5-7.5-4.1 0-7.5 3.4-7.5 7.5s3.3 7.5 7.5 7.5c4.2-.1 7.5-3.4 7.5-7.5z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span style="display:inline-block;padding:2px 3px;"&gt;Felix Russell-Saw&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One day I realized that Microsoft technologies are not for what I'm looking for. what I'm looking for is working in startup that developing its own product like Instagram, Shopify, or Pinterest. So I've done some research and I found that Microsoft technologies are not made for this purpose, Microsoft technologies made for enterprises, I worked with Microsoft Dynamics AX, Microsoft SharePoint, ASP.NET WebForms, and ASP.NET Web Services you won't find a startup work with these or built their business around these kind of products, so I start to research for another technology to use.&lt;/p&gt;
&lt;p&gt;After long time of research and Q&amp;amp;A with my friend &lt;a href="https://github.com/burhan"&gt;Burhan&lt;/a&gt;, I switched to &lt;a href="https://www.python.org/"&gt;Python&lt;/a&gt;, I didn't pick &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt; or &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;, because I don't like to pick a new shinny tool/framework for sake of it's new, I picked Python and Django one of it's web framework. I found during my research many people recommended Node.js because it's the new thing, again I don't like to pick the new shinny tool, this is common between developer community, developer will be proud if someone ask Which language/framework are you using? and the developer answer is the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 10 Jul 2017 15:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-07-10:/shinny-new-tools.html</guid><category>developer</category></item><item><title>Create Login Page for your Django app</title><link>http://www.emadmokhtar.com/create-login-page-for-your-django-app.html</link><description>&lt;p&gt;&lt;img alt="Create Login Page for your Django app" src="http://www.emadmokhtar.com/images/Create-Login-Page-for-your-Django-app.png"&gt;&lt;/p&gt;
&lt;h1&gt;Why Another Post about this?&lt;/h1&gt;
&lt;p&gt;I found each time I start new Django project, I need to create Login HTML page, and with that I need to write Django View and Form. Each time I tried to Google how to do it, I found many posts about how to do it from scratch, yep as you read, posts telling you how to build a Django View and Form for login page. And there are already built-in Django login &lt;a href="https://docs.djangoproject.com/en/1.11/topics/auth/default/#django.contrib.auth.views.login"&gt;View&lt;/a&gt; and &lt;a href="https://docs.djangoproject.com/en/1.11/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm"&gt;Form&lt;/a&gt; (please check links).
So I decided to write my own recipe on how to create Login page in your Django app using the built-in view and form to save time and stop reinvent the wheel.&lt;/p&gt;
&lt;h1&gt;How to do it?&lt;/h1&gt;
&lt;p&gt;Actually it’s an easy one, because we’ll use already built-in View and Form, so we will build the Template for it, that it. We have a Form and View ready, so first thing first, we’ll write a template to show HTML form for login, I'm assuming you have another template called &lt;code&gt;base.html&lt;/code&gt; and we’ll just write the &lt;code&gt;container block&lt;/code&gt; part only, and we are using &lt;a href="http://getbootstrap.com"&gt;Boostrap framework&lt;/a&gt; and &lt;a href="https://github.com/django-crispy-forms/django-crispy-forms"&gt;crispy_form app&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;login.html&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;{% extends &amp;quot;base.html …&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 09 May 2017 15:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-05-09:/create-login-page-for-your-django-app.html</guid><category>django</category><category>python</category><category>forms</category></item><item><title>Custom Client Side Validation for Parsley in Django</title><link>http://www.emadmokhtar.com/custom-client-side-validation-for-parsley-in-django.html</link><description>&lt;p&gt;&lt;img alt="Custom Validation for Parsley in Django" src="http://www.emadmokhtar.com/images/Custom-Validation-for-Parsley-in-Django.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;I wrote a post on how to add &lt;a href="http://www.emadmokhtar.com/client-side-validation-for-django-forms.html"&gt;client side validation for Django Forms&lt;/a&gt;. In this post I’ll show you how to add custom client validation to Django Forms. I mean by custom validation is a validation that isn't available in &lt;a href="https://github.com/agiliq/Django-parsley"&gt;django-parsley&lt;/a&gt;, like username availability, password strength, email duplication, etc.. let’s see how to add custom client side validation to Django Form.&lt;/p&gt;
&lt;h1&gt;Parsley remote validation&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://parsleyjs.org/doc/index.html"&gt;Parsley library&lt;/a&gt; has &lt;a href="http://parsleyjs.org/doc/index.html#remote"&gt;remote validation&lt;/a&gt;, it's calling AJAX service (Django view) and check if AJAX call returns &lt;a href="http://www.restapitutorial.com/httpstatuscodes.html"&gt;2xx HTTP status codes&lt;/a&gt; then it's valid input else it's invalid input and shows error message. Thankfully you can use remote validation in Django Form using django-parsley via &lt;code&gt;parsley-extras&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nd"&gt;@parsleyfy&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserRegistrationForm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;forms&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ModelForm&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Meta&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="o"&gt;...&lt;/span&gt;
        &lt;span class="n"&gt;parsley_extras&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="s1"&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;reverse_lazy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;validate-password-parsley&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote-message&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Password is invalid&amp;quot;&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="s1"&gt;&amp;#39;username&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;reverse_lazy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;validate_username_uniqueness&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote-message&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;User with this username is already exists.&amp;quot;&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="s1"&gt;&amp;#39;email&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;reverse_lazy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;validate_email_uniqueness&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
                &lt;span class="s1"&gt;&amp;#39;remote-message&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;User with this email is already exists.&amp;quot;&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;In the code above we are adding client custom validation as remote to &lt;code&gt;password&lt;/code&gt;, &lt;code&gt;username&lt;/code&gt;, and &lt;code&gt;email&lt;/code&gt;  fields, Did you notice that &lt;code&gt;remote&lt;/code&gt; key is holding a URL to Django View? let’s create a complete sample to get our head around it.&lt;/p&gt;
&lt;h1&gt;Django Password …&lt;/h1&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 16 Apr 2017 15:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-04-16:/custom-client-side-validation-for-parsley-in-django.html</guid><category>django</category><category>python</category><category>parsley</category><category>validation</category></item><item><title>Book Review: The Subtle Art of Not Giving a F**k</title><link>http://www.emadmokhtar.com/book-review-the-subtle-art-of-not-giving-a-fk.html</link><description>&lt;p&gt;&lt;img alt="Book cover" src="http://www.emadmokhtar.com/images/the-subtle-art.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Last month I had small trip to Netherlands, Rotterdam, at night I went to have a dinner with friends at &lt;a href="http://www.euromast.nl/en"&gt;EuroMast&lt;/a&gt;, it was windy day, we putted our bags in my friend’s car trunk, but unfortunately someone broken inside the car and took 2 bags and one of them was my bag. My travel backpack is stolen and I lost most of my gadgets (MacBook Pro, iPad, Amazon Kindle, Wallet, etc..)&lt;/p&gt;
&lt;p&gt;After a night at the police station to report the incident, I went to hotel to get some sleep before flying back to home, next day I woke up, prepared my bags and headed to airport, but on my way to the airport I was thinking what to do during my long flight, I thought let’s read a book, so once I reached the airport I went to bookstore and bought &lt;a href="http://amzn.to/2nmdr0B"&gt;The Subtle Art of Not Giving a F**k&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So Emad, Why you are telling us these story? Because while I'm reading this book I found this part&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We don't always control what happens to us. But we always control how we interpret what happens to us, as well as how er respond.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;which is what …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 22 Mar 2017 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-03-22:/book-review-the-subtle-art-of-not-giving-a-fk.html</guid><category>book</category><category>review</category></item><item><title>Client side validation for Django Forms</title><link>http://www.emadmokhtar.com/client-side-validation-for-django-forms.html</link><description>&lt;p&gt;&lt;img alt="Parsley" src="http://www.emadmokhtar.com/images/parsley.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.lovethegarden.com/sites/default/files/styles/full_width_700/public/images_and_media/parsley.jpg?itok=X7psNkrF"&gt;source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In DUTH 2016 there was a session for &lt;a href="https://youtu.be/uzTaWKcMzos"&gt;Django Validation by Loïc Bistuer&lt;/a&gt;, in the session Loïc showed many areas you can validate user inputs from Django Form way to the Database Engine. To be honest validation in Django is a piece of cake and even if there is special validation rules you want to implement, you can still implement it, as I said it is easy and straight forward in Django, all of these validation is server side which happen on web server not on client-side, so what about client side?&lt;/p&gt;
&lt;h1&gt;What is client side validation?&lt;/h1&gt;
&lt;p&gt;In simple way, client side validation is validation user input on browser before sending the data to sever.&lt;/p&gt;
&lt;p&gt;It is good practice to validate user inputs from client side to save roundtrips to server, but it needs extra work to implement your validations using JavaScript or using HTML5 form validation, but there is a way to replicate Django form validation to client side, let’s see how.&lt;/p&gt;
&lt;h1&gt;Django Parsley&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/agiliq/Django-parsley"&gt;Django Parsley&lt;/a&gt; is a Django app that replicate Django Form validation to client side using &lt;a href="http://parsleyjs.org"&gt;ParsleyJS&lt;/a&gt; library, and it’s so easy to use it.&lt;/p&gt;
&lt;h1&gt;How to use Django Parsley?&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Install Django Parsley …&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 08 Mar 2017 00:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-03-08:/client-side-validation-for-django-forms.html</guid><category>Django</category><category>Forms</category></item><item><title>Django is boring but you can contribute</title><link>http://www.emadmokhtar.com/django-is-boring-but-you-can-contribute.html</link><description>&lt;p&gt;&lt;img alt="Bored employee in front of computer" src="http://blog.inf.ed.ac.uk/sapm/files/2014/03/boredom.jpg"&gt;&lt;/p&gt;
&lt;p&gt;I attended Django Under The Hood 2016, in sprints there is a comment passing around which &lt;a href="https://www.caktusgroup.com/blog/2016/12/14/django-boring-or-why-tech-startups-should-use-django/"&gt;Django is boring&lt;/a&gt;. Django is boring is actually a good news for the framework users, but it's sad one for developers want to contribute to the framework.&lt;/p&gt;
&lt;p&gt;Every time I go to check &lt;a href="https://code.djangoproject.com/"&gt;Django tickets&lt;/a&gt; to contribute, I found they are difficult and in depth, because Django is a mature project now and the amount of contribution needed to the codebase is rare, but if you want to contribute you can check &lt;a href="https://code.djangoproject.com/query?status=!closed&amp;amp;easy=1"&gt;easy pickings&lt;/a&gt; tickets. In DUTH before the sprints projects leaders start to ask attendees for contributions, I found this is a good opportunity for me and for anyone wants to help the community and start to contribute to Django community.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Github duth contributions" src="http://www.emadmokhtar.com/images/duth-contribution.png"&gt;&lt;/p&gt;
&lt;p&gt;If you want to contribute to Django and help the community, I have some suggestions for you:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Write blog posts on How-tos, tips, and tutorials for Django, and &lt;a href="https://djangopackages.org/"&gt;Django packages&lt;/a&gt; for example Django REST Framework.&lt;/li&gt;
&lt;li&gt;Help Django team to &lt;a href="https://docs.djangoproject.com/en/1.10/internals/contributing/triaging-tickets/#triage-workflow"&gt;move the ticket from stage to another&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Contribute to one of Django’s packages, specially packages you are using, check their github page and help them.&lt;/li&gt;
&lt;li&gt;Tried more than one package for X …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 08 Jan 2017 00:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2017-01-08:/django-is-boring-but-you-can-contribute.html</guid><category>community</category><category>Django</category><category>duth</category></item><item><title>Yet another and easier way to daemonize Celery</title><link>http://www.emadmokhtar.com/yet-another-and-easier-way-to-daemonize-celery.html</link><description>&lt;p&gt;I wrote a post about &lt;a href="http://www.emadmokhtar.com/how-to-run-celery-as-daemon.html"&gt;how to run celery as daemon&lt;/a&gt; and it has many steps to do, many files to copy to your server, configure permissions, and configure upstart, but after sometime I found another and easier way to daemonize Celery.&lt;/p&gt;
&lt;p&gt;In this method we will use &lt;a href="http://supervisord.org"&gt;supervisor&lt;/a&gt; to daemonize Celery, and this can be achieved by 3 simple steps, so let's do it.&lt;/p&gt;
&lt;h1&gt;Step 1&lt;/h1&gt;
&lt;p&gt;Install Supervisord &lt;code&gt;sudo apt-get install supervisor&lt;/code&gt; on Ubuntu server. For other OSs please visit &lt;a href="http://supervisord.org/installing.html"&gt;the official documentation&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Step 2&lt;/h1&gt;
&lt;p&gt;This is the most important step, and in this step we will create supervisor configuration file to daemonize Celery.&lt;/p&gt;
&lt;h2&gt;Supervisor Configuration File&lt;/h2&gt;
&lt;p&gt;Celery project provide the basic configuration file in their &lt;a href="https://github.com/celery/celery/blob/3.1/extra/supervisord/celeryd.conf"&gt;Github repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Supervisor configuration files live in &lt;code&gt;\etc\supervisor\conf\&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Celery official configuration file&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;==================================&lt;/span&gt;
&lt;span class="p"&gt;;&lt;/span&gt;  celery worker supervisor example
&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;==================================&lt;/span&gt;

&lt;span class="o"&gt;[&lt;/span&gt;program:celery&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;;&lt;/span&gt; Set full path to celery program &lt;span class="k"&gt;if&lt;/span&gt; using virtualenv
&lt;span class="nv"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;celery worker -A proj --loglevel&lt;span class="o"&gt;=&lt;/span&gt;INFO

&lt;span class="nv"&gt;directory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/project
&lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nobody
&lt;span class="nv"&gt;numprocs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;span class="nv"&gt;stdout_logfile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/log/celery/worker.log
&lt;span class="nv"&gt;stderr_logfile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/var/log/celery/worker.log
&lt;span class="nv"&gt;autostart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;span class="nv"&gt;autorestart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;span class="nv"&gt;startsecs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;

&lt;span class="p"&gt;;&lt;/span&gt; Need to &lt;span class="nb"&gt;wait&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; currently executing tasks to finish at shutdown.
&lt;span class="p"&gt;;&lt;/span&gt; Increase this &lt;span class="k"&gt;if&lt;/span&gt; you have very long running tasks.
&lt;span class="nv"&gt;stopwaitsecs …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 21 Nov 2016 15:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-11-21:/yet-another-and-easier-way-to-daemonize-celery.html</guid><category>django</category><category>python</category><category>celery</category></item><item><title>Add isort and flake8 test to your Django Project</title><link>http://www.emadmokhtar.com/add-isort-and-flake8-test-to-your-django-project.html</link><description>&lt;p&gt;&lt;img alt="Unit Test Works" src="http://www.emadmokhtar.com/images/unit-test-works.jpg"&gt;&lt;/p&gt;
&lt;p&gt;In this post I'll tell you how to add isort and flake8 tests to your Django project test suite, this is simple script and you can start from this point and customize you own test suite.&lt;/p&gt;
&lt;p&gt;As they said Django is a “batteries included” web application framework, and one of the batteries is Testing framework, &lt;a href="https://docs.djangoproject.com/en/dev/topics/testing/"&gt;testing in Django&lt;/a&gt; is easy and you can start writing tests even if you didn't do it before.&lt;/p&gt;
&lt;p&gt;If you ever work with Django, you will write tests for your project, to test your views, models, forms, etc.. but it's better if you can add &lt;a href="https://github.com/timothycrosley/isort"&gt;isort&lt;/a&gt; and &lt;a href="http://flake8.pycqa.org/en/latest/"&gt;flake8&lt;/a&gt; tests to maintain the quality of your Python code.&lt;/p&gt;
&lt;h1&gt;Installation&lt;/h1&gt;
&lt;p&gt;We need some packages first so we can run the tests&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;pip install flake8 isort flake8-isort
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It's better to create and use sperate virtualenv&lt;/p&gt;
&lt;h1&gt;Configurations&lt;/h1&gt;
&lt;p&gt;flake8-isort is using &lt;code&gt;.isort.cfg&lt;/code&gt; file to run the isort test against it, so let's add our configuration file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.isort.cfg file&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;[*.py]&lt;/span&gt;
&lt;span class="na"&gt;max_line_length&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;120&lt;/span&gt;
&lt;span class="na"&gt;indent_style&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;space&lt;/span&gt;
&lt;span class="na"&gt;indent_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;4&lt;/span&gt;
&lt;span class="na"&gt;known_first_party&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;isort&lt;/span&gt;
&lt;span class="na"&gt;ignore_frosted_errors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;E103&lt;/span&gt;
&lt;span class="na"&gt;skip&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;runtests.py,build,.tox&lt;/span&gt;
&lt;span class="na"&gt;balanced_wrapping&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;not_skip&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;__init__.py&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h1&gt;Test Python Script&lt;/h1&gt;
&lt;p&gt;Now it's time to write the Python script to run Django, isort, &amp;amp; flake8 tests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;runtests …&lt;/strong&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Tue, 27 Sep 2016 18:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-09-27:/add-isort-and-flake8-test-to-your-django-project.html</guid><category>django</category><category>python</category><category>unittest</category><category>howto</category></item><item><title>How to run Celery as daemon?</title><link>http://www.emadmokhtar.com/how-to-run-celery-as-daemon.html</link><description>&lt;p&gt;&lt;img alt="celery smoothy" src="http://www.emadmokhtar.com/images/celerysmoothie.jpg"&gt;&lt;/p&gt;
&lt;h1&gt;Install upstart script&lt;/h1&gt;
&lt;h2&gt;Permissions&lt;/h2&gt;
&lt;p&gt;We need to make the user which will be used to run celery an owner of &lt;code&gt;log&lt;/code&gt; and &lt;code&gt;run&lt;/code&gt; directories.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo chown -R root:root /var/log/celery/
sudo chown -R root:root /var/run/celery/
&lt;/pre&gt;&lt;/div&gt;


&lt;h2&gt;Celery upstart&lt;/h2&gt;
&lt;p&gt;1- Download &lt;code&gt;celeryd&lt;/code&gt; file from &lt;a href="http://github.com/celery/celery/tree/3.1/extra/generic-init.d/"&gt;Celery official github repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2- Copy &lt;code&gt;celeryd&lt;/code&gt; to &lt;code&gt;/etc/init.d/celeryd&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo cp celeryd /etc/init.d/
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;3- Make it executable&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo chmod +x celeryd
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;4- Make it run on startup&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;5- make it owned by root&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo chown root:root celeryd
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;6- Done, now you can start/stop/restart celeryd as service&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo service celeryd start
sudo service celeryd stop
sudo service celeryd restart
&lt;/pre&gt;&lt;/div&gt;


&lt;h2&gt;Celerybeat upstart&lt;/h2&gt;
&lt;p&gt;1- Download &lt;code&gt;celerybeat&lt;/code&gt; file from &lt;a href="http://github.com/celery/celery/tree/3.1/extra/generic-init.d/"&gt;Celery official github repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2- Copy &lt;code&gt;celerybeat&lt;/code&gt; to &lt;code&gt;/etc/init.d/celerybeat&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo cp celerybeat /etc/init.d/
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;3- Make it executable &lt;code&gt;sudo chmod +x celerybeat&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;4- Make it run on startup&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo update-rc.d celerybeat defaults
sudo update-rc.d celerybeat &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;5- make it owned by root&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo chown root:root celerybeat
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;6- Done, now you can start/stop/restart celerd as service&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sudo service celerybeat start
sudo service …&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Tue, 20 Sep 2016 15:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-09-20:/how-to-run-celery-as-daemon.html</guid><category>django</category><category>python</category><category>celery</category></item><item><title>DjangoCon Europe 2016, me, and Django Sprints</title><link>http://www.emadmokhtar.com/djangocon-europe-2016-me-and-django-sprints.html</link><description>&lt;p&gt;&lt;img alt="djangocon logo" src="http://www.emadmokhtar.com/images/yay.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="djangocon name tag" src="http://www.emadmokhtar.com/images/Name-tag.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Late in 2014 I decided to shift my development stack from Microsoft .NET Framework to &lt;a href="http://www.emadmokhtar.com/my-first-django-app.html"&gt;Django/Python stack&lt;/a&gt;. It's been almost 2 years now and I'm really enjoying and learning many things. I'm so happy that I've done this leap.
In 2016 I had the change to attend DjangoCon Europe 2016 at Budapest, Hungry. I enjoyed it to the maximum, it's my first time to meet the community, and it's first time attending one of Django community events.&lt;/p&gt;
&lt;h1&gt;Django Community&lt;/h1&gt;
&lt;p&gt;When I started to learn Django, I found everyone is recommending Django documentation itself as start, from my past experience in .NET framework that its documentation is not enough to get your head around the framework, you need at least to read one book or watch one video course, but after reading Django official documentation, I was shocked that it's enough as start, it's enough for your daily tasks, it's enough to dive in Django framework, or fixing issues. The quality of &lt;a href="https://docs.djangoproject.com/en/dev/"&gt;Django official documentation&lt;/a&gt; is amazing.&lt;/p&gt;
&lt;p&gt;When I went to DjangoCon Europe 2016 I saw people reflecting the philosophy of Django framework, the community is so welcoming as Django documentation, I had the chance to meet  &lt;a href="https://github.com/freakboy3742"&gt;Russell Keith-Magee&lt;/a&gt; and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 07 Sep 2016 00:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-09-07:/djangocon-europe-2016-me-and-django-sprints.html</guid><category>community</category><category>Django</category><category>DjangoCon</category></item><item><title>PACKT publishing ebooks and videos 50% discount offer</title><link>http://www.emadmokhtar.com/packt-publishing-ebooks-and-videos-50-discount-offer.html</link><description>&lt;p&gt;Generously PACKT publishing is offering 50% discount on Python and Django ebook and videos. PACKT has many Python ebooks and videos from novice to advanced level, it one of the most publishing company that releases books and videos for Python and Django, If you tried to Google a book for Python or Django, you differently will find one of their books in the search results.&lt;/p&gt;
&lt;h2&gt;Interesting ebooks and videos for Python:&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/big-data-and-business-intelligence/python-machine-learning"&gt;&lt;img alt="Python Machine Learning" src="https://www.packtpub.com/sites/default/files/5130OS_Python%20Machine%20Learning_.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/big-data-and-business-intelligence/mastering-python-video"&gt;&lt;img alt="Mastering Python" src="https://www.packtpub.com/sites/default/files/bookretailers/9781783988969.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/big-data-and-business-intelligence/python-data-analysis"&gt;&lt;img alt="Python DAta Analysis" src="https://www.packtpub.com/sites/default/files/3358OS_cov.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/application-development/geospatial-development-example-python"&gt;&lt;img alt="Geospatial Development by Example Python" src="https://www.packtpub.com/sites/default/files/2355OS_4558_Geospatial%20Development%20by%20Example%20with%20Python.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Interesting ebooks and videos for Django:&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/web-development/web-development-django-cookbook-second-edition"&gt;&lt;img alt="Web Development Django Cookbook" src="https://www.packtpub.com/sites/default/files/6775O9S_Web%20Development%20with%20Django%20Cookbook-%20Second%20Edition.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/web-development/django-example"&gt;&lt;img alt="Django By Example" src="https://www.packtpub.com/sites/default/files/B03922_Django%20By%20Example_.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/web-development/mastering-django-web-development-video"&gt;&lt;img alt="Master Django Web Developement" src="https://www.packtpub.com/sites/default/files/bookretailers/9781783989805_new.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Coupons&lt;/h2&gt;
&lt;p&gt;Please take the chance and buy your favorite Python or Django ebooks or videos form PACKT publishing. This offer is valid till &lt;strong&gt;28th of March 2016&lt;/strong&gt; so please hurry up&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For &lt;a href="https://www.packtpub.com/tech/python#/?utm_source=RP-Emadmokhtar&amp;amp;utm_medium=referral&amp;amp;utm_campaign=OMEPython"&gt;Python&lt;/a&gt; books and videos use &lt;strong&gt;PYTHON50&lt;/strong&gt; code.&lt;/li&gt;
&lt;li&gt;For &lt;a href="https://www.packtpub.com/tech/django#/?utm_source=RP-Emadmokhtar&amp;amp;utm_medium=referral&amp;amp;utm_campaign=OMEDjango"&gt;Django&lt;/a&gt; books and videos use  &lt;strong&gt;DJANGO50&lt;/strong&gt; code.&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 17 Feb 2016 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-02-17:/packt-publishing-ebooks-and-videos-50-discount-offer.html</guid><category>django</category><category>python</category><category>ebooks</category></item><item><title>Send Emails Asynchronously from Django</title><link>http://www.emadmokhtar.com/send-emails-asynchronously-from-django.html</link><description>&lt;p&gt;In this article you will learn:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How to send emails from &lt;a href="https://www.djangoproject.com"&gt;Django&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;How to use &lt;a href="http://www.celeryproject.org/"&gt;Celery&lt;/a&gt; and &lt;a href="https://github.com/pmclanahan/django-celery-email"&gt;Django-Celery-Email&lt;/a&gt; to send email asynchronously.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Last week I had the chance to get my hand dirty with Celery, I used it to send emails from Django project asynchronously using Django app call djnago-celery-email. What am I mean by sending emails asynchronously? I mean that user doesn’t wait for SMTP/mail server to send email message and give feedback to the web server, instead Django will call the send email procedure, pass it to Celery to do it away from Django application, so that user won’t wait, for example you want to send email to customer once he save customer information, you don’t want to keep user wait for application to save the customer data and send email, by sending email asynchronously user will only wait for saving confirmation and sending email celery will take care of it in the background.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Alt Text" src="http://www.emadmokhtar.com/images/1442310863_full.png"&gt;&lt;/p&gt;
&lt;p&gt;Now let’s see how we can do that.&lt;/p&gt;
&lt;h2&gt;Step 1: Install and Setup Celery&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;In terminal, active your &lt;a href="http://www.emadmokhtar.com/2015/03/virtual-environment/"&gt;virtualenv&lt;/a&gt; and type &lt;code&gt;$ pip install django-celery&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Now celery and its Django app djcelery are installed into your virtualenv.&lt;/li&gt;
&lt;li&gt;Next step is …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 24 Jan 2016 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-01-24:/send-emails-asynchronously-from-django.html</guid><category>django</category><category>python</category><category>celery</category><category>emails</category></item><item><title>My Experience with Fitbit Customer Service</title><link>http://www.emadmokhtar.com/my-experience-with-fitbit-customer-service.html</link><description>&lt;p&gt;&lt;img alt="fitbit-logo" src="http://www.emadmokhtar.com/images/fitbit-logo.png"&gt;&lt;/p&gt;
&lt;h2&gt;The start&lt;/h2&gt;
&lt;p&gt;I received Fitbit Flex as my birthday gift from my wife and I joined Fitbit community since 2013, I love the device and I love the sleep tracking feature, and with this feature now I can know why I'm feeling sleepy by data. &lt;/p&gt;
&lt;h2&gt;First Issue&lt;/h2&gt;
&lt;p&gt;Less than one year of using my Fitbit Flex, it started to not charging, and vibrating for alarms and feedback, so I created a support issue on Fibit support portal, and the quick answer was, Oh we are sorry please give us an address so we can send you another one. I got shocked, this reminded me of Amazon Customer Service quality. &lt;img alt="fitbit support 01" src="http://www.emadmokhtar.com/images/Screenshot-2016-01-05-14.15.50.png"&gt;&lt;/p&gt;
&lt;h2&gt;Second Issue&lt;/h2&gt;
&lt;p&gt;After receiving the second Fitbit Flex, I used it for while and the wristband got damaged, I created a support issue again, they request a confirmation that my band is damaged, I replied with images, and boom the same response "Oh we are sorry please give us an address so we can send you another one". &lt;img alt="Fitbit Support 02" src="http://www.emadmokhtar.com/images/Screenshot-2016-01-05-14.22.55.png"&gt;&lt;/p&gt;
&lt;h2&gt;Third Issue&lt;/h2&gt;
&lt;p&gt;My replacement Fitbit Flex got damaged also and again I created support issue, and this time they were more awesome than before, they sent me a replacement though my warranty is …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 06 Jan 2016 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2016-01-06:/my-experience-with-fitbit-customer-service.html</guid><category>review</category></item><item><title>DotPen review</title><link>http://www.emadmokhtar.com/dotpen-review.html</link><description>&lt;p&gt;I bought an iPad Mini 2 to write paper-less/eletronic notes instead of having notebook and a pen always inside my pockets, I &lt;a href="/2015/12/paperless-notes/"&gt;blogged about it before&lt;/a&gt;, but I upgraded my stylus from &lt;a href="http://www.moshi.com/peripheral-stylus-pen-stanza-duo"&gt;Moshi Stanza Duo&lt;/a&gt; to &lt;a href="http://dot-tec.com/"&gt;DotPen&lt;/a&gt;, and I want to share my experince with you. &lt;/p&gt;
&lt;h1&gt;My Experience&lt;/h1&gt;
&lt;blockquote&gt;
&lt;h2&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;If you want a stylus that is perfect for hand writing, buy &lt;a href="http://amzn.to/1OmUCfX"&gt;DotPen&lt;/a&gt;. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="dotpen" src="http://dot-tec.com/wp-content/uploads/2014/09/dot-pen-blown.png"&gt; I'm using DotPen now for two month, and I'm so happy about it, it feel like writing on paper but instead I'm writing on my iPad mini 2, and best part that it can support any note taking app, I'm using it with GoodNotes and Penultimate and it's perfectly working with them. Here is comparison between my handwriting on paper and on iPad using dotPen. &lt;img alt="paper-less Note" src="/wp-content/uploads/IMG_4280.jpg"&gt;&lt;/p&gt;
&lt;h2&gt;Some Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It's not bluetooth stylus which can sync with apps to enable plam rejection feature, so that why I recommned using it with Goodnotes becasue of the writing panel. &lt;/li&gt;
&lt;li&gt;It has On/Off button which I found it's taking it really off, my iPad mini 2 can't recognize its tip if it's off.&lt;/li&gt;
&lt;li&gt;It take AAA battery which can run it for 2 weeks at least, you won't change the …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Mon, 28 Dec 2015 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-12-28:/dotpen-review.html</guid><category>review</category></item><item><title>Extend Django User Model and Generic Class Based View "GCBV"</title><link>http://www.emadmokhtar.com/extend-django-user-model-and-generic-class-based-view-gcbv.html</link><description>&lt;p&gt;&lt;img alt="1450356512_full.png" src="http://www.emadmokhtar.com/images/1450356512_full.png"&gt; When I started to learn Django, I used to use the function based view aka FBV and in my current project I decided to learn class based view CBV, I watched one &lt;a href="https://www.youtube.com/watch?v=BJiOERA49ZQ"&gt;DjangoCon videos by Andrew Pinkham&lt;/a&gt; to make this easier on me, and if you tried or planning to learn CBV, you will be confused about the class based views and the generic class based views inside Django, it’s some many of them, please watch the video to get your head around it. OK, now I’ve done my homework and it’s time to use CBV, believe me it’s easy and you will find the number of code lines inside our views will be decreased specially if you use GCBV. User Model and GCBV &lt;/p&gt;
&lt;h1&gt;What is the relation between GCBV and User Model?&lt;/h1&gt;
&lt;p&gt;Great question, while I’m working with one of my models fro example her the Teacher model, and teacher will has a user credentials in order to user the app. The easiest and the straightforward way is to make one-to-one relation with &lt;a href="https://github.com/django/django/blob/53ccffdb8c8e47a4d4304df453d8c79a9be295ab/django/contrib/auth/models.py"&gt;django.contrib.auth.models.User&lt;/a&gt; please read the quote from Django documentation: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are two ways to extend the default User …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Fri, 18 Dec 2015 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-12-18:/extend-django-user-model-and-generic-class-based-view-gcbv.html</guid><category>Django</category><category>Python</category></item><item><title>My journey from paper note to paperless note</title><link>http://www.emadmokhtar.com/my-journey-from-paper-note-to-paperless-note.html</link><description>&lt;p&gt;&lt;a href="http://www.emadmokhtar.com/wp-content/uploads/1450004669_full.png"&gt;&lt;img alt="paperless note on iPad" src="http://www.emadmokhtar.com/images/1450004669_full.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I really love to take notes wherever and wheneve. I like to keep my notes with me, but after buying iPad mini I decide to change my note tool from paper notes to paperless notes (e-notes), but I like to hand writing my notes I want something that feels like paper notes.&lt;/p&gt;
&lt;h3&gt;Searching for the tool&lt;/h3&gt;
&lt;p&gt;I thought of buying a stylus for iPad that feels like real pen and start taking notes, first I found &lt;a href="https://www.fiftythree.com/pencil"&gt;fiftythree Pencil&lt;/a&gt; but it was built mainly for designers not for writing, then I found The best stylus for me is the &lt;a href="http://www.adonit.net/jot/script/"&gt;Jot Script&lt;/a&gt; but it is expensive but it has the best writing experience and best accuracy. This is for the stylus, for the application I searched about note application that can enhance my writing accuracy, I found two note apps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://evernote.com/penultimate/"&gt;Penultimate Evernote&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Free&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sync with Evernote&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Zoom in and write with line recognition&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.goodnotesapp.com/"&gt;Goodnotes&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Paid  (but worth every penny)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Backup with most of cloud storages like Google Driver, Dropbox, &amp;amp; OneDrive.  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pen size &amp;amp; color customization.  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Palm rest and palm rejection.  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add annotations to PDF files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Writing panel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Shape recognition.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;My final tools&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Device:&lt;/strong&gt; iPad mini with retina display.&lt;br&gt;
&lt;strong&gt;Note App:&lt;/strong&gt; Goodnotes.&lt;br&gt;
&lt;strong&gt;Stylus:&lt;/strong&gt;  &lt;a href="http://www.moshi.com/peripheral-stylus-pen-stanza-duo"&gt;Moshi …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 13 Dec 2015 11:47:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-12-13:/my-journey-from-paper-note-to-paperless-note.html</guid><category>notes</category><category>papreless</category></item><item><title>Solution for psycopg2 installation error with Mac OSX El Capitan</title><link>http://www.emadmokhtar.com/solution-for-psycopg2-installation-error-with-mac-osx-el-capitan.html</link><description>&lt;h1&gt;The Issue&lt;/h1&gt;
&lt;p&gt;If you tried to install to install psycopg2 package after upgrading to Mac OSX El Capitan and got an error like this:     &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;xcrun&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;invalid&lt;/span&gt; &lt;span class="n"&gt;active&lt;/span&gt; &lt;span class="n"&gt;developer&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="o"&gt;(/&lt;/span&gt;&lt;span class="n"&gt;Library&lt;/span&gt;&lt;span class="sr"&gt;/Developer/&lt;/span&gt;&lt;span class="n"&gt;CommandLineTools&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt; 
&lt;span class="n"&gt;missing&lt;/span&gt; &lt;span class="n"&gt;xcrun&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="sr"&gt;/Library/Developer/CommandLineTools/usr/bin/x&lt;/span&gt;&lt;span class="n"&gt;crun&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;img alt="pip.log" src="http://www.emadmokhtar.com/images/1444569163_full.png"&gt;&lt;/p&gt;
&lt;h1&gt;The Soltuion:&lt;/h1&gt;
&lt;p&gt;Simplly install Command-Line Tools:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo xcode-select --install&lt;/code&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Sun, 11 Oct 2015 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-10-11:/solution-for-psycopg2-installation-error-with-mac-osx-el-capitan.html</guid><category>developement</category><category>macosx</category></item><item><title>CodeWars.com Can Improve Your Problem Solving Skill</title><link>http://www.emadmokhtar.com/codewarscom-can-improve-your-problem-solving-skill.html</link><description>&lt;p&gt;&lt;img alt="Codewars logo" src="http://www.emadmokhtar.com/images/1444038896_full.png"&gt;&lt;/p&gt;
&lt;p&gt;Recently I posted that &lt;a href="http://www.emadmokhtar.com/2015/05/warning-your-daily-job-can-kill-your-skills/"&gt;your daily job can kill your skills&lt;/a&gt;, and I mentioned specifically the problem solving skill, as a software developer problem solving skill is one of the most important and key skill you need to master to be a good developer, in the post I mentioned that I started to solve code puzzles on &lt;a href="http://codeeval.com/"&gt;CodeEval.com&lt;/a&gt;, it is good but during one of &lt;a href="https://www.livecoding.tv"&gt;livecoding.tv&lt;/a&gt; session the developer mentioned &lt;a href="http://codewars.com/"&gt;CodeWars.com&lt;/a&gt; and I thought to give it a try, so I signed in and start to solve some puzzles aka katas and get higher in rank, and I discovered the differences and why &lt;a href="http://codewars.com/"&gt;CodeWars.com&lt;/a&gt; is better from my perspective.  &lt;/p&gt;
&lt;h2&gt;CodeWars advantages&lt;/h2&gt;
&lt;p&gt;In CodeWars you’ll start to solve puzzles (it’s called kata) from starting rank (easy katas) toward much harder ones and this is common in code puzzles website, but what is special about CodeWars:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Check others solutions: &lt;/strong&gt;After post your solution you can view others solutions, and this can really help you in crafting the skill, for example you solved one kata and after you checked others solutions, you discovered better solutions “WOW these guys solved it in very clean way", and now you …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Mon, 05 Oct 2015 09:57:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-10-05:/codewarscom-can-improve-your-problem-solving-skill.html</guid><category>codeing</category><category>skills</category><category>problem solving</category></item><item><title>Solo Developer</title><link>http://www.emadmokhtar.com/solo-developer.html</link><description>&lt;p&gt;Developers and coders are known as anti-social but after many years in development field, I can tell you this is totally wrong and developers who can communicate well are good developers they can learn and understand what they are really doing, if you read soft skills books for developers, sure you will find chapter about communications and How to be a part of software development team, but if you can’t communicate with your teammate you’ll always work lonely and gain nothing more than loneliness and coding in the dark.&lt;/p&gt;
&lt;p&gt;Since I joined the software industry 4+ years, and I’m working, coding, and developing alone, I read about pair programming in XP “eXtreme Programming” and daily standup meetings in SCRUM, and How it can increase the quality and productivity of teams, but I didn’t experience those, I never pair programming and never being in one of Agile methodologies, but I’m trying to think with someone else not in the same team and not a developer, but it worth trying because it’s really amazing, you’ll feel like you have two extra minds, yes as you read it, it is like 1 + 1 = 3.&lt;/p&gt;
&lt;p&gt;If you …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Wed, 08 Jul 2015 09:45:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-07-08:/solo-developer.html</guid><category>developer</category><category>programming</category></item><item><title>Initial Review: Becoming Steve Jobs</title><link>http://www.emadmokhtar.com/initial-review-becoming-steve-jobs.html</link><description>&lt;p&gt;&lt;img alt="Becomming Steve Jobs book cover" src="http://www.emadmokhtar.com/images/1431938096_full.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;Until now I finished 35% of &lt;a href="http://www.amazon.com/gp/product/0385347405/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0385347405&amp;amp;linkCode=as2&amp;amp;tag=monsblo08-20&amp;amp;linkId=2SJY4Q5N7KFZ52DB"&gt;Becoming Steve Jobs: The Evolution of a Reckless Upstart into a Visionary Leader&lt;/a&gt; book, and I don’t find Steve Jobs a successful entrepreneur or even a leader. Apple's first success because of Apple I which is Steve Wozniak idea and engineered by him as well, and Pixar was succeed because of its leader not Steve Jobs, in fact Steve Jobs was the reason for projects like (Apple III, Macintosh, and NeXT workstations) to fail, and was trying to make Pixar the next failure but its leaders keep him away and done what they knew it's right for Pixar. In the nutshell Steve Jobs is bad micromanager that you shouldn't dream to be like him, for me he is a fake leader.&lt;br&gt;
I’ll continue the book to see How did he turn to be the visionary leader after that :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emad Mokhtar</dc:creator><pubDate>Mon, 18 May 2015 08:35:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-05-18:/initial-review-becoming-steve-jobs.html</guid><category>book</category><category>review</category></item><item><title>Free Django hosting</title><link>http://www.emadmokhtar.com/free-django-hosting.html</link><description>&lt;p&gt;If you developed Django application and want to deploy/publish it to the web you can check this list of Django friendly (http://djangofriendly.com/hosts/), but if you want a free hosting you can use &lt;a href="https://www.pythonanywhere.com/pricing/"&gt;Python Anywhere free hosting&lt;/a&gt;, I’m using it for &lt;a href="http://www.emadmokhtar.com/my-first-django-app.html"&gt;my Django app&lt;/a&gt; and I’m very comfortable with but before using the free hosting please consider the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;They provide only MySQL for free hosting, so if you developed your app using PostgreSQL or SQLite, please download the correct driver.&lt;/li&gt;
&lt;li&gt;Application URL must be sub-domain of pythonanywhere.com, example my-app.pythonanywhere.com&lt;/li&gt;
&lt;li&gt;I’ll host one application only.&lt;/li&gt;
&lt;li&gt;No full access to a machine, you’ll deploy your application using console, use the console to install your virtual environment and packages, and edit some code using their in-browser code editor.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;How to deploy?&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;First go to this &lt;a href="https://www.pythonanywhere.com/registration/register/beginner/"&gt;&lt;span
    class="s2"&gt;link&lt;/a&gt;
    and register your free account, then &lt;/li&gt;
&lt;li&gt;Go to your dashboard, and select
    Consoles tab.&lt;/li&gt;
&lt;li&gt;Click on Python 2.7 (I personally still using
    python 2.7 but if you want select python 3.3) to open a
    new console.&lt;/li&gt;
&lt;li&gt;New console will open in your browser.&lt;/li&gt;
&lt;li&gt;Start by creating your &lt;a href="http://www.emadmokhtar.com/2015/03/virtual-environment/"&gt;virtualenv&lt;/a&gt; and install the required packages …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 19 Apr 2015 12:33:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-04-19:/free-django-hosting.html</guid><category>django</category><category>python</category></item><item><title>My First Django App</title><link>http://www.emadmokhtar.com/my-first-django-app.html</link><description>&lt;p&gt;I'm starting to use Django and Python to develop web applications, I really love Django and during my learning process I thought I can build something while learning, and I had one idea keep it on hold as side project so I decided it's time to build it.&lt;/p&gt;
&lt;h1&gt;The Idea&lt;/h1&gt;
&lt;p&gt;Me and my wife have our financial system which is dividing the monthly budget into a weekly budget, most of us make budget on monthly basis because we get paid on monthly basis, but imagine your budget will be on weekly basis, it’s like every week is new budget and new start, and in order to keep track of the weekly budget you need to know how much you need to spend in a week. To be honest in the first we made a lot of mistakes but at the end we found out how much we need to spend weekly, and this need analysis with trial and error for at least one month then you will master your weekly budgeting.&lt;/p&gt;
&lt;p&gt;Now the idea is build a system that can keep track of your payments or expenses against your estimated budget for a week. The application name is &lt;strong&gt;Ma3ana …&lt;/strong&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 16 Mar 2015 13:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-03-16:/my-first-django-app.html</guid><category>django</category><category>python</category><category>sideproject</category></item><item><title>Virtual Environment</title><link>http://www.emadmokhtar.com/virtual-environment.html</link><description>&lt;p&gt;While leaning web developing using Django and Python, I found out
VirtualEnv or Virtual Environment is widely used, in first I didn't get
it because I came from Microsoft .NET Framework development platform, so
I thought of writing a post about it to make simple.&lt;/p&gt;
&lt;h2&gt;What is Virtual Environment?&lt;/h2&gt;
&lt;p&gt;VirtualEnv or Virtual Environment is a way to create isolated
development environment each one has it's own packages and specific
package version, for example VirEnv1 has Django 1.6 and VirEnv2 has
Django 1.7, this isolation will keep your project packages dependency
clear, isolated, and as I'll show you below that you can replicate the
environment with one command and file, so if you work in team it's easy
to share the same environment among the
team.&lt;/p&gt;
&lt;p&gt;&lt;img alt="virtualenv 1" src="http://www.emadmokhtar.com/images/Screenshot-from-2015-03-01-193423.png"&gt;
&lt;img alt="virtualenv 2" src="http://www.emadmokhtar.com/images/Screenshot-from-2015-03-01-193318.png"&gt;&lt;/p&gt;
&lt;h2&gt;How to install VirtualEnv?&lt;/h2&gt;
&lt;p&gt;VirtualEnv is a python package so to install is you need to install pip
first.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open terminal and type the following command&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo apt-get install python-pip&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After finish installing pip type the following command to install
    virtual environment&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo pip install virtualenv&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After finish installing virtualenv, type the following command to
    create folder to store your virtual environments&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mkdir .virtualenvs&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;How to create virtualenv?&lt;/h2&gt;
&lt;p&gt;After install virtualenv you are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 01 Mar 2015 17:10:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2015-03-01:/virtual-environment.html</guid><category>django</category><category>pip</category><category>python</category><category>virtualenv</category></item><item><title>Fictions for Developers</title><link>http://www.emadmokhtar.com/fictions-for-developers.html</link><description>&lt;p&gt;&lt;img alt="blackhole" src="http://www.emadmokhtar.com/images/blackhole.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.timothyferriss.com/"&gt;Tim Ferriss&lt;/a&gt;&lt;/strong&gt; recommended in his
&lt;strong&gt;&lt;a href="http://www.amazon.com/4-Hour-Work-Week-Escape-Anywhere-ebook/dp/B002WE46UW/ref=sr_1_1?ie=UTF8&amp;amp;qid=1415863625&amp;amp;sr=8-1"&gt;4-Hours
Workweek&lt;/a&gt;&lt;/strong&gt;
book to read fiction books before sleep and this will help you
disconnected from the real world and jump in book world which lead to
better sleep.&lt;/p&gt;
&lt;p&gt;Last Monday I went to watch the
&lt;strong&gt;&lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=4&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCgQFjAD&amp;amp;url=http%3A%2F%2Fwww.imdb.com%2Ftitle%2Ftt0816692%2F&amp;amp;ei=u11kVPXNFIuV7AbVy4DoDw&amp;amp;usg=AFQjCNEwQcJ-old_Ha_400cEjFgIpjPT5g&amp;amp;sig2=fksmaVPQ1mq71ghUjTkRSQ&amp;amp;bvm=bv.79189006,d.ZGU"&gt;Interstellar&lt;/a&gt;&lt;/strong&gt;
movie with my wife and it was like reading fiction book before sleep,
the movie is 3 hours long which is unique nowadays and full of science
and psychics, but the story is full of fiction and the soundtracks are
incredible. After we finished the movie I looked at my watch and WOW 3
hours passed and I felt like I was inside the movie and flying in the
space, the time passed by and all my inner thoughts, to do lists,
project plans, pending households, and life events are vanished and I’m
totally inside the movie, in other words I’m totally disconnected from
the real world. I felt fresh even though that it’s 12:00 AM and I have a
work to go in the morning, but I felt fresh and my mind is clear and
this give me chance to start my day so fresh, plus now I want to read
more about …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 13 Nov 2014 12:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-11-13:/fictions-for-developers.html</guid><category>developer</category><category>geek</category></item><item><title>Run rabbit run</title><link>http://www.emadmokhtar.com/run-rabbit-run.html</link><description>&lt;p&gt;&lt;img alt="image" src="http://www.emadmokhtar.com/images/wpid-wp-1413429250063.jpeg"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Run rabbit run,  dig that hole forget the sun,  and when at last the
work is done, don't sit down it's time to dig another one. #PinkFloyd&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We keep running in the same freakin loop/circle &amp;amp; forget
pursuiting/catch our dreams and goals, and just stick to little small
useless life events.&lt;/p&gt;
&lt;p&gt;Sometimes we invent things to take them as excuses like money, time,
children, place, or company. Manage yourself and take guidance from
Allah, fix your issues aka &amp;amp; "excuses" , have a dream no no have a lot
of dreams and live your life to catch the and make them true.&lt;/p&gt;
&lt;p&gt;Ask yourself every morning, Am I like what I'm doing? If no please quit
it and go live your life and search about what you are like to do and
start living it, one day shorter breathe and here come the death&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 16 Oct 2014 10:00:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-10-16:/run-rabbit-run.html</guid><category>dreams</category><category>life</category></item><item><title>Easy Taxi app review</title><link>http://www.emadmokhtar.com/easy-taxi-app-review.html</link><description>&lt;p&gt;I was having my annual vacation in Egypt, and I had the chance to download Easy Taxi application on my mobile phone, I have downloaded and installed the application on my mobile phone “Nokia Lumia 920”, I created an account and started use the application. I'll share my experience with you.  &lt;/p&gt;
&lt;h2&gt;My experience:&lt;/h2&gt;
&lt;p&gt;I was at Abbasia Street and want to go to Al Shams Sporting Club, I opened the application and it detected my location:&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image002" src="http://www.emadmokhtar.com/images/clip_image002.png"&gt;&lt;/p&gt;
&lt;p&gt;Then I request a taxi, application will ask about my destination and more information about my location, and when I submitted the request, it send a request and wait for a driver to accept the request.&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image004" src="http://www.emadmokhtar.com/images/clip_image004.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image006" src="http://www.emadmokhtar.com/images/wp_ss_20140726_0004.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image008" src="http://www.emadmokhtar.com/images/wp_ss_20140726_0005.png"&gt;&lt;/p&gt;
&lt;p&gt;The application showed driver's contact and car information, and his
current location, so that I can call him and keep tracking his position.&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image010" src="http://www.emadmokhtar.com/images/wp_ss_20140726_0006.png"&gt;&lt;/p&gt;
&lt;p&gt;Then when the taxi arrived application notified me&lt;/p&gt;
&lt;p&gt;&lt;img alt="clip_image012" src="http://www.emadmokhtar.com/images/wp_ss_20140726_0007.png"&gt;  &lt;/p&gt;
&lt;h2&gt;Conclusion:&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Request Taxi without any human interaction, maybe there will be phone calls.&lt;/li&gt;
&lt;li&gt;Share Taxi’s car information, so you have a log and can ride this taxi safely.&lt;/li&gt;
&lt;li&gt;Share Taxi’s contact information, so you can call him whenever you want.&lt;/li&gt;
&lt;li&gt;Share your location, so no need to tell the driver where you are.&lt;/li&gt;
&lt;li&gt;Real …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 18 Sep 2014 15:08:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-09-18:/easy-taxi-app-review.html</guid><category>application</category><category>apps</category><category>easytaxi</category><category>mobileapp</category><category>review</category><category>taxi</category></item><item><title>ASP.NET WebForms Notification Control</title><link>http://www.emadmokhtar.com/aspnet-webforms-notification-control.html</link><description>&lt;p&gt;In 2012 I wrote about &lt;a href="//Using Notification in ASP.NET WebForms.md/http://www.emadmokhtar.com/aspnet-webforms-notification-control.html"&gt;using notification in ASP.NET WebForms&lt;/a&gt; and most of questions I’ve got are asking about why it isn’t working, so I thought I can make it easier for developers by creating ASP.NET Server Control that has notification functionality and developers can reuse it like any ASP.NET Server Control in their toolbox.&lt;/p&gt;
&lt;h1&gt;About the Project&lt;/h1&gt;
&lt;p&gt;Notification Control is open source/free ASP.NET server control like &lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples//ajaxlibrary/AjaxControlToolkitSamp eSite/"&gt;ASP.NET Ajax toolkit controls&lt;/a&gt;, it’s wrapper for awesome jQuery plug-in called &lt;a href="http://www.givainc.com/labs/jnotify_jquery_plugin.cfm"&gt;jNotify&lt;/a&gt; to use it’s functionality from code behind, it’s on &lt;a href="https://github.com/EmadMokhtar/CustomControls.NotificationControl"&gt;GitHub&lt;/a&gt;, please fork it, or test it and report bugs/issues on GitHub.&lt;/p&gt;
&lt;p&gt;You can find demo &lt;a href="http://notificaitoncontrol.azurewebsites.net/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;How to Install&lt;/h1&gt;
&lt;h2&gt;Download via GitHub repository&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the repository as&lt;strong&gt; &lt;/strong&gt; &lt;a href="https://github.com/EmadMokhtar/CustomControls.NotificationControl/archive/master.zip"&gt;Zip file&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Visual Studio, and open       project.&lt;img alt="Screenshot-0016" src="http://www.emadmokhtar.com/wp-content/uploads/Screenshot-00161.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build the project.&lt;img alt="Screenshot-0026" src="http://www.emadmokhtar.com/wp-content/uploads/Screenshot-00261.png"&gt;&lt;img alt="Screenshot-0019" src="http://www.emadmokhtar.com/wp-content/uploads/Screenshot-00191.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to bin/Release folder and locate the &lt;code&gt;CustomControls.NotificationControl.dll&lt;/code&gt; file. &lt;img alt="Screenshot-0020" src="http://www.emadmokhtar.com/wp-content/uploads/Screenshot-00202.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Download via Nuget:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Visual Studio open Package Manager Console and type &lt;code&gt;Install-Package NotificationControl&lt;/code&gt;, wait until the package download is done, and open the project folder, then browse to &lt;strong&gt;{ProjectFolder}/NotificationControl.{version}&lt;/strong&gt; you’ll find the DLL file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In your ASP.NET WebForms project open any .ASPX file then …&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 19 Jun 2014 12:30:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-06-19:/aspnet-webforms-notification-control.html</guid><category>aspnet</category></item><item><title>C# String Concatenation Best Practice</title><link>http://www.emadmokhtar.com/c-string-concatenation-best-practice.html</link><description>&lt;p&gt;Once I’ve start to learn .NET and C# I heard about the difference
between string &lt;strong&gt;+ concatenation operator&lt;/strong&gt; and &lt;strong&gt;StringBuilder&lt;/strong&gt; class
in C# and how to use them and which on is better to perform string
concatenation, so I thought to give it a real benchmark and see the
results.&lt;/p&gt;
&lt;p&gt;For benchmarking I’ll use  &lt;code&gt;+ Operator&lt;/code&gt;, &lt;code&gt;StringBuilde&lt;/code&gt; class, and
&lt;code&gt;string.Concat()&lt;/code&gt; method, so let’s start.&lt;/p&gt;
&lt;h1&gt;Code:&lt;/h1&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;nameUsingPlus&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;plusWatch&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Stopwatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;StartNew&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="m"&gt;10000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;++)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;nameUsingPlus&lt;/span&gt; &lt;span class="p"&gt;+=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot; I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;plusWatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Stop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;nameConcatMethod&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;concatMethodWatch&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Stopwatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;StartNew&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="m"&gt;10000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;++)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;nameConcatMethod&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Concat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nameConcatMethod&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot; I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;concatMethodWatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Stop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;nameStringBuilder&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;StringBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;stringBuilderWatch&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Stopwatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;StartNew&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="m"&gt;1000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;++)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;nameStringBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot; I will tell all of my friends about emadmokhtar.com today!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nameStringBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ToString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;stringBuilderWatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Stop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;


&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Plus Oprator took {0}&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;plusWatch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Elapsed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Milliseconds …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 18 Jun 2014 11:57:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-06-18:/c-string-concatenation-best-practice.html</guid><category>csharp</category></item><item><title>Generate POCO for Database Tables Using T4 Template</title><link>http://www.emadmokhtar.com/generate-poco-for-database-tables-using-t4-template.html</link><description>&lt;p&gt;If you are using Micro-ORM which doesn’t have fancy UI that generate your data model for you, or you want a free tool to generate &lt;a href="http://en.wikipedia.org/wiki/Plain_Old_CLR_Object"&gt;POCO&lt;/a&gt; classes for you, I’ve got a solution for you. Personally I prefer using &lt;a href="http://en.wikipedia.org/wiki/Text_Template_Transformation_Toolkit"&gt;T4 template&lt;/a&gt; that &lt;a href="http://www.toptensoftware.com/petapoco/"&gt;PetaPoco&lt;/a&gt; provides, so let’s see how you can use it.&lt;/p&gt;
&lt;h1&gt;Let’s Start:&lt;/h1&gt;
&lt;p&gt;First, install/add PetaPoco to your project using Nuget:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;1.  Open **Package Manager Console** and type `install-package petapoco`
2.  Wait until package downloaded and installed to your project.
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;img alt="packagemanager" src="http://www.emadmokhtar.com/images/packagemanager.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="solutionafterinstall" src="http://www.emadmokhtar.com/images/solutionafterinstall.png"&gt;&lt;/p&gt;
&lt;p&gt;Second, modify T4 template to generate POCO classes for you:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;Database.tt&lt;/code&gt; file and modify Settings part.&lt;/li&gt;
&lt;li&gt;In &lt;code&gt;ConnectionStringName&lt;/code&gt; write your database connection string name which located in app.config or web.config.&lt;/li&gt;
&lt;li&gt;In &lt;code&gt;Namespace&lt;/code&gt; write the namespace for generated Poco classes.&lt;/li&gt;
&lt;li&gt;In &lt;code&gt;RepoName&lt;/code&gt; write Repository name, this is optional and recommended if you’ll use PetaPoco.&lt;/li&gt;
&lt;li&gt;In &lt;code&gt;ClassPerfex&lt;/code&gt; write required class name prefix, this is optional.&lt;/li&gt;
&lt;li&gt;In &lt;code&gt;ClassSuffix&lt;/code&gt; write required class name suffix, this is optional.&lt;/li&gt;
&lt;li&gt;Save the file.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="settings" src="http://www.emadmokhtar.com/images/settings.png"&gt;&lt;/p&gt;
&lt;p&gt;Third, congratulation your POCO classes and Repo generated under Database.tt –&amp;gt; Database.cs.&lt;/p&gt;
&lt;p&gt;&lt;img alt="pocos" src="http://www.emadmokhtar.com/images/pocos.png"&gt;&lt;/p&gt;
&lt;h1&gt;Notes:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Make sure you set &lt;code&gt;providerName&lt;/code&gt; in &lt;code&gt;ConnectString&lt;/code&gt; or T4 template will not work.&lt;/li&gt;
&lt;li&gt;If you faced C# issue during …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 12 May 2014 12:26:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-05-12:/generate-poco-for-database-tables-using-t4-template.html</guid><category>poco</category><category>t4</category><category>dotNET</category><category>C#</category></item><item><title>Book Review: Windows PowerShell 4.0 for .NET Developers</title><link>http://www.emadmokhtar.com/book-review-windows-powershell-4-0-for-net-developers.html</link><description>&lt;p&gt;&lt;img alt="dotNET_Developers" src="http://www.emadmokhtar.com/images/dotNET_Developers.jpg"&gt;&lt;/p&gt;
&lt;p&gt;My academic colleague &lt;a href="http://www.sheriftalaat.com/"&gt;Sherif Talaat&lt;/a&gt;
released his second book &lt;a href="http://www.packtpub.com/windows-powershell-4-0-for-dotnet-developers/book"&gt;Windows PowerShell 4.0 for .NET
Developers&lt;/a&gt;
which is filling the gap between .NET Developers and Administration tool
like Windows PowerShell, before reading this book I was having small
information about PowerShell and I didn’t know it’ll help me in my
development tasks. Target audiences of this book are .NET Developers.&lt;/p&gt;
&lt;h1&gt;Chapter 1: Getting Started with Windows PowerShell&lt;/h1&gt;
&lt;p&gt;It’s an introduction chapter with very basic information about
PowerShell and the scripting environments.&lt;/p&gt;
&lt;h1&gt;Chapter 2: Unleashing Your Development Skills with PowerShell&lt;/h1&gt;
&lt;p&gt;From this chapter things start to get real and you’ll find script to do
some job like Create .NET Object, parse and query XML files, create
modules, etc..&lt;/p&gt;
&lt;h1&gt;Chapter 3: PowerShell for Your Daily Administration Tasks&lt;/h1&gt;
&lt;p&gt;Where things getting more excitement, in this chapter you will learn how
to use execute PowerShell &lt;em&gt;cmdlet&lt;/em&gt;s remotely on other machine, execute
your script as workflow, use PowerShell with SQL SERVER and IIS
(Internet Information Services), and last but not least manage local
users and groups with PowerShell.&lt;/p&gt;
&lt;h1&gt;Chapter 4: PowerShell and Web Technologies&lt;/h1&gt;
&lt;p&gt;In this chapter you’ll see that PowerShell can deal with Web Services
SOAP or REST …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 30 Apr 2014 10:53:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-04-30:/book-review-windows-powershell-4-0-for-net-developers.html</guid><category>book</category><category>bookreview</category><category>dotNet</category><category>powershell</category></item><item><title>.NET Developer Comfort Zone</title><link>http://www.emadmokhtar.com/net-developer-comfort-zone.html</link><description>&lt;p&gt;&lt;img alt="red-pill-or-blue-pill" src="http://www.emadmokhtar.com/images/red-pill-or-blue-pill.jpg"&gt;&lt;/p&gt;
&lt;p&gt;I’m a .NET developer and to be specific I’m a web developer who use .NET framework and .NET stack to create web application (Web App), and nowadays I’m learning ASP.NET MVC to move from WebForms world to MVC world, but in future I’m planning to get out of my comfort zone again and get out of .NET world and try the open source software (OSS) world, I’ve attended many sessions for &lt;a href="http://gdgkuwait.com/"&gt;GDG Kuwait&lt;/a&gt; which is Google Developers Group located in Kuwait and the only developer group in here with .NET/C# experience and it’s full of enthusiasm developers.&lt;/p&gt;
&lt;p&gt;When I will take this leap/paradigm shift I will take it for real, let me explain what I mean by that. What I’m planning is learning &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;, maybe you want to learn &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt; or &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; but when you will, please don’t try to stick to Microsoft world, don’t be afraid to get out of your comfort zone, please don’t use &lt;a href="https://nodejstools.codeplex.com/"&gt;Node.js tools for Visual Studio&lt;/a&gt;, or &lt;a href="https://pytools.codeplex.com/"&gt;Python tools for Visual Studio&lt;/a&gt;, or &lt;a href="http://www.sapphiresteel.com/Products/sapphire-ide/article/ruby-in-steel-developer-overview"&gt;Ruby In Steel Developer&lt;/a&gt; these Frameworks works great with Linux operating systems so learn …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">admin</dc:creator><pubDate>Mon, 17 Mar 2014 14:46:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-03-17:/net-developer-comfort-zone.html</guid><category>developer</category><category>development</category><category>dotNet</category></item><item><title>When Old Technology/Framework Dies?</title><link>http://www.emadmokhtar.com/when-old-technologyframework-dies.html</link><description>&lt;p&gt;&lt;img alt="darthvader-design" src="http://www.emadmokhtar.com/images/darthvader-design.jpg"&gt;&lt;/p&gt;
&lt;p&gt;I was wondering when old framework dies? it’s matter of time or matter of usage? let’s talk first about what are things make me wonder?&lt;/p&gt;
&lt;h2&gt;Sage CRM&lt;/h2&gt;
&lt;p&gt;Last week I’ve got my hand dirty with Sage CRM and I was completely shocked when I found it’s built using &lt;a href="http://en.wikipedia.org/wiki/Active_Server_Pages"&gt;Classic ASP&lt;/a&gt;. I had WTF moment and asked myself Is this thing still alive? WOW it’s 13 years old Why Sage? Why this very old technology? What I’m always heard about Classic ASP is crap and thank god for modern web frameworks. Is it expensive to upgrade the technology used in your application so that Sage is released 7 versions of it’s CRM built using Classic ASP? When Sage will invest to start use new framework like ASP.NET MVC or even go to another part of the world &lt;em&gt;(world of open-source frameworks)&lt;/em&gt; and use something like &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; or &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;?&lt;/p&gt;
&lt;h2&gt;Microsoft SharePoint&lt;/h2&gt;
&lt;p&gt;The Microsoft golden boy is build using ASP.NET WebForms, yes I know ASP.NET framework isn’t old framework  but still Microsoft released &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=5388"&gt;ASP.NET MVC v1.0 in 13 March 2009&lt;/a&gt; so it’s near 6 years old, and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 11 Feb 2014 17:07:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2014-02-11:/when-old-technologyframework-dies.html</guid></item><item><title>Microsoft Windows Phone Just DO It.</title><link>http://www.emadmokhtar.com/microsoft-windows-phone-just-do-it.html</link><description>&lt;p&gt;In the beginning of 2013 my HTC Desire HD screen broke and I had to buy new phone, I did my investigation and found Nokia Lumia 920 is the best one for me, I bought it with the risk of Microsoft Windows Phone is not mature enough and it has apps less than Android and iOS. I tool the same risk when I bought HTC Desire HD, Android wasn’t mature enough and has apps less than iOS, but Google was super fast to develop its mobile OS and take big leap in mobile market and attract developers to its platform.&lt;/p&gt;
&lt;p&gt;Microsoft Windows Phone has many missing features and these features include simple basic feature “I’ll mention them later” but if Microsoft Windows Phone didn’t accelerate its development and listen to its customer, it’ll lose them and it’ll lose the tiny market share it has. Many apps are missing in Microsoft Windows Phone and I don’t know why companies aren’t developing their apps for Microsoft Windows Phone, for example instagram they didn’t develop its app but “ONE” developer developed an app called &lt;a href="http://www.windowsphone.com/en-us/store/app/6tag/7d795cdf-fb1b-4bdf-8f5e-76eb19f7079e"&gt;6tag&lt;/a&gt; which is better than instagram app on Android and iOS …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 11 Nov 2013 16:28:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-11-11:/microsoft-windows-phone-just-do-it.html</guid><category>Lumia</category><category>Lumia920</category><category>Nokia</category><category>WindowsPhone</category><category>WP8</category></item><item><title>No More Horizontal Scroll Bar in Visual Studio 2012</title><link>http://www.emadmokhtar.com/no-more-horizontal-scroll-bar-in-visual-studio-2012.html</link><description>&lt;p&gt;Every time I’m working on ASP.NET WebForms and open .ASPX file I found an ugly Horizontal scroll bar, and the worst case when you’re searching for attribute for big control like GridView and you want to change it, it’s like a hell, I hate doing this and sadly as developer I’m doing it frequently.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Code Lines Without Wrap" src="http://www.emadmokhtar.com/images/0311201340607PM.png"&gt;&lt;/p&gt;
&lt;p&gt;After investigations and googling, I found the solution is to have all the text in front of me and let Visual Studio to wrap it for me. You can do this In Visual Studio 2012 go to Tools –&amp;gt; Options –&amp;gt; Text Editor –&amp;gt; All Languages –&amp;gt; Check Word wrap.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Word wrap Settings" src="http://www.emadmokhtar.com/images/SNAGIT.png"&gt;&lt;/p&gt;
&lt;p&gt;After choosing this option Visual Studio 2012 will word warp the lines
according to your screen but (yes but) Microsoft missing a feature which
is respect the line Indentation. If you choose this option line after
wrap will start from the left.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Wrapped Lines Without Indentation" src="http://www.emadmokhtar.com/images/0311201340025PM.png"&gt;&lt;/p&gt;
&lt;p&gt;To solve this there is a small extension you can us called &lt;a href="http://visualstudiogallery.msdn.microsoft.com/a5b5001e-fe7a-4c08-9cf5-96ae5892088a"&gt;WordWrapIndentation&lt;/a&gt; download it and it’ll be activated once you activate Word wrap option.&lt;/p&gt;
&lt;p&gt;&lt;img alt="WordWrapIndentation Lines" src="http://www.emadmokhtar.com/images/0311201340324PM.png"&gt;&lt;/p&gt;
&lt;p&gt;That’s all folks.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 03 Nov 2013 16:16:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-11-03:/no-more-horizontal-scroll-bar-in-visual-studio-2012.html</guid><category>VisualStudio</category><category>VS2012</category></item><item><title>The fast way to change font to Bold in Visual Studio</title><link>http://www.emadmokhtar.com/the-fast-way-to-change-font-to-bold-in-visual-studio.html</link><description>&lt;p&gt;Did you even download Visual Studio color schemes from &lt;a href="http://studiostyl.es/"&gt;studiostyl.es&lt;/a&gt; and you want to change its style to &lt;strong&gt;Bold&lt;/strong&gt;? I’ve did this hundred of times and
it’s boring to do it manually by going throw even Display Item and set its style to &lt;strong&gt;Bold&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Visual Studio Font Settings" src="http://www.emadmokhtar.com/images/SNAG0017.png"&gt;&lt;/p&gt;
&lt;p&gt;I found a way to do this rapidly in less than a minute. The idea comes when I opened the Visual Studio Settings file in notepad and found it’s XML file with all Visual Studio settings and there is a part for font settings with &lt;code&gt;BoldFont="Yes"&lt;/code&gt; attribute for each item.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Settings file in notepad" src="http://www.emadmokhtar.com/images/SNAG0018.png"&gt;&lt;/p&gt;
&lt;h1&gt;Let’s see How to do it:&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Open Visual Studio Setting file &lt;code&gt;.vssettings&lt;/code&gt; with Notepad.&lt;/li&gt;
&lt;li&gt;Press on &lt;code&gt;Ctrl + H&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;BoldFont="No"&lt;/code&gt; to &lt;code&gt;BoldFont=”Yes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save file.&lt;/li&gt;
&lt;li&gt;Import Settings to Visual Studio.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note: if you want to set style for your existing settings please export your settings first and apply the steps mentioned above.&lt;/p&gt;
&lt;p&gt;*I’m using &lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;Notepad2&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">admin</dc:creator><pubDate>Tue, 08 Oct 2013 13:24:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-10-08:/the-fast-way-to-change-font-to-bold-in-visual-studio.html</guid><category>VisualStudio</category><category>VS2010</category><category>VS2012</category></item><item><title>To Google Or Not To Google?</title><link>http://www.emadmokhtar.com/to-google-or-not-to-google.html</link><description>&lt;p&gt;&lt;img alt="image" src="http://www.emadmokhtar.com/images/image.png"&gt;&lt;/p&gt;
&lt;p&gt;To Google or not to Google? this is not even a question, &lt;a href="http://www.hanselman.com/about/"&gt;Scott
Hanselman&lt;/a&gt; wrote an article about
&lt;a href="http://www.hanselman.com/blog/AmIReallyADeveloperOrJustAGoodGoogler.aspx"&gt;Googler Developers or search engine
developer&lt;/a&gt;
I found it very interesting because he’s talking about developers whom
using Google to search for a solution and copy and paste it. Irony some
developers aren’t able to Google the solution as well, I always believe
that understand what is the problem is its half solution.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The formulation of the problem is often more essential than its
solution, which may be merely a matter of mathematical or experimental
skill.”&lt;/p&gt;
&lt;p&gt;― Albert Einstein&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then understand what is the problem is a skill that some developers
missing it, even &lt;a href="http://ayende.com/blog/162849/stories-from-the-interview-room"&gt;Oren
Eini&lt;/a&gt;
wrote about some developers in interview have full internet access and
can’t even solve their problems.&lt;/p&gt;
&lt;h2&gt;AM I Googler Developer or not?&lt;/h2&gt;
&lt;p&gt;Sure I am, I Google about the solution online, actually most if not all
of my technical resources are online &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;,
&lt;a href="http://www.stackoverflow.com"&gt;Stack Overflow&lt;/a&gt;,
&lt;a href="http://www.GitHub.com"&gt;GitHub&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/"&gt;MSDN&lt;/a&gt;,
online documentations, &lt;a href="http://www.emadmokhtar.com/"&gt;my blog&lt;/a&gt;, other
developers blogs, etc.., but what I’m doing is not just search for a
code to copy and paste it in order get things done, absolutely not I’m
search for a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 27 Aug 2013 13:56:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-08-27:/to-google-or-not-to-google.html</guid><category>developer</category><category>development</category><category>programmer</category><category>programming</category></item><item><title>Add Image Zoom to ASP.NET WebForm GridView</title><link>http://www.emadmokhtar.com/add-image-zoom-to-aspnet-webform-gridview.html</link><description>&lt;p&gt;The main reason I’m writing this article is to let you know there is
always some way better and simpler to don something, one day I want to
add image zoom feature to ASP.NET WebForms GridView that shows list of
products with thumbnail, and instead of user click on row to get the
product information and see a full picture of the product, I want user
to just when hovering on the image a big preview of it appears, I found
this jQuery plug-in called
&lt;a href="http://www.elevateweb.co.uk/image-zoom"&gt;elevateZoom&lt;/a&gt; I love it because
it’s simple, have a lot of feature, and easy to configure.&lt;/p&gt;
&lt;p&gt;Now the change is how to add this plug-in to every single image in every
row in GridView, I googled but unfortunately I found many of complex
solution and I thought these developers intend to make this complex, but
no this isn’t that complex, I denied all of them even they are working
and I’ll tell you what If done in the end of this article, so let us how
to get this done.&lt;/p&gt;
&lt;p&gt;First &lt;a href="http://www.elevateweb.co.uk/image-zoom/download"&gt;download&lt;/a&gt; the
plug-in, reference jQuery to your ASP.NET application, second add the
GridView control to your form and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 27 May 2013 16:31:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-05-27:/add-image-zoom-to-aspnet-webform-gridview.html</guid><category>aspnet</category><category>gridview</category></item><item><title>How do I learn?</title><link>http://www.emadmokhtar.com/how-do-i-learn.html</link><description>&lt;p&gt;&lt;img alt="abraham lincoln qoute" src="http://www.emadmokhtar.com/images/abrahamlincoln109275.jpg"&gt;&lt;/p&gt;
&lt;p&gt;I’ve got many questions from young developers who want to learn programming and be professionals, I thought of writing this article to give them a glance about how I learn software stuff. I want to tell you I’m still learning and I’ll always pursuit knowledge and being professional software craftsman, and you should consider the same, believe me if you stop learning, you’ll become outdated in this field, and you’ll suck, I met developers with big fat years of experience but they are outdated since 5 years and they can’t go with new technologies anymore, ask any doctor or lawyer and he’ll tell you this craft is about leaning and learning and gaining knowledge.&lt;/p&gt;
&lt;p&gt;Learning development is separated into two parts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Dealing with human.&lt;/li&gt;
&lt;li&gt;Dealing with computer.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Dealing with human&lt;/h1&gt;
&lt;p&gt;Dealing with human like dealing with client, don’t tell me I just want to code dude, no sometime if not all of the time you have to deal with the clients, think of it as you have your own company you’re entrepreneur now, Do you want to write code only? or you want to create success product by gathering the right …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sat, 20 Apr 2013 17:34:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-04-20:/how-do-i-learn.html</guid><category>carftsmanship</category><category>coder</category><category>developer</category><category>learn</category><category>programmer</category></item><item><title>Storing password in plain text, you’re doing it wrong</title><link>http://www.emadmokhtar.com/storing-password-in-plain-text-youre-doing-it-wrong.html</link><description>&lt;p&gt;&lt;img alt="Hacking for password" src="http://www.emadmokhtar.com/images/114166encryption.jpg"&gt;&lt;/p&gt;
&lt;p&gt;If you’re software developer then there is big chance you’ll implement user login feature, and you must store the username and password in your system. Most of developers stored these precious information in database as plain text, yes we did include myself I was doing it wrong, and if you’re doing it please stop and read this article to know how to do it right and being awesome.&lt;/p&gt;
&lt;p&gt;Username, Password, or Pin codes these are precious information, and if hacker or even internal employee stole the database he can do whatever he wants with your users information. So How to keep these information safe? The answer is hashing it.&lt;/p&gt;
&lt;p&gt;Why I was not doing that? I was lazy and every time I googled/binged/searched about this, I found many complex How-To articles, but last week I finally found something simple and it’s the reason I’m writing this article.&lt;/p&gt;
&lt;h1&gt;What is hashing?&lt;/h1&gt;
&lt;p&gt;Hashing is encoding string "message” to hash value and you can’t reproduce the original string “message” from hash value, so it’s one way cryptographic algorithm, &lt;a href="http://stackoverflow.com/questions/326699/difference-between-hashing-a-password-and-encrypting-it"&gt;it’s different than encryption&lt;/a&gt; that it’s  two way cryptographic algorithm.&lt;/p&gt;
&lt;h1&gt;How to Hash password …&lt;/h1&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 06 Mar 2013 16:41:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2013-03-06:/storing-password-in-plain-text-youre-doing-it-wrong.html</guid><category>security</category><category>dotNet</category><category>Csharp</category></item><item><title>Add elegant style to ASP.NET WebForms GridView control</title><link>http://www.emadmokhtar.com/add-elegant-style-to-aspnet-webforms-gridview-control.html</link><description>&lt;p&gt;&lt;img alt="5628591299_8d5839c072" src="http://www.emadmokhtar.com/images/5628591299_8d5839c072.jpg"&gt;&lt;/p&gt;
&lt;p&gt;We are developers whom use the left side of our brains that why we suck in
designing; we’ll use the already exist styles while developing ASP.NET
web application, that what we’ll do if we don’t have a designer in our
team, but thanks for the CSS framework over the internet which make our
like more easier.&lt;/p&gt;
&lt;p&gt;Nowadays I’m playing with &lt;a href="http://twitter.github.com/bootstrap/"&gt;Twitter Bootstrap&lt;/a&gt; CSS framework and I find myself create very neat and awesome looking ASP.NET applications by just using the already defined CSS classes in the framework, it’s so easy and the documentation is easy to understand and readable, you can find the documentation right
&lt;a href="http://twitter.github.com/bootstrap/base-css.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So let’s get into the business, the most commonly used ASP.NET Control
&lt;strong&gt;GridView&lt;/strong&gt; is very ugly if you don’t apply a style to it, it’ll look
like an awful HTML table with bunch of rows and columns, sure you can
use the ready made styles “Auto Format” created by Microsoft team, but
also you can apply much better style to it, let’s find
how.&lt;img alt="SNAG-0089" src="http://www.emadmokhtar.com/images/SNAG-0089.png"&gt;&lt;/p&gt;
&lt;p&gt;I’ll show you how to apply 2 styles to GridView:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Twitter Bootstrap.&lt;/li&gt;
&lt;li&gt;ASP.NET Dynamic Data.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Twitter …&lt;/h3&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 11 Jul 2012 11:45:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-07-11:/add-elegant-style-to-aspnet-webforms-gridview-control.html</guid><category>aspnet</category><category>gridview</category></item><item><title>ASP.NET Expressions</title><link>http://www.emadmokhtar.com/aspnet-expressions.html</link><description>&lt;p&gt;ASP.NET Expression is written inline surrounded with &amp;lt;% %&amp;gt; in other words you will write them with your markup in .ASPX files for specific task, for example if want to access a connection string there an expression for that&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="ss"&gt;ConnectionStrings&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;DefaultConnection&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="x"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Let’s lists all ASP.NET Expression and it’s task:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Directive Expression&lt;/strong&gt; &amp;lt;%@ .. %&amp;gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It’s used in Web Forms .ASPX files or User Control .ASCX files
    to set settings, for example the Page directive where you can
    declare Title, Master Page, Language, etc.
    &lt;code&gt;aspx
    &amp;lt;%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master"
    AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ASPNETExpressions._Default" %&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data-Binding Expression&lt;/strong&gt; &amp;lt;%# .. %&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create binding between server control with data source when calling DataBind() method, most of the time you’ll see this expression inside Data Bound Controls like GridView and DetailView.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;aspx
&amp;lt;asp:TextBox runat="server" ID="txtFirstName"  Text="&amp;lt;%# Eval("FirstName") %&amp;gt;"/&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Expression Builder&lt;/strong&gt; &amp;lt;%\$ .. %&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This expression is used to set controls properties that located in configuration files &lt;code&gt;Web.Config&lt;/code&gt; such as &lt;code&gt;AppSettings&lt;/code&gt;, &lt;code&gt;ConnectionStrings&lt;/code&gt;, or &lt;code&gt;Resources&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Its syntax is &lt;code&gt;&amp;lt;$ Expression Prefix: Expression Value %&amp;gt;&lt;/code&gt;
    &lt;code&gt;aspx
    &amp;lt;%$ ConnectionStrings:DefaultConnection %&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Server-side Comment Expression&lt;/strong&gt; &amp;lt;%-- .. --%&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It’s to comment a block of code so that it’ll not rendered or executed inside the page.
    &lt;code&gt;aspx
    &amp;lt;%— This …&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 10 May 2012 10:18:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-05-10:/aspnet-expressions.html</guid><category>aspnet</category><category>webforms</category></item><item><title>ASP.NET Page Lifecycle in Plain English</title><link>http://www.emadmokhtar.com/aspnet-page-lifecycle-in-plain-english.html</link><description>&lt;p&gt;&lt;img alt="asp.net" src="http://www.emadmokhtar.com/wp-content/uploads/2012/05/asp.net_.jpg"&gt;&lt;/p&gt;
&lt;p&gt;ASP.NET Page Lifecycle is very important piece of knowledge every ASP.NET developer must know, and unfortunately some of ASP.NET developer out there don’t know and they think it’s not important to know.&lt;/p&gt;
&lt;p&gt;Let’s dig in and let’s examine ASP.NET Lifecycle but in short list and description:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;PreInit():&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In this event all Controls created and Initialized with their default values. You can create dynamic Controls here. You can set theme programmatically here&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OnInit():&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In this event you can read the Controls properties the were set in Design Mode and can not read values changed by user.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LoadViewState():&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This event fires only if the page is posted back &lt;code&gt;IsPostback == true&lt;/code&gt; and here View State data where are stored in hidden form fields get de-serialized and loads all controls View State data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LoadPostBackData():&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This event only fires when Page is posted back and Controls which implement &lt;code&gt;IPostBackDataHandler&lt;/code&gt; interface get loaded with values from &lt;code&gt;HTTP POST&lt;/code&gt; data.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Page_Load():&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This event is well known among ASP.NET developers and here Page gets loaded and after it all &lt;code&gt;Load()&lt;/code&gt; events of Page Controls fired.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Control Event Handlers:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These are basically event handlers like Button click event handler &lt;code&gt;Button_Click …&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 03 May 2012 10:38:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-05-03:/aspnet-page-lifecycle-in-plain-english.html</guid><category>aspnet</category></item><item><title>Technology U-Turn</title><link>http://www.emadmokhtar.com/technology-u-turn.html</link><description>&lt;p&gt;&lt;img alt="U-Turn" src="http://www.emadmokhtar.com/images/U-Turn.png"&gt;&lt;/p&gt;
&lt;p&gt;Technology U-Turn is a terminology I invented that means when a technology leave the direction and take a new one then get back to the old one, actually I invented this term when I realized till now there are two technologies did this, I don’t know if there are more or not but nowadays these two technologies are in the top of tech news.&lt;/p&gt;
&lt;h1&gt;ASP.NET:&lt;/h1&gt;
&lt;p&gt;In the past web developers were using &lt;a href="http://en.wikipedia.org/wiki/Active_Server_Pages"&gt;ClassicASP&lt;/a&gt; till Microsoft released &lt;a href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt; to help Windows Forms developers to develop Web Application with the same look and feel, then create the code behind approach where you will write the server-side code instead on inline script like in &lt;a href="http://en.wikipedia.org/wiki/Active_Server_Pages"&gt;Classic ASP&lt;/a&gt;, but &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt; still using the same approach by using inline scripting. Microsoft make the U-Turn and back to inline scripting in ASP.NET MVC especially in &lt;a href="http://en.wikipedia.org/wiki/Microsoft_ASP.NET_Razor_view_engine"&gt;Razor view engine&lt;/a&gt;. in &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt; you have the full control over HTML like in &lt;a href="http://www.asp.net/mvc"&gt;ASP.NET MVC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt; stuck with the same direction of inline scripting and keep enhance its technology, but Microsoft change the direction to ASP.NET and guess what back again after enhance the inline scripting from ASPX view engine then &lt;a href="http://en.wikipedia.org/wiki/Microsoft_ASP.NET_Razor_view_engine"&gt;Razor view engine&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;NoSQL …&lt;/h1&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 26 Apr 2012 13:57:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-04-26:/technology-u-turn.html</guid><category>aspnet</category><category>aspnetmvc</category><category>nosql</category><category>technology</category></item><item><title>The good, the bad, and the ugly developers</title><link>http://www.emadmokhtar.com/the-good-the-bad-and-the-ugly-developers.html</link><description>&lt;p&gt;&lt;img alt="Intresting tweet" src="http://www.emadmokhtar.com/images/Intresting-tweet.png"&gt;&lt;/p&gt;
&lt;p&gt;I saw very interesting tweet from &lt;a href="https://twitter.com/#%21/gblock"&gt;&lt;strong&gt;Glenn
Block&lt;/strong&gt;&lt;/a&gt; &lt;a href="https://twitter.com/#!/gblock"&gt;@gblock&lt;/a&gt;
and this remind me with something I read in &lt;a href="http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073"&gt;The Clean
Coder&lt;/a&gt;
book from Uncle Bob Martin, which talks about professional developer and
what to do to be a professional. Uncle Bob describe the professional
developer takes the responsibility of his mistakes, it’s true because if
he take this responsibility, he’ll learn from his mistakes and learn how
he made it in first place, so he can avoid it next time, even if he make
this mistake again he knows how to solve it quick and clean.&lt;/p&gt;
&lt;p&gt;Personally I learn like this and it’s teach you the lesson very well.&lt;/p&gt;
&lt;p&gt;Dear readers please give me your feedback/opinion about this subject.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 15 Mar 2012 23:11:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-03-15:/the-good-the-bad-and-the-ugly-developers.html</guid><category>coder</category><category>developer</category></item><item><title>Communication with your customer</title><link>http://www.emadmokhtar.com/communication-with-your-customer.html</link><description>&lt;p&gt;&lt;img alt="people sleeping on the floor at airport" src="http://www.emadmokhtar.com/images/pict0554.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Today I was having a flight from Egypt, Cairo International Airport to
Kuwait International Airport and when the airplane was almost reach
Kuwait the pilot keep flying in circles and never enter the Kuwaiti
boards and fly to the Arabian Gulf for 15 minutes we are wondering Why
is he flying in all direction but not the one to Kuwait?&lt;/p&gt;
&lt;p&gt;This situation give me a sight for How your customer will feel when you
haven’t or stop giving him/her information about the software. s/he’ll
keep wondering what is he doing to my product? Is it done? Is it won’t
be done?  and sometimes his/her mind will go to the opposite direction
of what you are doing.&lt;/p&gt;
&lt;p&gt;Finally we found that there is a sandstorm at Kuwait International
Airport and the visibility is zero and we can’t land, so we changed our
direction to Dubai Airport to land there and what for the sandstorm to
stop so we can get back. None of us thing in this.&lt;/p&gt;
&lt;p&gt;The part above I wrote while I’m sitting on floor beside the power
socket to charge my laptop s I can write these thoughts and here …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sat, 10 Mar 2012 23:34:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-03-10:/communication-with-your-customer.html</guid><category>development</category><category>software</category></item><item><title>Using Notification in ASP.NET WebForms</title><link>http://www.emadmokhtar.com/using-notification-in-aspnet-webforms.html</link><description>&lt;p&gt;I always asked myself, how can I show a neat notification and call it
from Page code behind? I want to call this notification after doing
something in code behind, for example notify user that “Record Inserted
Successfully” and this notification looks like the one on
&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; and
&lt;a href="http://stackoverflow.com/"&gt;Stackoverflow&lt;/a&gt;. I found jQuery plug-in
called &lt;a href="http://www.givainc.com/labs/jnotify_jquery_plugin.htm"&gt;jNotify&lt;/a&gt;
has what I want from the notification, and ASP.NET has the Method
“&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx"&gt;ClientScriptManager.RegisterStartupScript
Method&lt;/a&gt;&lt;/strong&gt;” to add
Script to page on runtime, so why not combine 2 together and create a
helper method  plus make it extension method for
&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.page.aspx"&gt;Page&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Helper Method:&lt;/h4&gt;
&lt;p&gt;This is the most important part, here where the 2 part I mentioned
above.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;using System.Web.UI;

namespace jQueryNotification.Helper
{
    public static class NotificationHelper
    {
        /// &lt;span class="nt"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
        /// Shows the successful notification.
        /// &lt;span class="nt"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
        /// &lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;page&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;The page.&lt;span class="nt"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;
        /// &lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;message&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;The message.&lt;span class="nt"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;
        public static void ShowSuccessfulNotification(this Page page, string message)
        {
            page.ClientScript.RegisterStartupScript(page.GetType(), &amp;quot;notificationScript&amp;quot;,
                                                    &amp;quot;&lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;  $(document).ready(function () { $.jnotify(&amp;#39;&amp;quot; +
                                                    message + &amp;quot;&amp;#39;); });&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&amp;quot;);
        }
    }
}
&lt;/pre&gt;&lt;/div&gt;


&lt;h4&gt;jNotify Script and Style:&lt;/h4&gt;
&lt;p&gt;In order to use the helper method you need to add jQuery script and
jNotify script and style&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Styles/jquery.jnotify.css&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 02 Feb 2012 15:37:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-02-02:/using-notification-in-aspnet-webforms.html</guid><category>aspnet</category><category>jnotify</category><category>jquery</category></item><item><title>Add AJAX effect to ASP.NET Webforms postbacks</title><link>http://www.emadmokhtar.com/add-ajax-effect-to-aspnet-webforms-postbacks.html</link><description>&lt;p&gt;If you want to add AJAX effect to ASP.NET webforms  full postbacks, add
this meta tags to your page, or even better add it the your master page.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;blendTrans(Duration=0.2)&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Page-Enter&amp;quot;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;/meta&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;blendTrans(Duration=0.2)&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Page-Exit&amp;quot;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;/meta&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;This effect will remove the blinking  effect from ASP.NET pages, and
they call it &lt;a href="http://secretgeek.net/fajax.asp"&gt;fajax&lt;/a&gt; aka the fake
alternative to AJAX&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 01 Jan 2012 15:28:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2012-01-01:/add-ajax-effect-to-aspnet-webforms-postbacks.html</guid><category>ajax</category><category>asp.net</category><category>aspnet</category><category>postback</category><category>tips</category><category>tricks</category></item><item><title>Code Kata: Fizz Buzz Game</title><link>http://www.emadmokhtar.com/code-kata-fizz-buzz-game.html</link><description>&lt;p&gt;I stared to practice recently after reading more about how practicing is important for programmer to become professional and one way of practicing is  &lt;a href="http://www.emadmokhtar.com/coding-kata.html"&gt;Coding Kata&lt;/a&gt;. I found a lot of problem to implement to practice and perform coding kata.&lt;/p&gt;
&lt;p&gt;This post I'll talk about Fizz Buzz Game a.k.a. Bizz Buzz Game, it's numerical/math game, if the number is divisible by 3 replace it with fizz, or if number divisible by 5 replace it with buzz, or if number is divisible by 3 and 5 replace it with fizzbuzz. For example if we count from 1 to 20 it'll be like this: 1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizzbuzz, 16, 17, fizz, 19, buzz.&lt;/p&gt;
&lt;p&gt;So how to code this game:&lt;/p&gt;
&lt;p&gt;First I thought I can solve this game by:&lt;/p&gt;
&lt;p&gt;If (this number is divisible by 3 and not divisible by 5)  return fizz&lt;/p&gt;
&lt;p&gt;else if (this number is not divisible by 3 and divisible by 5)  return
buzz&lt;/p&gt;
&lt;p&gt;else if (this number is divisible by 3 and divisible by 5)  return
buzzfizz&lt;/p&gt;
&lt;p&gt;else if(this number is not divisible by 3 and not divisible by 5)  
return the number …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 20 Dec 2011 22:50:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-12-20:/code-kata-fizz-buzz-game.html</guid><category>code</category><category>coding</category><category>game</category><category>kata</category><category>programmer</category><category>programming</category></item><item><title>Coding Kata</title><link>http://www.emadmokhtar.com/coding-kata.html</link><description>&lt;p&gt;&lt;img alt="Practicing Guitar" src="http://www.emadmokhtar.com/images/Practicing_Guitar.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Recently I'm reading &lt;a href="http://twitter.com/#!/unclebobmartin"&gt;Uncle Bob&lt;/a&gt;'s
&lt;a href="http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073" title="Clean Coder"&gt;Clean Coder book&lt;/a&gt; and I read about how a professional programmer must always practice, like professional musicians, professional football player, and professional martial arts player. I'm learning  how to play electric guitar, you need to start slowly "slow will gain speed" start with something easy and way to go to professional level, and believe me if you stop practicing you lose your speed, but this doesn't mean professional guitarist stop learning new things and stop practicing. When I see a guitarist do something great I ask myself how, how he did it? the answer is simple he practice.&lt;/p&gt;
&lt;p&gt;Getting a job as programmer will not make you a professional one, doing your work in regular basis won't make you a professional programmer like walking everyday won't make you a professional athletic, you must challenge yourself, learning something new, or try to solve problem with your favorite programming language. Try do practice away from working time, and practice, practice, practice, practice, and practice.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073" title="Clean Coder"&gt;CleanCoder&lt;/a&gt;'s Chapter 6 talking about practicing and there's a part talking about coding kata, so What is Coding Kata?&lt;/p&gt;
&lt;p&gt;&lt;img alt="Kata" src="http://www.emadmokhtar.com/images/Empi_kata.jpg"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kata is a Japanese word describing detailed choreographed patterns of movements …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 06 Dec 2011 21:18:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-12-06:/coding-kata.html</guid><category>coding</category><category>professional</category><category>programmer</category><category>programming</category></item><item><title>Jump from dasBlog to Wordpress</title><link>http://www.emadmokhtar.com/jump-from-dasblog-to-wordpress.html</link><description>&lt;p&gt;&lt;img alt="Dasblog logo" src="http://www.emadmokhtar.com/images/DasBlog-Reflection-640x480-Green.jpg"&gt; &lt;strong&gt;VS.&lt;/strong&gt; &lt;img alt="Wordpress logo" src="http://www.emadmokhtar.com/images/wordpress-with-text.png"&gt;&lt;/p&gt;
&lt;p&gt;In my start into blogging I start to blog on &lt;a href="http://wordpress.com/"&gt;wordpress.com&lt;/a&gt; from hosting blog, I like it but after blogging many posts I found it has many limitations, so I decided to get self hosted blog engine, I searched for many blog engines and I inspired with&lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman's blog&lt;/a&gt; and downloaded &lt;a href="http://dasblog.codeplex.com/"&gt;dasBlog engine&lt;/a&gt;, hosted it locally, and start the journey of customizing and configuration, I wasn't as easy as it sounds, you must get your hand dirty with CSS, ASP.NET, JavaScript, and XML configuration files, but after 2 weeks I got it up and working. After a while I realized I want more fixable blog engine, start searching and found &lt;a href="http://wordpress.org/"&gt;Wordpress&lt;/a&gt; my old engine but the self hosted one is the most common blog used on the internet, even my buddy &lt;a href="http://twitter.com/#!/meligy" title="@Meligy"&gt;Mohammed Meligy&lt;/a&gt; once a while decided to use wordpress as &lt;a href="http://gurustop.net/"&gt;his blog&lt;/a&gt; engine. Decision has been made and it's time to buy PHP hosting instead of .NET one and install Wordpress; it took me 4\~5 days to complete this setup but if you subtract the 2 days I spent in searching for the suitable theme, the total is 2\~3 days to step my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 09 Nov 2011 17:18:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-11-09:/jump-from-dasblog-to-wordpress.html</guid></item><item><title>Speedup Visual Studio 2010</title><link>http://www.emadmokhtar.com/speedup-visual-studio-2010.html</link><description>&lt;p&gt;&lt;img alt="VisualStudio-WallPaper" src="http://www.emadmokhtar.com/images/VisualStudio-WallPaper-04_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Every time I finished installing Microsoft Visual Studio 2010 on my machines I Google “Speedup Visual Studio 2010”, so for time sake I’m gathering the effective links in one place as reference to me and to anyone out there.&lt;/p&gt;
&lt;h1&gt;Links&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/questions/4325630/ways-to-speedup-visual-studio-2010"&gt;Ways to speedup Visual Studio 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.certsandprogs.com/2009/10/speeding-up-start-up-of-visual-studio.html#axzz1PJsvSzZp"&gt;Speeding up the start up of Visual Studio 2010 Beta 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.stevienova.com/2009/01/05/how-to-speed-up-visual-studio-start-up/"&gt;How to Speed Up Visual Studio Start Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bentsai.wordpress.com/2009/06/12/tip-kill-tsvncache-exe-to-speed-up-visual-studio-startup-times/"&gt;Tip: Kill TSVNCache.exe to speed up Visual Studio startup times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.galador.net/codeblog/post/2008/09/10/Speed-up-Visual-Studio-startup.aspx"&gt;Speed up Visual Studio startup&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Notes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Some of those links have tips for Visual Studio 2008 but still work on Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Some of those links have tip to disable Resharper for myself I will never do this, I love Resharper and I cannot take the risk to disable it to speed up my Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;In link no. 2 it is says for Beta 2 but work with RTM and SP1, and please look at the comment I left there.&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 15 Jun 2011 15:18:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-06-15:/speedup-visual-studio-2010.html</guid></item><item><title>Free .NET Decompilers</title><link>http://www.emadmokhtar.com/free-net-decompilers.html</link><description>&lt;p&gt;After &lt;a href="http://www.red-gate.com/"&gt;Redgate&lt;/a&gt; &lt;a href="http://reflector.red-gate.com/download.aspx?TreatAsUpdate=1"&gt;announced the .NET Reflector is became a paid-for product&lt;/a&gt;, some companies took advantage of this announcement and start to build a free decompilers for developers, and developers start looking for alternatives for .NET Reflector they love it as a free product and few of them will pay for it (including me :)), so I &lt;a href="http://www.google.com/"&gt;google&lt;/a&gt;/&lt;a href="http://www.bing.com/"&gt;bing&lt;/a&gt;/&lt;a href="http://www.kngine.com"&gt;kngine&lt;/a&gt; around to gather the best free .NET decompilers; here is the list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.jetbrains.com/decompiler/"&gt;JetBrain dotPeek&lt;/a&gt;: is a new free-of-charge .NET decompile  from JetBrains, the makers of &lt;a href="http://www.jetbrains.com/resharper?dotpeek"&gt;ReSharper&lt;/a&gt; and more developer productivity tools.&lt;/p&gt;
&lt;p&gt;&lt;img alt="dotPeek" src="http://www.emadmokhtar.com/images/dotPeek.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://wiki.sharpdevelop.net/ILSpy.ashx"&gt;ILSpy&lt;/a&gt;: ILSpy is the open-source .NET assembly browser and decompiler.&lt;/p&gt;
&lt;p&gt;&lt;img alt="ILSpy" src="http://www.emadmokhtar.com/images/ILSpy-yield-return_3.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.telerik.com/products/decompiling.aspx"&gt;Telerik JustDecompile&lt;/a&gt;: is a new, free developer productivity tool designed to enable easy .NET assembly browsing and decompiling.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Telerik JustDecompile" src="http://www.emadmokhtar.com/images/justd.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 14 Jun 2011 15:20:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-06-14:/free-net-decompilers.html</guid></item><item><title>Enforce Join option in Crystal Reports</title><link>http://www.emadmokhtar.com/enforce-join-option-in-crystal-reports.html</link><description>&lt;p&gt;&lt;img alt="Link option" src="http://www.emadmokhtar.com/images/10_1.png"&gt;&lt;/p&gt;
&lt;p&gt;SAP Crystal Reports enables you to enforce the use of tables while you're specifying joins:&lt;/p&gt;
&lt;h1&gt;Not Enforced&lt;/h1&gt;
&lt;p&gt;When you select this option, the link you've created is used only if it's explicitly required by the Select statement. This is the default option. Your users can create reports based on the selected tables without restriction (that is, without enforcement based on other tables).&lt;/p&gt;
&lt;h1&gt;Enforced From&lt;/h1&gt;
&lt;p&gt;When you select this option, if the "to" table for the link is used, the link is enforced. For example, if you create a link from Table A to Table B using Enforce From and select only a field from Table B, the Select statement will still include the join to Table A because it is enforced. Conversely, selecting only from Table A with the same join condition will not cause the join to Table B to be enforced.&lt;/p&gt;
&lt;p&gt;Example: Employee.Store_id –&amp;gt; Store.id, CP will enforce the join if the report has at least one of Store’s fields.&lt;/p&gt;
&lt;h1&gt;Enforced To&lt;/h1&gt;
&lt;p&gt;When you select this option, if the "from" table for the link is used, the link is enforced. For example, if you create a link from Table A to Table B using Enforce To …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Wed, 08 Jun 2011 10:40:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-06-08:/enforce-join-option-in-crystal-reports.html</guid></item><item><title>Enable ASP.NET 32-bit application on 64-bit environment</title><link>http://www.emadmokhtar.com/enable-asp-net-32-bit-application-on-64-bit-environment.html</link><description>&lt;p&gt;If you’re deploying 32-bit ASP.NET application on 64-bit environment,
you can enable 32-bit in IIS, you have 2 ways to do it by:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set Application Pool Defaults.&lt;/li&gt;
&lt;li&gt;Change specific Application Pool Advanced Settings.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="IIS Manager" src="http://www.emadmokhtar.com/images/32bitasp_1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Here is the setting you need to change either in number 1 or 2:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Application Pool settings" src="http://www.emadmokhtar.com/images/32bitasp1.jpg"&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 11 Mar 2011 10:47:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-03-11:/enable-asp-net-32-bit-application-on-64-bit-environment.html</guid></item><item><title>Crystal Reports 13 JavaScript Error</title><link>http://www.emadmokhtar.com/crystal-reports-13-javascript-error.html</link><description>&lt;p&gt;&lt;img alt="JSerror" src="http://www.emadmokhtar.com/images/JSerror.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Today I’d faced JavaScript bug caused by SAP Crystal Report’s js file, I Google/Bing it for one hour till I found a solution, the problem is related to &lt;a href="http://msdn.microsoft.com/en-us/library/bb310952.aspx"&gt;this&lt;/a&gt; method being obsolete.&lt;/p&gt;
&lt;h1&gt;Solution&lt;/h1&gt;
&lt;p&gt;So here’s the solution I found it:&lt;/p&gt;
&lt;p&gt;First, locate &lt;code&gt;crv.js&lt;/code&gt; file in &lt;code&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETClientFiles\crystalreportviewers13\js\crviewer&lt;/code&gt; then search for this code block at the bottom of the file&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Sys&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;!==&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;undefined&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;Sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;notifyScriptLoaded&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;And replace it with this code block&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;!==&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;undefined&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;Sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;notifyScriptLoaded&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;After changed this code, everything works fine now and reports shows in ASP.NET pages.&lt;/p&gt;
&lt;h1&gt;Note&lt;/h1&gt;
&lt;p&gt;Take a backup from &lt;code&gt;crv.js&lt;/code&gt; file before editing.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 22 Feb 2011 10:31:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-02-22:/crystal-reports-13-javascript-error.html</guid><category>crystalreports</category></item><item><title>Disconnecting</title><link>http://www.emadmokhtar.com/disconnecting.html</link><description>&lt;p&gt;&lt;img alt="131893_10150366827825634_676490633_16737900_7347570_o" src="http://www.emadmokhtar.com/images/131893_10150366827825634_676490633_16737900_7347570_o_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;After listening to &lt;a href="http://thisdeveloperslife.com/"&gt;&lt;strong&gt;This Developer’s Life&lt;/strong&gt;&lt;/a&gt; podcast episode &lt;a href="http://thisdeveloperslife.com/post/1-1-0-disconnecting"&gt;&lt;strong&gt;1.1.0 Disconnecting&lt;/strong&gt;&lt;/a&gt; and what &lt;a href="http://www.hanselman.com/"&gt;&lt;strong&gt;Scott Hanselman&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://rob.conery.io/"&gt;&lt;strong&gt;Rob Conery&lt;/strong&gt;&lt;/a&gt; told us about what they felt when they tried to unplug/disconnect from their Technical world, I decided to try it by myself, so I had one extra day in this weekend with my family so I decided to take one day trip away from the crowded city &amp;amp; go to the far south of Kuwait where modern life seems far far away.&lt;/p&gt;
&lt;p&gt;I took this chance &amp;amp; tried to stay away from checking my Twitter &amp;amp; Facebook, what’s new in the .NET world &amp;amp; technology, what do twitter buddies tweet about, checking my emails, reading this or reading that, the urge to learn new things whether they’re technical things or things about life, wether we published the new episode of &lt;a href="www.egygeeks.net"&gt;&lt;strong&gt;EgyGeeks&lt;/strong&gt;&lt;/a&gt; or not, what’re the listeners’ feedbacks about the new episode &amp;amp; what’s happening in the world.&lt;/p&gt;
&lt;p&gt;So I started to focus on engaging with my family &amp;amp; specially with my beloved one, to sit &amp;amp; talk with them more than before, to have more conversations about our life &amp;amp; future together, it’s a very good feeling when they start to know …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 02 Jan 2011 17:10:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-01-02:/disconnecting.html</guid></item><item><title>EgyGeeks Podcast - Little Cloudy</title><link>http://www.emadmokhtar.com/egygeeks-podcast-little-cloudy.html</link><description>&lt;p&gt;We’d recorded the &lt;a href="http://egygeeks.podbean.com/2011/01/02/egygeeks-3-a-little-cloudy/"&gt;3rd episode&lt;/a&gt;
of &lt;a href="http://www.egygeeks.net/"&gt;EgyGeeks&lt;/a&gt; podcast, the podcast that speaks
Egyptian accent about technology, since Cloud Computing is the big buzz
word these days in IT world, so we decided to have at least one episode
about it &amp;amp; our thoughts about it, so Myself &amp;amp; &lt;a href="http://www.twitter.com/AmrEldib"&gt;Amr El
Dib&lt;/a&gt; recoded what I thought the first
episode about Cloud Computing because one episode about this subject
isn’t enough, so I hope to have more than one in future.&lt;/p&gt;
&lt;div&gt;

&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="210" height="25" id="mp3playerdarksmallv3" align="middle"&gt;
&lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;/param&gt;&lt;param name="movie" value="http://www.podbean.com/podcast-audio-video-blog-player/mp3playerdarksmallv3.swf?audioPath=http://egygeeks.podbean.com/mf/play/evjen/EgyGeeks_Podcast_003_2010_12_31_A_Little_Cloudy.mp3&amp;amp;autoStart=no"&gt;&lt;/param&gt;&lt;param name="quality" value="high"&gt;&lt;/param&gt;&lt;param name="bgcolor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;
&lt;embed src="http://www.podbean.com/podcast-audio-video-blog-player/mp3playerdarksmallv3.swf?audioPath=http://egygeeks.podbean.com/mf/play/evjen/EgyGeeks_Podcast_003_2010_12_31_A_Little_Cloudy.mp3&amp;amp;autoStart=no" quality="high" width="210" height="25" name="mp3playerdarksmallv3" align="middle" allowscriptaccess="sameDomain" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;
&lt;/embed&gt;
&lt;/embed&gt;
&lt;/object&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Happy listening &amp;amp; please give us your feedback, you can find us on:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Twitter:
&lt;/font&gt;&lt;a href="http://twitter.com/EgyGeeks"&gt;&lt;font size="2"&gt;@EgyGeeks&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;
, &lt;/font&gt;&lt;a href="http://twitter.com/EgyGeeks/egygeeks-team"&gt;&lt;font size="2"&gt;@EgyGeeks/Team-Memebers
list&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Facebook:
&lt;/font&gt;&lt;a href="http://www.facebook.com/pages/EgyGeeks/117311724947028" title="http://www.facebook.com/pages/EgyGeeks/117311724947028"&gt;&lt;font size="2"&gt;http://www.facebook.com/pages/EgyGeeks/117311724947028&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Blog:
&lt;/font&gt;&lt;a href="http://www.egygeeks.net/" title="http://www.egygeeks.net/"&gt;&lt;font size="2"&gt;http://www.egygeeks.net/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Podcast Blog:
&lt;/font&gt;&lt;a href="http://egygeeks.podbean.com/" title="http://egygeeks.podbean.com/"&gt;&lt;font size="2"&gt;http://egygeeks.podbean.com/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 02 Jan 2011 15:51:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-01-02:/egygeeks-podcast-little-cloudy.html</guid></item><item><title>Attending 1st Kuwait Technical Tuesday</title><link>http://www.emadmokhtar.com/attending-1st-kuwait-technical-tuesday.html</link><description>&lt;p&gt;&lt;img alt="Kuwait tech Tuesdays" src="http://www.emadmokhtar.com/wp-content/uploads/2011/11/164055_132597173466474_132261343500057_199061_3815867_n_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;On December 28th 2010 I attended the 1st Kuwait Technical Tuesday &amp;amp; the 1st community event I attend since I start living in Kuwait.&lt;/p&gt;
&lt;p&gt;The main theme for this event was “Cloud Computing” specially Microsoft
Windows Azure, it’s 2 sessions event:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What is &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Microsoft Windows
    Azure&lt;/a&gt;? by Ramon Smit&lt;/li&gt;
&lt;li&gt;What is &lt;a href="http://office365.microsoft.com/en-US/online-services.aspx"&gt;Microsoft Office
    365&lt;/a&gt;? by
    Faisal Al Khatib&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first session was nice but unfortunately there’s a missing hands-on during session, because the attendees including myself didn’t bring their notebooks &amp;amp; they did mention it on their FB event page, I hope next time we’ll have hands-on session for new technologies.&lt;/p&gt;
&lt;p&gt;The second session was good &amp;amp; to see online Office 365 project with &lt;a href="http://sharepoint.microsoft.com/en-us/Pages/default.aspx"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://lync.microsoft.com/en-us/launch/Pages/launch.aspx"&gt;Lync&lt;/a&gt;, &amp;amp; &lt;a href="http://www.microsoft.com/exchange/en-us/default.aspx"&gt;Exchange&lt;/a&gt;, &amp;amp; know how it’s how good to be on cloud &amp;amp; have one with your company or your own project.&lt;/p&gt;
&lt;p&gt;It was nice event &amp;amp; I want to thanks all for this event, I hope to see you guys again &amp;amp; again, &amp;amp; maybe have me as speaker in one of your sessions.&lt;/p&gt;
&lt;p&gt;Thanks guys again &amp;amp; Good luck&lt;/p&gt;
&lt;p&gt;For any information about their incoming events or if you have any question, please visit their &lt;a href="http://www.facebook.com/KuwaitTT"&gt;Facebook page&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 02 Jan 2011 15:29:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2011-01-02:/attending-1st-kuwait-technical-tuesday.html</guid></item><item><title>Free Bug Tracking Database</title><link>http://www.emadmokhtar.com/free-bug-tracking-database.html</link><description>&lt;p&gt;Today I was looking for free bug tracking database &amp;amp; found a lot some of them are open source, so I’ll share them with you geeks.&lt;/p&gt;
&lt;p&gt;1.&lt;a href="http://ifdefined.com/bugtrackernet.html"&gt;BugTracker.NET&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;o BugTracker.NET is a free, open-source, web-based bug tracker or
customer support issue tracker written using ASP.NET, C#, and
Microsoft SQL Server (or its free cousin, SQL Server Express). It is
in daily use by thousands of development and customer support teams
around the world.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2.
&lt;a href="http://www.bugnetproject.com/"&gt;BugNET&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;o BugNET is an issue tracking and project issue management solution
built using the ASP.NET web application framework. Email
notifications, reporting and per project configuration of fields and
values allows efficient management of bugs, feature requests, and
other issues for projects of any scale.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.vaxtech.com/bug-tracking.htm"&gt;Web Based Bug
Tracker&lt;/a&gt;  &lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;o Web Bug Tracking software allows you to track, manage bugs and
features so that you can organize your bugs, defects or issue during
all stages of software development. &lt;strong&gt;Bug Tracker&lt;/strong&gt; makes your project
development more efficient by tracking bugs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="www.vaxtech.com/win-bug-tracking.htm"&gt;Windows Based Bug Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;o This tool lets you know how many bugs are in process, how many are
resolved and how many are closed. It records bug report in database
and allows …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 31 Dec 2010 00:37:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-12-31:/free-bug-tracking-database.html</guid></item><item><title>EgyGeeks Podcast: Episode no.2 Joel Test</title><link>http://www.emadmokhtar.com/egygeeks-podcast-episode-no2-joel-test.html</link><description>&lt;p&gt;In this episode me, &lt;a href="http://twitter.com/AmrEldib"&gt;@AmrEldib&lt;/a&gt;, &amp;amp; &lt;a href="http://twitter.com/Meligy"&gt;@Mohamed Meligy&lt;/a&gt; talked about &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;The Joel Test: 12 Steps to Better Code&lt;/a&gt; posted on Joel Spolsky’s blog “Joel on software”. How’re we think about it, share some stories, &amp;amp; comments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here’s The Joel Test:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Do you use source control?&lt;/li&gt;
&lt;li&gt;Can you make a build in one step?&lt;/li&gt;
&lt;li&gt;Do you make daily builds?&lt;/li&gt;
&lt;li&gt;Do you have a bug database?&lt;/li&gt;
&lt;li&gt;Do you fix bugs before writing new code?&lt;/li&gt;
&lt;li&gt;Do you have an up-to-date schedule?&lt;/li&gt;
&lt;li&gt;Do you have a spec?&lt;/li&gt;
&lt;li&gt;Do programmers have quiet working conditions?&lt;/li&gt;
&lt;li&gt;Do you use the best tools money can buy?&lt;/li&gt;
&lt;li&gt;Do you have testers?&lt;/li&gt;
&lt;li&gt;Do new candidates write code during their interview?&lt;/li&gt;
&lt;li&gt;Do you do hallway usability testing?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;listen to the podcast:&lt;/p&gt;
&lt;div&gt;

&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="210" height="25" id="mp3playerlightsmallv3" align="middle"&gt;
&lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;/param&gt;&lt;param name="movie" value="http://www.podbean.com/podcast-audio-video-blog-player/mp3playerlightsmallv3.swf?audioPath=http://egygeeks.podbean.com/mf/play/hzfjeq/EgyGeeks_Podcast_002_2010_12_02_Joels_Test.mp3&amp;amp;autoStart=no"&gt;&lt;/param&gt;&lt;param name="quality" value="high"&gt;&lt;/param&gt;&lt;param name="bgcolor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;
&lt;embed src="http://www.podbean.com/podcast-audio-video-blog-player/mp3playerlightsmallv3.swf?audioPath=http://egygeeks.podbean.com/mf/play/hzfjeq/EgyGeeks_Podcast_002_2010_12_02_Joels_Test.mp3&amp;amp;autoStart=no" quality="high" width="210" height="25" name="mp3playerlightsmallv3" align="middle" allowscriptaccess="sameDomain" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;
&lt;/embed&gt;
&lt;/embed&gt;
&lt;/object&gt;

&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;Or download
&lt;/font&gt;&lt;a href="http://www.podbean.com/podcast-download?b=311118&amp;amp;f=http://egygeeks.podbean.com/mf/web/hzfjeq/EgyGeeks_Podcast_002_2010_12_02_Joels_Test.mp3"&gt;&lt;font size="2"&gt;MP3&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;br&gt;
Subscribe to this podcast via
&lt;/font&gt;&lt;a href="http://feeds.feedburner.com/EgyGeeksPodcast"&gt;&lt;font size="2"&gt;RSS&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;
(for Zune and other players).&lt;br&gt;
Subscribe to this podcast for
&lt;/font&gt;&lt;a href="itpc://egygeeks.podbean.com/feed"&gt;&lt;font size="2"&gt;iTunes&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;br&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Please give us your feed back, you thought can helps us a lot, you can find us on:&lt;/p&gt;
&lt;p&gt;Twitter: &lt;a href="http://twitter.com/EgyGeeks"&gt;@EgyGeeks&lt;/a&gt;, &lt;a href="http://twitter.com/EgyGeeks/egygeeks-team"&gt;@EgyGeeks/Team-Memebers list&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Facebook: &lt;a href="http://www.facebook.com/pages/EgyGeeks/117311724947028"&gt;#EgyGeeks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Blog: &lt;a href="http://www.egygeeks.net/"&gt;EgyGeek.net&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Podcast Blog: &lt;a href="http://egygeeks.podbean.com/"&gt;Podcast&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 03 Dec 2010 11:17:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-12-03:/egygeeks-podcast-episode-no2-joel-test.html</guid></item><item><title>Weekend Project: Torrent Download Server</title><link>http://www.emadmokhtar.com/weekend-project-torrent-download-server.html</link><description>&lt;p&gt;I’ve an old PC with Pentium 4 processor, so I want to use it instead of keep it off, so I’ve got an idea to make it Torrent Download Server.&lt;/p&gt;
&lt;h1&gt;What does I need to make it Torrent Download Server?&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;I need a way to connect to it without sitting front, I use Remote Desktop Connection.&lt;/li&gt;
&lt;li&gt;Torrent client, I use &lt;a href="http://www.utorrent.com/"&gt;uTorrent&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open port in your Router aka. &lt;a href="http://portforward.com/"&gt;Port forwarding&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The Torrent files you want to download, you can get them from many website, but I recommend &lt;a href="http://www.btjunkie.org"&gt;btjunkie&lt;/a&gt; &lt;a href="http://www.demonoid.com"&gt;demonoid&lt;/a&gt; &lt;a href="http://www.torrentz.com"&gt;torrentz&lt;/a&gt; &amp;amp; for series I suggest &lt;a href="http://eztv.it/"&gt;eztv&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="torrent server" src="http://www.emadmokhtar.com/images/torrent-server.jpg"&gt;&lt;/p&gt;
&lt;p&gt;The main usage of this TDS is downloading my favorite TV series automatically without checking it daily, once the torrent file published on the internet boom the server get it &amp;amp; start to download the new episode,&lt;/p&gt;
&lt;h3&gt;So tell me how I can do it? tell me now, hey you tell me how I can do it? OK OK, I’ll tell you the secret right now:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Grab the RSS torrent feed for your favorite series, for example let’s say The Big Bang Theory:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="http://www.ezrss.it/"&gt;ezrss&lt;/a&gt; search for &lt;a href="http://www.cbs.com/primetime/big_bang_theory/"&gt;The Big Bang Theory&lt;/a&gt; &amp;amp; make sure to test the search result to get the required …&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 19 Nov 2010 12:17:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-11-19:/weekend-project-torrent-download-server.html</guid></item><item><title>EgyGeeks Podcast: Episode no.1</title><link>http://www.emadmokhtar.com/egygeeks-podcast-episode-no1.html</link><description>&lt;p&gt;&lt;img alt="EgyGeeksLogo" src="http://www.emadmokhtar.com/images/EgyGeeksLogo_2.png"&gt;&lt;/p&gt;
&lt;p&gt;Last Saturday, &lt;a href="http://twitter.com/AmrEldib"&gt;@AmrEldib&lt;/a&gt;, &lt;a href="http://twitter.com/RamyMahrous"&gt;@RamyMahrous&lt;/a&gt;, &amp;amp; myself, recoded the first episode of @EgyGeeks podcast, the first Egyptian podcast, it was a fantastic experience that made my mind to become a podcaster, I enjoyed the recoding, specially with Amr &amp;amp; Ramy the funny geeks, &amp;amp; sure I miss the other @EgyGeeks (&lt;a href="http://twitter.com/Meligy"&gt;@Meligy&lt;/a&gt;, &lt;a href="http://twitter.com/Dohaelsayed"&gt;@DohaElSayed&lt;/a&gt;, &amp;amp; &lt;a href="http://twitter.com/MohamedG"&gt;@MohamedGamal&lt;/a&gt;), I wish they will be in the next episode.&lt;/p&gt;
&lt;p&gt;The first episode we talked about the new Windows Phone 7, &amp;amp; small comparison between Windows Phone 7, Android, &amp;amp; iOS4/iPhone, &amp;amp; How is working with the new platforms like Facebook, &amp;amp; Twitter.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.egygeeks.net/2010/11/egygeeks-podcast-1-pilot.html"&gt;Here’s the link for the podcast&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please give us your feed back, you thought can helps us a lot, you can find us on:&lt;/p&gt;
&lt;p&gt;Twitter: &lt;a href="http://twitter.com/EgyGeeks"&gt;@EgyGeeks&lt;/a&gt;, &lt;a href="http://twitter.com/EgyGeeks/egygeeks-team"&gt;@EgyGeeks/Team-Memebers list&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Facebook: &lt;a href="http://www.facebook.com/pages/EgyGeeks/117311724947028"&gt;#EgyGeeks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Blog: &lt;a href="http://www.egygeeks.net/"&gt;EgyGeek.net&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Podcast Blog: &lt;a href="http://egygeeks.podbean.com/"&gt;Podcast&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 16 Nov 2010 13:03:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-11-16:/egygeeks-podcast-episode-no1.html</guid></item><item><title>Being Geek and Solve Problems</title><link>http://www.emadmokhtar.com/being-geek-solve-problems.html</link><description>&lt;p&gt;&lt;img alt="Puzzles" src="http://www.emadmokhtar.com/images/Puzzles_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Sometimes in my life when I face a problem I do everything/mean to solve
it, because the feeling of solving problems is wonderful feeling
specially if you eager to solve problems and puzzles, like the feeling
that &lt;a href="http://en.wikipedia.org/wiki/Isaac_Newton"&gt;Isaac Newton&lt;/a&gt; had when
he got hit by fallen Apple and discover the notion of gravitation and
said “I find it I find it”.&lt;/p&gt;
&lt;p&gt;Or the feeling Tom Hanks/Chuck Noland in &lt;a href="http://www.imdb.com/title/tt0162222/"&gt;Cast Away
(2000)&lt;/a&gt; had when he made a fire by
using wood and said “I made a fire I made a fire”.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Cast_Away_8" src="http://www.emadmokhtar.com/images/Cast_Away_8_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;If I face a problem anytime I can’t do anything except totally focus on
solving it, usually I forget about anything around me and keep focusing
on solving it, I forget about sleep, food, drink, and even people, All
what I want to solve this little buggy problem.&lt;/p&gt;
&lt;p&gt;Now days in work, when I face a problem, I wish there’s more than 8
working hours, because I get a bad feeling when I need to leave the
office and go home, or they will close the work place and leave me there
alone.&lt;/p&gt;
&lt;p&gt;For me solving problem or puzzles is more fun and joyful than anything …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Thu, 07 Oct 2010 06:51:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-10-07:/being-geek-solve-problems.html</guid></item><item><title>Client-side Validation in ASP.NET webforms by using jQuery</title><link>http://www.emadmokhtar.com/client-side-validation-in-aspnet-webforms-by-using-jquery.html</link><description>&lt;p&gt;&lt;img alt="JQuery_logo_color_onwhite.png" src="http://www.emadmokhtar.com/images/JQuery_logo_color_onwhite.png"&gt;&lt;/p&gt;
&lt;p&gt;Hello folks, on July 9th 2010, I'd spoken on EgyGeeks online community
about Client-side Validation using jQuery in ASP.NET webforms, and I
thought I'll share the session as a blog post, so let's start&lt;/p&gt;
&lt;h3&gt;Why using Client-side validation?&lt;/h3&gt;
&lt;p&gt;Web developers love to use Client-side validation to increase their web
application user experience "UX", to make web application feels like the
desktop application, and to reduce the round-trip to web server to
validate the user inputs every time he/she submit a page.&lt;/p&gt;
&lt;h3&gt;Demo:&lt;/h3&gt;
&lt;p&gt;First of all I'm using one of the oldest and the first jQuery validation
plugin called validation, please take a look ot its documentation for
more info.
[&lt;a href="http://docs.jquery.com/Plugins/Validation" title="jQuery Validation Plugin Documentation"&gt;link&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;Let's create a simple ASP.NET page to apply some of validation rules on:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;First name:

Password:
Password Confirmation:

Email Address:
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Now let's write our jQuery code to apply some validation rules on this
ASP.NET form, but first make sure you create a link for jQuery .js file
and the plugin validation.js file into the aspx page or you can use the
Microsoft CDN version {hosted on Microsoft servers} "
&lt;a href="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js"&gt;http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js&lt;/a&gt;"
"&lt;a href="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js"&gt;http://ajax.microsoft.com/ajax/jquery.validate …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 20 Jul 2010 06:56:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-07-20:/client-side-validation-in-aspnet-webforms-by-using-jquery.html</guid></item><item><title>My Journey with Diet</title><link>http://www.emadmokhtar.com/my-journey-with-diet.html</link><description>&lt;p&gt;&lt;img alt="Healthy food" src="http://www.emadmokhtar.com/images/071210_1443_MyJourneywi1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;In November 2009 I decided to change my life from unhealthy to healthy lifestyle and lose weight to be healthy person, and this was a big and hard decision to make it's like paradigm shifting so that I should be careful with every step I take and analyze what to do next and how to it right.&lt;/p&gt;
&lt;h1&gt;My Journey steps:&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First step, I went to nutrition doctor rather than going to gym like most of Egyptian men do, which all they do is burn fat and left some weights but still eating junk food, which I think it's an awful thing to do, because you solve one part of the puzzle and left the other parts unsolved.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Second step start to love healthy food and walk for long durations and distances, but I did this step in baby steps style, which made it a habit rather than something to do to lose weight, for example I start to walk for small distance if there's no transportation to it, or if this distance will take 10 minutes to reach OK then walk rather than ride a transportation, and Thanks for my iPod, I love walking while listing to my favorite music …&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">admin</dc:creator><pubDate>Mon, 12 Jul 2010 14:43:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-07-12:/my-journey-with-diet.html</guid></item><item><title>Web Developer Poetry</title><link>http://www.emadmokhtar.com/web-developer-poetry.html</link><description>&lt;p&gt;Today when I was waiting for the band of Tanora Show to get started, I wrote this poetry for someone special.&lt;/p&gt;
&lt;p&gt;She SEO my life  &lt;/p&gt;
&lt;p&gt;She turns my 0'z to 1'z  &lt;/p&gt;
&lt;p&gt;She nudges my feelings  &lt;/p&gt;
&lt;p&gt;She is my RSS of my life  &lt;/p&gt;
&lt;p&gt;If you Google my heart you'll find her  &lt;/p&gt;
&lt;p&gt;She is a Hashtag of my soul  &lt;/p&gt;
&lt;p&gt;She is a Love entity in my HeartDB  &lt;/p&gt;
&lt;p&gt;She is system file of my memory  &lt;/p&gt;
&lt;p&gt;She is a Silverlight of my future  &lt;/p&gt;
&lt;p&gt;She autocomplete my thoughts  &lt;/p&gt;
&lt;p&gt;She ReadyBoost my motivation  &lt;/p&gt;
&lt;p&gt;And I Favorite/Bookmark here&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sat, 15 May 2010 20:43:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-05-15:/web-developer-poetry.html</guid></item><item><title>What is Pomodoro Technique?</title><link>http://www.emadmokhtar.com/what-is-pomodoro-technique.html</link><description>&lt;p&gt;Hello folks, in this post I'll explain technique I use it to get things done in my life like Reading, or development tasks; this technique called Pomodoro technique.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Pomodoro kitchen tool" src="http://www.emadmokhtar.com/images/051410_1252_WhatisPomod1.png"&gt;&lt;/p&gt;
&lt;h1&gt;What is Pomodoro Technique?&lt;/h1&gt;
&lt;p&gt;&lt;img alt="Pomodoro logo" src="http://www.emadmokhtar.com/images/051410_1252_WhatisPomod2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;It's a time management system; It's simple, and very productive.&lt;/p&gt;
&lt;p&gt;Pomodoro is tomato in some language "Google it and see", it's inspired by the kitchen timer that take a shape of Tomato, and the timing of the technique is based on the kitchen timer. And here's [link]((http://www.pomodorotechnique.com/) for more information&lt;/p&gt;
&lt;h1&gt;How to use/implement Pomodoro Technique?&lt;/h1&gt;
&lt;p&gt;It's very simple and easy to use, there's a number of apps implement it, even you can use a kitchen times unless you're in your company office :D.&lt;/p&gt;
&lt;p&gt;Let's start explain how to use it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allocate a certain task you want to get it done.&lt;/li&gt;
&lt;li&gt;Do it for 25 minutes.&lt;/li&gt;
&lt;li&gt;And take a 5 minutes break.&lt;/li&gt;
&lt;li&gt;Repeat step 2 &amp;amp; 3 4-times.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;And then take 30 minutes beak.&lt;/p&gt;
&lt;p&gt;And start from step 2 again, and if you finish the task start from
the beginning.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Pomodoro Workflow" src="http://www.emadmokhtar.com/images/051410_1252_WhatisPomod3.png"&gt;
Please don't panic like I said there's a lot of apps implement Pomodoro Technique, and that's make life more easily, I'll review one of the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 14 May 2010 12:53:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-05-14:/what-is-pomodoro-technique.html</guid></item><item><title>ASP.NET 4 webforms new feature: ClientIDMode</title><link>http://www.emadmokhtar.com/aspnet-4-webforms-new-feature-clientidmode.html</link><description>&lt;p&gt;Today we'll examine ClientIDMode the new feature of ASP.NET 4 which makes life easier on developers when writing client-side scripting/code like javascript or jQuery.&lt;/p&gt;
&lt;h1&gt;ClientIDMode control property:&lt;/h1&gt;
&lt;p&gt;You can assign ClientIDMode property for ASP.NET controls which is take 4 values&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AutoID&lt;/li&gt;
&lt;li&gt;Inherit&lt;/li&gt;
&lt;li&gt;Predictable&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Static&lt;/p&gt;
&lt;p&gt;&lt;img alt="ClientIDMode Autocomplete" src="http://www.emadmokhtar.com/wp-content/uploads/2011/11/050410_1817_ASPNET4webf1.jpg"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And I'll demonstrate what the different between those 4 values.&lt;/p&gt;
&lt;h1&gt;Demo:&lt;/h1&gt;
&lt;p&gt;We've simple ASP.NET 4 page with Master page, with one button on it, and We'll set the ClientIDMode for the button control and examine what's happen when ASP.NET render it to HTML.&lt;/p&gt;
&lt;h2&gt;AutoID:&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;asp:Button&lt;/span&gt; &lt;span class="na"&gt;ID=&lt;/span&gt;&lt;span class="s"&gt;”btnSubmit”&lt;/span&gt; &lt;span class="na"&gt;runat=&lt;/span&gt;&lt;span class="s"&gt;”server”&lt;/span&gt; &lt;span class="na"&gt;Text=&lt;/span&gt;&lt;span class="s"&gt;”Button”&lt;/span&gt; &lt;span class="na"&gt;ClientIDMode=&lt;/span&gt;&lt;span class="s"&gt;”AutoID”/&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h3&gt;The Rendered HTML:&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ctl00$ContentPlaceHolder1$btnSubmit&amp;quot;&lt;/span&gt;
 &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Button&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;”ctl00_ContentPlaceHolder1_btnSubmit”&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;It's rendered like what ASP.NET 3.5 do, so if you want to renter control's ID like ASP.NET 3.5 set ClientIDMode to AutoID.&lt;/p&gt;
&lt;h2&gt;Inherit:&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;asp:Button&lt;/span&gt; &lt;span class="na"&gt;ID=&lt;/span&gt;&lt;span class="s"&gt;”btnSubmit”&lt;/span&gt; &lt;span class="na"&gt;runat=&lt;/span&gt;&lt;span class="s"&gt;”server”&lt;/span&gt; &lt;span class="na"&gt;Text=&lt;/span&gt;&lt;span class="s"&gt;”Button”&lt;/span&gt; &lt;span class="na"&gt;ClientIDMode=&lt;/span&gt;&lt;span class="s"&gt;”Inherit”&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h3&gt;The Rendered HTML:&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ctl00$ContentPlaceHolder1$btnSubmit&amp;quot;&lt;/span&gt;
 &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Button&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;”btnSubmit”&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Actually it tells the control to defer to the naming behavior mode of the parent container control.&lt;/p&gt;
&lt;h2&gt;Predictable (default):&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;asp:Button&lt;/span&gt; &lt;span class="na"&gt;ID=&lt;/span&gt;&lt;span class="s"&gt;”btnSubmit”&lt;/span&gt; &lt;span class="na"&gt;runat=&lt;/span&gt;&lt;span class="s"&gt;”server”&lt;/span&gt; &lt;span class="na"&gt;Text=&lt;/span&gt;&lt;span class="s"&gt;”Button”&lt;/span&gt; &lt;span class="na"&gt;ClientIDMode=&lt;/span&gt;&lt;span class="s"&gt;”Predictable”&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h3&gt;The Rendered HTML …&lt;/h3&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Tue, 04 May 2010 18:17:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-05-04:/aspnet-4-webforms-new-feature-clientidmode.html</guid></item><item><title>Interesting paragraph in 7-Habits of Highly Effective People</title><link>http://www.emadmokhtar.com/interesting-paragraph-in-7-habits-of-highly-effective-people.html</link><description>&lt;p&gt;&lt;img alt="workaholics" src="http://www.emadmokhtar.com/images/050210_1612_Interesting1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Yesterday when I was reading 7 Habits of high Effective People, I read extremely interesting paragraph in habit no 2 "Begin with the end in mind" which talk about work-centered people&lt;/p&gt;
&lt;h1&gt;The paragraph:&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Work-centered people may become "workaholics" driving themselves to
produce at the sacrifice of health, relationships, and other important
areas of their live. Their fundamental identity comes from their
work-"I'm a doctor", "I'm a writer", "I'm an actor". Because their
identity and sense of self-worth are wrapped up in their work, their
security is vulnerable to anything that happens to prevent them from
continuing in it. Their wisdom and power come In the limited areas of
their work, rendering them ineffective in other areas of life.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;My opinion:&lt;/h1&gt;
&lt;p&gt;I think he's right most of us "Geeks" can be categorized in this kind of people. How many of us work at night? Who doesn't work in the weekend? Who doesn't spend most of his time with machine whatever PC, Mac, Notebook, Workstation, Server, etc.?&lt;/p&gt;
&lt;p&gt;In other hand if you look and examine the life of the most effective Geeks in our community, you'll see they spend more time with their family and friend who can be not a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Sun, 02 May 2010 16:13:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-05-02:/interesting-paragraph-in-7-habits-of-highly-effective-people.html</guid></item><item><title>EgyGeeksOnSkype</title><link>http://www.emadmokhtar.com/egygeeksonskype.html</link><description>&lt;p&gt;Hello Folks,&lt;/p&gt;
&lt;p&gt;&lt;img alt="Skype Slogan" src="http://www.emadmokhtar.com/images/features_bnr_skypeRequires.110142655.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Yesterday I enjoy the first &lt;strong&gt;EgyGeeksOnSkype&lt;/strong&gt; meeting with &lt;strong&gt;Ayman El
Hattab, Mohamed Meligy, Ramy Mahrous, Doha El Sayed, Nashwa, and Amr El
Dieb&lt;/strong&gt;.&lt;/p&gt;
&lt;h1&gt;How did it happen?&lt;/h1&gt;
&lt;p&gt;First, we were tweeting about where we'll spend our holiday on Twitter, and I felt dizzy because Twitter don't include threads and you try to trace the conversation, so I invited them to go to a chat room on TinyChat.com, and we try to chat with voice, technically it was bad experience, so I suggest to transfer this conversation to Skype, and we did.&lt;/p&gt;
&lt;p&gt;Then Mohamed Meligy "inspiring of sarajchipps idea" suggest we make this meeting weekly meeting and we called it EgyGeeksOnSkype.&lt;/p&gt;
&lt;h1&gt;What did happen on Skype?&lt;/h1&gt;
&lt;p&gt;We spend 3 hours on Skype, talking about technical and non-technical stuff, but it was awesome conversation I ever have, we all geeks and share common ideas.&lt;/p&gt;
&lt;h1&gt;Where, When, and How can I join you?&lt;/h1&gt;
&lt;h2&gt;How It's so simple&lt;/h2&gt;
&lt;p&gt;and super easy, First think you must have is Skype client and account,
you can grab the client form
&lt;a href="http://www.skype.com/intl/en/download/skype/windows/downloading/"&gt;here&lt;/a&gt;
and register after the installation.&lt;/p&gt;
&lt;h2&gt;When&lt;/h2&gt;
&lt;p&gt;Every Friday @ 11:59Pm (Cairo Time, GMT+2)&lt;/p&gt;
&lt;h2&gt;Where&lt;/h2&gt;
&lt;p&gt;please add &lt;strong&gt;mohamed.meligy, rmahrous, emad.mokhtar.habib …&lt;/strong&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Mon, 05 Apr 2010 12:51:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-04-05:/egygeeksonskype.html</guid></item><item><title>Microsoft SQL Server 2008 Data types</title><link>http://www.emadmokhtar.com/microsoft-sql-server-2008-data-types.html</link><description>&lt;p&gt;Hello Folks,&lt;/p&gt;
&lt;p&gt;&lt;img alt="SQL Server 2008 Logo" src="http://www.emadmokhtar.com/images/SQL_Server_2008_Grid_v_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Today I'll mention the Microsoft SQL Server 2008 Fields data types, you need to choose the right data type for the database fields for more speed efficiency, and I think the most important thing the fundamental of the database itself.&lt;/p&gt;
&lt;p&gt;Let's begin:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;char&lt;/strong&gt;: the char data type is fixed in length, if you enter fewer that than the number of character defined the remaining length will be space filled to the right; use this data type when the column data is to be of fixed length, which tends to be the case foe customer IDs and bank account IDs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nchar&lt;/strong&gt;: the nchar type is exactly like char, but will hold characters in Unicode format rather than ANSI; in fact SQL Server allocates double the space internally, so unless there is a need in your database to hold this type of character, it's easier to stick with ANSI.&lt;/p&gt;
&lt;p&gt;a. Note:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;i. ANSI character sets only hold up to 256 char.&lt;/p&gt;
&lt;p&gt;ii. Unicode character sets only hold up to 65,536 chr.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;varchar&lt;/strong&gt;: the varchar data type holds alphanumeric data; just like char but with flexible size, you just set the maximum number of characters, maximum size is 8,000 …&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 19 Mar 2010 23:01:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-03-19:/microsoft-sql-server-2008-data-types.html</guid><category>SQlServer</category><category>SQL</category></item><item><title>Intelligent DNA Identification System</title><link>http://www.emadmokhtar.com/intelligent-dna-identification-system.html</link><description>&lt;p&gt;Hello folks, I know the first thing pop-in your mind What is Intelligent &lt;a href="http://en.wikipedia.org/wiki/DNA"&gt;DNA&lt;/a&gt; Identification System aka IDIS?&lt;/p&gt;
&lt;p&gt;This's the name of my graduation project in 2009, it's just a &lt;a href="http://en.wikipedia.org/wiki/Bioinformatics"&gt;Bioinformatics&lt;/a&gt; system implemented with DNA as &lt;a href="http://en.wikipedia.org/wiki/Biometrics"&gt;biometric&lt;/a&gt; system, and used for identification.&lt;/p&gt;
&lt;p&gt;&lt;img alt="IDIS Logo" src="http://www.emadmokhtar.com/images/031210_2008_Intelligent1.jpg"&gt;&lt;/p&gt;
&lt;h1&gt;Why &lt;a href="http://en.wikipedia.org/wiki/DNA"&gt;DNA&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Biometrics"&gt;Biometrics&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Bioinformatics"&gt;Bioinformatics&lt;/a&gt;?&lt;/h1&gt;
&lt;p&gt;Because we choose our graduation project, we want to do something unique and hard to do.&lt;/p&gt;
&lt;h1&gt;You said it's a biometric system and used for identification, Are there another applications of &lt;a href="http://en.wikipedia.org/wiki/Biometrics"&gt;biometric&lt;/a&gt; systems?&lt;/h1&gt;
&lt;p&gt;Yep, there're three types of biometric applications:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Identification: When you want to search for unknown personal, to know any information about him.&lt;/li&gt;
&lt;li&gt;Verification: is to verify XYZ personal is really XYZ personal or not.&lt;/li&gt;
&lt;li&gt;Screening: searching for "XYZ" personal in a list like "Banned from traveling List".&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;What makes this field Unique and Hard?&lt;/h1&gt;
&lt;p&gt;The &lt;a href="http://en.wikipedia.org/wiki/Bioinformatics"&gt;Bioinformatics&lt;/a&gt; and  &lt;a href="http://en.wikipedia.org/wiki/Biometrics"&gt;Biometrics&lt;/a&gt; fields are rare in Egypt, and this was the challenge to make something new and not stable yet, the information for these fields are updating every year maybe less, and the information on the internet are rare and sometimes not free, but we manage to read some IEEE papers and the great book of O'Reilly BLAST.&lt;/p&gt;
&lt;p&gt;&lt;img alt="BLAST Book Cover" src="http://www.emadmokhtar.com/images/031210_2008_Intelligent2.jpg"&gt;&lt;/p&gt;
&lt;h1&gt;What is BLAST?&lt;/h1&gt;
&lt;p&gt;B.L.A …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">EmadMokhtar</dc:creator><pubDate>Fri, 12 Mar 2010 20:08:00 +0300</pubDate><guid isPermaLink="false">tag:www.emadmokhtar.com,2010-03-12:/intelligent-dna-identification-system.html</guid></item></channel></rss>