<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Development on Emad Alashi</title>
    <link>https://emadashi.com/categories/development/</link>
    <description>Recent content in Development on Emad Alashi</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 16 Oct 2019 10:30:07 +0000</lastBuildDate>
    <atom:link href="https://emadashi.com/categories/development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Posh-git on Mac using Oh My Zsh Themes</title>
      <link>https://emadashi.com/2019/10/posh-git-mac-using-oh-zsh-themes/</link>
      <pubDate>Wed, 16 Oct 2019 10:30:07 +0000</pubDate>
      <guid>https://emadashi.com/2019/10/posh-git-mac-using-oh-zsh-themes/</guid>
      <description>&lt;p&gt;This post explains how to have posh-git prompt style in Oh My Zsh theme on Mac.&lt;/p&gt;
&lt;p&gt;After 4 years of using Windows, I am coming back to using a Mac. And there are &lt;a href=&#34;https://twitter.com/EmadAshi/status/1183642418765168640?s=20&#34;&gt;so many things&lt;/a&gt; in Windows I am missing already. One of these things is &lt;a href=&#34;https://github.com/dahlbyk/posh-git&#34;&gt;posh-git&lt;/a&gt;; I loved how in one glance to your prompt you know the status of your git repo: how many files changed, how many added, how many deleted, how many indexed… just love it!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning  a New Programming Language (Go language as an Example)</title>
      <link>https://emadashi.com/2019/08/learning-a-new-programming-language-golang-as-an-example/</link>
      <pubDate>Mon, 26 Aug 2019 13:38:25 +0000</pubDate>
      <guid>https://emadashi.com/2019/08/learning-a-new-programming-language-golang-as-an-example/</guid>
      <description>&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;This post explains why and how I learned the Go language. Hopefully this will help you to learn it quickly, or will inspire you on how to learn new languages.&lt;/p&gt;
&lt;h2 id=&#34;the-reason-to-learn-a-new-language&#34;&gt;The Reason to Learn a New Language&lt;/h2&gt;
&lt;p&gt;There can be many reasons why someone would want to learn a new language, the main ones to me are: 1) To solve a current business problem 2) Learn concepts to adapt to current tools 3) For fun and passion. Of course, you can have a mix of these reasons to push you to learn a new language, or maybe just one strong enough of these reasons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix “Mixed Content” When Using Cloudflare SSL And IIS Rewrites</title>
      <link>https://emadashi.com/2019/03/cloudflare-flexible-ssl-with-iis-rewrites/</link>
      <pubDate>Sat, 02 Mar 2019 13:33:50 +0000</pubDate>
      <guid>https://emadashi.com/2019/03/cloudflare-flexible-ssl-with-iis-rewrites/</guid>
      <description>&lt;p&gt;In this post, I explain how I fixed the “mixed content” security issue when using &lt;a href=&#34;https://www.cloudflare.com/integrations/wordpress/free-ssl-certificate-wordpress/&#34;&gt;Cloudflare Flexible SSL&lt;/a&gt;, and IIS Rewrite.&lt;/p&gt;
&lt;h2 id=&#34;i-run-two-websites-under-one-account-using-iis-rewrites&#34;&gt;I Run Two Websites Under One Account Using IIS Rewrites&lt;/h2&gt;
&lt;p&gt;I have two websites that are hosted under one account with my hosting provider (I know!): &lt;a href=&#34;https://emadashi.com&#34;&gt;https://emadashi.com&lt;/a&gt; and &lt;a href=&#34;https://dotnetarabi.com&#34;&gt;https://dotnetarabi.com&lt;/a&gt;. The way I do it is that is by using IIS Rewrite rules in my web.config; any request that is targeting one of these domains, I “rewrite” the URL so it is pointing to the sub-directory to serve the request. This changes where the file is served from, but does not change the request URL to the user.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP Binding in PowerShell Azure Functions</title>
      <link>https://emadashi.com/2017/04/httpbindingforpowershellazurefunctions/</link>
      <pubDate>Sat, 01 Apr 2017 07:04:35 +0000</pubDate>
      <guid>https://emadashi.com/2017/04/httpbindingforpowershellazurefunctions/</guid>
      <description>&lt;p&gt;In a small project, I was trying to utilize an existing PowerShell I had, and host it in Azure Functions; I needed to understand how HTTP binding work with PowerShell Azure Functions as I didn&amp;rsquo;t want to rewrite my script to C# just because the PowerShell Azure Functions had the “(Preview)” appended to its name.&lt;/p&gt;
&lt;p&gt;I wanted the Function to return a plain text response to an HTTP trigger based on a query parameter (this is how Dropbox verifies Webhook URLs). So, naively, I followed the basic template as an example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>I Have Been Hacked!</title>
      <link>https://emadashi.com/2015/12/i-have-been-hacked/</link>
      <pubDate>Tue, 08 Dec 2015 21:58:28 +0000</pubDate>
      <guid>https://emadashi.com/2015/12/i-have-been-hacked/</guid>
      <description>&lt;p&gt;Yes, I&amp;rsquo;ve been hacked, and it wasn&amp;rsquo;t fun! In this post I will go through some of the lessons learned. But before that, let&amp;rsquo;s shed some light on what happened.&lt;/p&gt;
&lt;p&gt;It began when a &lt;a href=&#34;https://twitter.com/omarqdev&#34;&gt;friend of mine&lt;/a&gt; notified me that my DotNetArabi blog, which is WordPress blog, has new suspicious and unrelated posts. I rushed to my admin page, deleted these posts, and then changed my password to a stronger one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>“Cloud-Ready Web Apps With ASP.NET 5” – Ignite Australia</title>
      <link>https://emadashi.com/2015/11/cloud-ready-web-applications-with-asp-net-5-talk-at-microsoft-ignite-australia/</link>
      <pubDate>Wed, 25 Nov 2015 00:17:18 +0000</pubDate>
      <guid>https://emadashi.com/2015/11/cloud-ready-web-applications-with-asp-net-5-talk-at-microsoft-ignite-australia/</guid>
      <description>&lt;p&gt;It was a wonderful week last week spent in the beautiful Gold Coast after a very interesting &lt;a href=&#34;https://msftignite.com.au/&#34;&gt;Microsoft Ignite conference&lt;/a&gt;. I got the opportunity to present on how ASP.NET 5 is designed to be suitable for being hosted on the cloud, the following is the recording of my session:&lt;/p&gt;
&lt;p&gt;If you missed the event you can catch up with recordings of the sessions on &lt;a href=&#34;https://channel9.msdn.com/Events/Ignite/Australia-2015&#34;&gt;channel 9&lt;/a&gt;, videos are still being uploaded.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dependency Injection In ASP.NET 5 – One Step Deeper</title>
      <link>https://emadashi.com/2015/06/dependency-injection-in-asp-net-5-one-step-deeper/</link>
      <pubDate>Mon, 15 Jun 2015 14:04:27 +0000</pubDate>
      <guid>https://emadashi.com/2015/06/dependency-injection-in-asp-net-5-one-step-deeper/</guid>
      <description>&lt;p&gt;Dependency Injection has always been an integral part of all the web frameworks under the umbrella of the ASP.NET: Web API, SignalR, and MVC. But historically, these frameworks evolved separately from each other, hence each of these frameworks had its own way of supporting Dependency Injection, even with &lt;a href=&#34;https://katanaproject.codeplex.com/&#34; title=&#34;Katana&#34;&gt;Katana&lt;/a&gt;‘s trial to bring these frameworks together through &lt;a href=&#34;http://owin.org/&#34; title=&#34;OWIN&#34;&gt;OWIN&lt;/a&gt;, you still needed to do some hackery to have a unified container that supports them all at once. Well, things have changed!&lt;/p&gt;</description>
    </item>
    <item>
      <title>ANZCoders Wrapup</title>
      <link>https://emadashi.com/2015/06/anzcoders-wrapup/</link>
      <pubDate>Mon, 01 Jun 2015 23:43:45 +0000</pubDate>
      <guid>https://emadashi.com/2015/06/anzcoders-wrapup/</guid>
      <description>&lt;p&gt;Over the last week, the first &lt;a href=&#34;http://www.anzcoders.com/&#34;&gt;ANZCoders&lt;/a&gt; virtual conference was taking place, the conference that you can attend in your pyjamas! Fifteen sessions over five days by twelve speakers, all voted upon by the audience themselves.&lt;/p&gt;
&lt;p&gt;The conference was live, but it was recorded also on &lt;a href=&#34;https://www.youtube.com/channel/UCIVu42Uk-a6oFAflal8O-ag&#34;&gt;Youtube&lt;/a&gt;; every session has its own Youtube video available for watching any time. So I hear you say “Why attend live if the video is going to be available later?!”…here is why:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consultant Skills: Having an Opinion</title>
      <link>https://emadashi.com/2014/11/consultant-skills-having-an-opinion/</link>
      <pubDate>Sun, 16 Nov 2014 00:06:35 +0000</pubDate>
      <guid>https://emadashi.com/2014/11/consultant-skills-having-an-opinion/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the third of three posts I&amp;rsquo;ve written about consultant&amp;rsquo;s skills, check the previous posts if you like:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&#34;http://www.emadashi.com/2013/06/consultants-skills-story-telling/&#34;&gt;Consultant Skills: Story Telling&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&#34;http://www.emadashi.com/2014/04/consultant-skills/&#34;&gt;Consultant Skills: Knowledge Depth &amp;amp; Breadth&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;————-&lt;/p&gt;
&lt;p&gt;We work in an industry where one general problem can be solved by too many ways, each emerges from a different mindset and different circumstances. But also, in this industry there is community pressure, there are “cool geeks” and “cool solutions”, there are “best practices”, and there are hypes and fads.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OWIN, Katana, and Helios At DDDMelbourne – Presentation Slides</title>
      <link>https://emadashi.com/2014/07/owin-katana-and-helios-at-dddmelbourne-presentation-slides/</link>
      <pubDate>Mon, 21 Jul 2014 20:29:14 +0000</pubDate>
      <guid>https://emadashi.com/2014/07/owin-katana-and-helios-at-dddmelbourne-presentation-slides/</guid>
      <description>&lt;p&gt;Here are the slides of my last talk “OWIN, Katana, Helios…What&amp;rsquo;s Going On?!” I delivered at &lt;a href=&#34;http://dddmelbourne.com/&#34;&gt;DDD Melbourne.&lt;/a&gt; Sadly there was no recording.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style=&#34;margin-bottom: 5px;&#34;&gt;
  &lt;strong&gt; &lt;a title=&#34;Owin, Katana, and Helios&#34; href=&#34;https://www.slideshare.net/splashup/owin-katanahelios&#34; target=&#34;_blank&#34;&gt;Owin, Katana, and Helios&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&#34;http://www.slideshare.net/splashup&#34; target=&#34;_blank&#34;&gt;Emad Alashi&lt;/a&gt;&lt;/strong&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>NOT Another Post About Estimation</title>
      <link>https://emadashi.com/2014/06/not-another-post-about-estimation/</link>
      <pubDate>Sun, 22 Jun 2014 03:54:09 +0000</pubDate>
      <guid>https://emadashi.com/2014/06/not-another-post-about-estimation/</guid>
      <description>&lt;p&gt;I was involved in a project that was given 10 days to finish, the tight schedule was due to budget reasons.&lt;/p&gt;
&lt;p&gt;The client explained to me his requirements and then asked for an estimate for details. We stood in front of the whiteboard, broke down the features and then started estimating the time for these features, until we reached feature x.&lt;/p&gt;
&lt;p&gt;In my technical life I&amp;rsquo;ve been beaten by over-simplified requirements far too many times, so as simple as feature x sounded I strongly felt that it might stretch. Subsequently, this influenced my opinion of giving feature x three days, against which the client of course argued back.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consultant Skills: Knowledge Depth &amp; Breadth</title>
      <link>https://emadashi.com/2014/04/consultant-skills/</link>
      <pubDate>Wed, 02 Apr 2014 22:03:32 +0000</pubDate>
      <guid>https://emadashi.com/2014/04/consultant-skills/</guid>
      <description>&lt;p&gt;It’s a crazy era for IT! everyday new concepts, libraries, products, and even languages are introduced; so many solutions for so many problems. It is indeed the era of specialization.&lt;/p&gt;
&lt;p&gt;There is absolutely no way to grasp all this knowledge, specialization and concentration of knowledge has to occur, and we must choose a technology to specialize in. But… (You knew this was coming, didn’t you)… this is not good enough!&lt;br&gt;
Before you jump on me and start yelling “&lt;em&gt;But you just confessed; it’s impossible!&lt;/em&gt;”, let me explain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Building Quality Software</title>
      <link>https://emadashi.com/2014/03/on-building-quality-software/</link>
      <pubDate>Tue, 04 Mar 2014 22:05:22 +0000</pubDate>
      <guid>https://emadashi.com/2014/03/on-building-quality-software/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://emadashi.com/misc/images/Better-Quality-Software_FF92/onion-chops.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; title=&#34;onion-chops&#34; style=&#34;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&#34; border=&#34;0&#34; alt=&#34;onion-chops&#34; src=&#34;https://emadashi.com/misc/images/Better-Quality-Software_FF92/onion-chops_thumb.jpg&#34; width=&#34;244&#34; align=&#34;right&#34; height=&#34;151&#34; /&gt;&lt;/a&gt;The 2nd main cause of buggy software (time pressure is #1), is laziness and boredom.&lt;/p&gt;
&lt;p&gt;Every job in this life consists of a “core”, which is the most challenging and most exciting part of the job, and a “chore”, which is the boring and tedious part.&lt;br&gt;
Let’s take a chef as an example; he is an artist whose art is producing quality food, a process that involves mixing precisely-scaled ingredients, perfectly stirred on a period of time, or fried on the grill with an artistic movement…all are actions that the chef consider as crucial part (core) of the process producing the magnificent product of his.&lt;br&gt;
On the other hand, the chef sometimes has to chop onion into xxx-small size of chops, a task that may be really boring to him (I wouldn’t blame him!). Being such a boring task, the chef is tempted to getaway with just xx-small size of chops; after all 95% of the meal preparation is there! So he ships the dish to the customer.&lt;br&gt;
The customer tastes it, he generally likes it, but something is wrong…”ah!”, the customer discovers, “I am chewing pieces of onion!”. He almost rated the restaurant 4.5/5, but just that last bit ruined it!&lt;br&gt;
3/5 is the final rate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update Database with Dbup When Deploying With Kudu</title>
      <link>https://emadashi.com/2014/01/update-database-with-dbup-when-deploying-with-kudu/</link>
      <pubDate>Sun, 19 Jan 2014 03:58:08 +0000</pubDate>
      <guid>https://emadashi.com/2014/01/update-database-with-dbup-when-deploying-with-kudu/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: &lt;a href=&#34;https://twitter.com/davidebbo&#34;&gt;@DavidEbbo&lt;/a&gt; checked the post and thankfully he notified me that we don’t need to use the RESTapi to add an environment variable to Kudu on Azure; we can use the AppSettings in the portal.&lt;/p&gt;
&lt;p&gt;——-&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/projectkudu/kudu&#34;&gt;Kudu&lt;/a&gt; is a deployment engine that enables websites to deploy directly from git repository, it is the one behind git deployments in Azure Web Sites.&lt;br&gt;
Two things I loved about Kudu: you can use it locally in your environments, and it is open source!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Complicated Software? Or Solving Everything At Once? Message To Product Owners</title>
      <link>https://emadashi.com/2013/11/complicated-software-or-solving-everything-at-once-message-to-product-owners/</link>
      <pubDate>Fri, 22 Nov 2013 10:23:30 +0000</pubDate>
      <guid>https://emadashi.com/2013/11/complicated-software-or-solving-everything-at-once-message-to-product-owners/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://emadashi.com/misc/images/ComplicatedSoftwareOrDoWeWantToSolveEver_10013/iPhone5doeseverythingcomic2.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; title=&#34;iPhone-5-does-everything-comic2&#34; style=&#34;border-top: 0px; border-right: 0px; border-bottom: 0px; margin: 10px 0px 0px 15px; border-left: 0px; display: inline&#34; border=&#34;0&#34; alt=&#34;iPhone-5-does-everything-comic2&#34; align=&#34;right&#34; src=&#34;https://emadashi.com/misc/images/ComplicatedSoftwareOrDoWeWantToSolveEver_10013/iPhone5doeseverythingcomic2_thumb.jpg&#34; width=&#34;314&#34; height=&#34;327&#34; /&gt;&lt;/a&gt; As software developers, we happen to come across many business problems with various complexity levels. Although this complexity depends on the nature of the domain sometimes, what I have noticed that product owners add a lot to this complexity themselves without a need!&lt;/p&gt;
&lt;p&gt;For once, software developers are innocent here; the product owner, the entrepreneur, or the man behind the niche, these people have a very big responsibility on defining the complexity of the system; most of the time, the complexity introduced to the software was because they wanted to solve everything with a button, maybe two!&lt;/p&gt;</description>
    </item>
    <item>
      <title>OAuth Authentication in OWIN</title>
      <link>https://emadashi.com/2013/11/oauth-authentication-in-owin/</link>
      <pubDate>Tue, 19 Nov 2013 10:18:18 +0000</pubDate>
      <guid>https://emadashi.com/2013/11/oauth-authentication-in-owin/</guid>
      <description>&lt;p&gt;Last week I got the chance to speak on the Victoria .net user group, presenting OAuth authentication (and authentication in general) in the new .net web world of OWIN.&lt;br&gt;
You can find below the link to the source code, the presentation slides, and the video on Youtube.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/eashi/Samples/tree/master/OAuthSample&#34;&gt;Source code on GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For some reason the animation doesn’t work on Slideshare, maybe because it was Office 2013&lt;/p&gt;
&lt;div style=&#34;margin-bottom: 5px&#34;&gt;
  &lt;strong&gt;&lt;a title=&#34;OAuth in the new .NET world (OWIN)&#34; href=&#34;https://www.slideshare.net/splashup/o-auth-20dotnetandowin&#34; target=&#34;_blank&#34;&gt;OAuth in the new .NET world (OWIN)&lt;/a&gt; &lt;/strong&gt;from &lt;strong&gt;&lt;a href=&#34;http://www.slideshare.net/splashup&#34; target=&#34;_blank&#34;&gt;Emad Alashi&lt;/a&gt;&lt;/strong&gt;
&lt;/div&gt;
&lt;p&gt;Enjoy 🙂&lt;/p&gt;</description>
    </item>
    <item>
      <title>Consultants’ Skills: Story Telling</title>
      <link>https://emadashi.com/2013/06/consultants-skills-story-telling/</link>
      <pubDate>Fri, 07 Jun 2013 05:17:28 +0000</pubDate>
      <guid>https://emadashi.com/2013/06/consultants-skills-story-telling/</guid>
      <description>&lt;p&gt;You have to listen to two words only before &lt;a href=&#34;https://twitter.com/cprieto&#34;&gt;Cristian Prieto&lt;/a&gt; grasp your attention till the very end of his talk, even if it was about cats! everybody just goes silent, listening carefully, staring and waiting for more!…and the secret behind it, as I see it, is HE IS A PERFECT STORY-TELLER!&lt;br&gt;
Let’s face it, people like stories; we watch movies, we read novels, even news sounds much more interesting when there is a “story” behind it! it is the nature of humans.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ASP.NET Routing &amp; MVC Presentation</title>
      <link>https://emadashi.com/2012/12/asp-net-routing-mvc-presentation/</link>
      <pubDate>Sat, 01 Dec 2012 08:33:31 +0000</pubDate>
      <guid>https://emadashi.com/2012/12/asp-net-routing-mvc-presentation/</guid>
      <description>&lt;p&gt;Last week I delivered my first talk in Melbourne: “ASP.NET Routing &amp;amp; MVC” with the .net user group VIC.NET.&lt;br&gt;
Even though there was a problem with time control due to reasons out of hand, the audience stayed till the very end of the presentation; good to know that the presentation didn’t suck that much :D.&lt;/p&gt;
&lt;p&gt;Here are the slides: &lt;a href=&#34;https://www.slideshare.net/slideshow/aspnet-routing-mvc/15438666&#34;&gt;https://www.slideshare.net/slideshow/aspnet-routing-mvc/15438666&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Performance Counters For Multiple Processes With Same Name</title>
      <link>https://emadashi.com/2012/10/performance-counters-for-multiple-processes-with-same-name/</link>
      <pubDate>Sat, 13 Oct 2012 08:48:00 +0000</pubDate>
      <guid>https://emadashi.com/2012/10/performance-counters-for-multiple-processes-with-same-name/</guid>
      <description>&lt;p&gt;There are couple of posts talking about this subject: when you have multiple process’s with the same name, it’s not straightforward to figure out which performance counter instance represents which process. The suggestion would be to use the process ID and the “ID Process” performance counter (This is not the essence of this post, if you know this already scroll down).&lt;/p&gt;
&lt;p&gt;To explain this further let’s say we have two web applications with two different application pools that we wish to monitor their consumption of memory (though probably there are better ways to do it). The worker process for a web application on IIS is a w3wp.exe process, so for our two web applications we will have two w3wp.exe process’s running like the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft.Web.Administration for IIS</title>
      <link>https://emadashi.com/2012/09/microsoft-web-administration-for-iis/</link>
      <pubDate>Tue, 11 Sep 2012 07:10:54 +0000</pubDate>
      <guid>https://emadashi.com/2012/09/microsoft-web-administration-for-iis/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: In addition to this post, you can check as well the valuable &lt;a href=&#34;http://stuartcullinan.blogspot.com.au/2011/04/some-tips-on-using-microsoftwebadminist.html&#34;&gt;post&lt;/a&gt; of Stuart Cullinans&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;One of the recent projects I worked on involved managing IIS programmatically, and I found the proper tool for it, meet “&lt;a href=&#34;http://msdn.microsoft.com/en-us/library/microsoft.web.administration%28v=vs.90%29.aspx&#34;&gt;Microsoft.Web.Administration&lt;/a&gt;”.&lt;/p&gt;
&lt;p&gt;You can read about this library&amp;rsquo;s purpose in its own page above; what I will list here are three points I noticed while dealing with the library:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I couldn’t find where to download, or install the library from, it appeared to be residing in “&lt;strong&gt;C:\Windows\SysWOW64\inetsrv\Microsoft.Web.Administration.dll&lt;/strong&gt;” and yes my OS is 64-bit I am not sure where you can find that on a 32-bit machine&lt;/li&gt;
&lt;li&gt;The main class &lt;strong&gt;ServerManager&lt;/strong&gt; reads data the moment it’s created only, it will &lt;strong&gt;NOT&lt;/strong&gt; maintain a valid state after the initial read; for example, consider the following snippet:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; WorkerProcess currentWP;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; Main(&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;[] args)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    currentWP = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; ServerManager().ApplicationPools[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;].WorkerProcesses[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (!Console.ReadLine().Equals(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;quit&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Console.WriteLine(currentWP.ProcessId.ToString());
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This code snippet will get the first WorkerProcess of the first Application Pool in the local IIS. Run the code, enter bogus input just to make sure the loop works, and you will find on the Console the W3WP Process Id displayed (e.g. 4295).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working for Readify</title>
      <link>https://emadashi.com/2012/08/working-for-readify/</link>
      <pubDate>Wed, 22 Aug 2012 22:34:14 +0000</pubDate>
      <guid>https://emadashi.com/2012/08/working-for-readify/</guid>
      <description>&lt;p&gt;And finally I have the time to post about my new job, yes I changed jobs and now it&amp;rsquo;s &lt;a href=&#34;http://www.readify.net&#34;&gt;Readify&lt;/a&gt;.&lt;a href=&#34;http://www.readify.net&#34;&gt;&lt;img decoding=&#34;async&#34; style=&#34;margin: 10px 0px 10px 10px; display: inline&#34; align=&#34;right&#34; src=&#34;https://www.emadashi.com/misc/images/Readify_Logo.jpg&#34; /&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have never seen anything like it! Readify&amp;rsquo;s consultants are the top professionals in the IT industry working on the Microsoft stack; when I step in the office every morning, I sit in a room in which there are two MVP&amp;rsquo;s (of 12 MVP’s work in Readify already!), two book authors and user group leads, couple of speakers, and many silent geniuses. And I am drinking knowledge from a fire hose!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Html.Action() Work</title>
      <link>https://emadashi.com/2012/03/how-html-action-work/</link>
      <pubDate>Fri, 23 Mar 2012 15:30:48 +0000</pubDate>
      <guid>https://emadashi.com/2012/03/how-html-action-work/</guid>
      <description>&lt;p&gt;Let’s take the example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-razor&#34; data-lang=&#34;razor&#34;&gt;@Html.Action(&amp;#34;Latest&amp;#34;, &amp;#34;Episode&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;What this will do is to invoke the “&lt;em&gt;Latest&lt;/em&gt;” action method in the “&lt;em&gt;Episode&lt;/em&gt;” controller. But what really happens behind the scenes is NOT a direct invoke; it will actually start from the beginning of the ASP.NET MVC execution pipeline using “&lt;em&gt;Latest&lt;/em&gt;” and “&lt;em&gt;Episode&lt;/em&gt;” as Route values for the keys “&lt;em&gt;action&lt;/em&gt;” and “&lt;em&gt;controller&lt;/em&gt;” respectively.&lt;/p&gt;
&lt;p&gt;This means that you should pay very good attention to your Routes definition in the Application_Start() in Global.asax; Html.Action() will try to match the best route in your defined routes according to the RouteValueDictionary created above (action and controller) along with any additional route values provided in the overload.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Magical Effect of Simple Encouraging Words</title>
      <link>https://emadashi.com/2012/03/the-magical-effect-of-simple-encouraging-words/</link>
      <pubDate>Tue, 20 Mar 2012 22:16:14 +0000</pubDate>
      <guid>https://emadashi.com/2012/03/the-magical-effect-of-simple-encouraging-words/</guid>
      <description>&lt;p align=&#34;left&#34;&gt;
  &lt;a href=&#34;http://school.discoveryeducation.com/clipart/clip/goodwork.html&#34; target=&#34;_blank&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px&#34; title=&#34;image credit goes for www.discoveryeducation.com/&#34; border=&#34;0&#34; alt=&#34;image credit goes for www.discoveryeducation.com/&#34; align=&#34;right&#34; src=&#34;https://emadashi.com/wp-content/uploads/The-Magic-Effect-of-Simple-Encouraging-W_F1A0/goodwork.gif&#34; width=&#34;242&#34; height=&#34;190&#34; /&gt;&lt;/a&gt;Recently I had to go through some health checkup that included tests for my eye, one of these tests required from me to keep my eye open for a long period of time concentrating continuously into an extremely strong and annoying light. &lt;br /&gt;During the test I kept receiving encouraging words from the examining doctor every couple of seconds: “Bravo Emad! very good concentration, keep it up, that’s it”. &lt;br /&gt;Even though it was a simple task and me being in my 30’s!… I still had a strong feeling that I was doing something right! and that I should keep doing what I was doing, to give more effort no matter how annoying and hurting this intense light was; and all of this was due to his words! the more he encouraged the wider I opened my eye and concentrated.
&lt;/p&gt;</description>
    </item>
    <item>
      <title>QueryString in Routing and Model Binding in ASP.NET MVC</title>
      <link>https://emadashi.com/2012/01/querystring-in-routing-and-model-binding-in-asp-net-mvc/</link>
      <pubDate>Fri, 13 Jan 2012 14:39:57 +0000</pubDate>
      <guid>https://emadashi.com/2012/01/querystring-in-routing-and-model-binding-in-asp-net-mvc/</guid>
      <description>&lt;p&gt;In a nutshell, a query string will not be part of the RouteData dictionary in the routing process, yet it will affect the route matching. On the other hand, when Model Binding takes place, query string will be used to bind to the parameters of the action method, unless there is an item in route data with the same key.&lt;/p&gt;
&lt;p&gt;Now the details. Let us consider this ASP.NET MVC application. We have an action method:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interviews with Jordanian Microsoft Guests</title>
      <link>https://emadashi.com/2011/12/interviews-with-jordanian-microsoft-guests/</link>
      <pubDate>Sat, 31 Dec 2011 12:08:00 +0000</pubDate>
      <guid>https://emadashi.com/2011/12/interviews-with-jordanian-microsoft-guests/</guid>
      <description>&lt;p&gt;During the last quarter of 2011 we have hosted two amazing Jordanian Microsoft guests, &lt;a href=&#34;http://www.microsoft.com/presspass/exec/de/Khalidi/default.mspx&#34;&gt;Yousef Al Khalidi (Distinguished Engineer)&lt;/a&gt;, and Ayman Dahleh (Development Manager for the Global Experience Platform group), who happened to be having their vacation here, they generously accepted our invitation to deliver sessions here in Jordan despite their busy times.&lt;/p&gt;
&lt;p&gt;The community recorded these two inspiring interviews with our guests through which I can see how close achievements can be.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hide Subfolder in Multiple Domains Under One Site</title>
      <link>https://emadashi.com/2011/12/hide-subfolder-in-multiple-domains-under-one-site/</link>
      <pubDate>Mon, 26 Dec 2011 17:10:40 +0000</pubDate>
      <guid>https://emadashi.com/2011/12/hide-subfolder-in-multiple-domains-under-one-site/</guid>
      <description>&lt;p&gt;After I have moved to &lt;a href=&#34;http://www.winhost.com/&#34;&gt;WinHost&lt;/a&gt;, I was surprised they don’t support multiple domains under one site out of the box; you have to rely on IIS URL Rewrite magic to achieve that.&lt;/p&gt;
&lt;p&gt;So as expected, I looked for a solution in their KB and the internet (you don’t reinvent the wheel, remember?) and found couple of posts &lt;a href=&#34;http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/&#34;&gt;here&lt;/a&gt;, &lt;a href=&#34;http://learn.iis.net/page.aspx/500/testing-rewrite-rule-patterns/&#34;&gt;here&lt;/a&gt;, &lt;a href=&#34;http://weblogs.asp.net/owscott/archive/2010/01/26/iis-url-rewrite-hosting-multiple-domains-under-one-site.aspx&#34;&gt;here&lt;/a&gt;, and &lt;a href=&#34;http://forum.winhost.com/showthread.php?t=4545&amp;amp;highlight=url&amp;#43;rewrite&#34;&gt;here&lt;/a&gt; that helped a lot in achieving this.&lt;br&gt;
So I managed to have &lt;a href=&#34;http://www.emadashi.com&#34;&gt;www.emadashi.com&lt;/a&gt; and &lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;www.dotnetarabi.com&lt;/a&gt; working fine together residing in the folders “emadashi-blog” and “dotnetarabi-root” respectively under the root; they both have same IP address, but upon request a redirection is made to the proper application folder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>“AmmanTT: Developer Edition” presentation and slides</title>
      <link>https://emadashi.com/2011/12/ammantt-developer-edition-presentation-and-slides/</link>
      <pubDate>Fri, 09 Dec 2011 13:46:14 +0000</pubDate>
      <guid>https://emadashi.com/2011/12/ammantt-developer-edition-presentation-and-slides/</guid>
      <description>&lt;p&gt;It was a very interesting event “AmmanTT: Developer Edition” which took place last Tuesday; the team did a very good job putting it together, it is really great seeing this great effort put into such fruitful events; moving the community steps forward, so thank you AmmanTT team, you rock.&lt;/p&gt;
&lt;p&gt;Hereby I post the slides I presented in my talk:&lt;/p&gt;
&lt;div style=&#34;width: 425px&#34; id=&#34;__ss_10531430&#34;&gt;
  &lt;strong style=&#34;margin: 12px 0px 4px; display: block&#34;&gt;&lt;a title=&#34;Software Life Cycle, Humans &amp; Code&#34; href=&#34;http://www.slideshare.net/splashup/software-life-cycle-humans-code&#34;&gt;Software Life Cycle, Humans &amp; Code&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;</description>
    </item>
    <item>
      <title>Speaking at AmmanTT: Developer Edition</title>
      <link>https://emadashi.com/2011/12/speaking-at-ammantt-developer-edition/</link>
      <pubDate>Sun, 04 Dec 2011 10:58:22 +0000</pubDate>
      <guid>https://emadashi.com/2011/12/speaking-at-ammantt-developer-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.ammantt.com&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignright size-full wp-image-391&#34; title=&#34;AmmanTT&#34; src=&#34;https://emadashi.com/wp-content/uploads/2011/12/logo6.png&#34; alt=&#34;AmmanTT&#34; width=&#34;140&#34; height=&#34;80&#34; /&gt;&lt;/a&gt;I will be speaking at “&lt;a href=&#34;https://www.facebook.com/#!/events/260707307313375/&#34;&gt;AmmanTT: Developer Edition&lt;/a&gt;” next Tuesday 6th of December 2011. Never heard about AmmanTT? quoting from their &lt;a href=&#34;http://ammantt.com/about-ammantt/&#34;&gt;About&lt;/a&gt; page:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Coming to you on the first Tuesday of every month is a 2-hour event that brings industry experts, local technologists/engineers, entrepreneurs, idea-generators and just about any enthusiast together in a casual setting to meet and learn from each other&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I will be talking about the real-life side of the software development life cycle, and about the overlapping between Process and Humans in the cycle. So mark your calendars, I will be very happy to meet you there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTML5 and IE presentation on Microsoft Open Door</title>
      <link>https://emadashi.com/2011/11/html5-and-ie-presentation-on-microsoft-open-door/</link>
      <pubDate>Fri, 04 Nov 2011 13:32:14 +0000</pubDate>
      <guid>https://emadashi.com/2011/11/html5-and-ie-presentation-on-microsoft-open-door/</guid>
      <description>&lt;p&gt;And it’s over, the Microsoft Open Door event is behind us now, and so was my presentation about HTML5 and IE; all praise to god, the feedback was great and I am humbled by the nice compliments.&lt;br&gt;
If you were among the audience and you have any comment, question, or critique, you are most welcome to contact me anytime.&lt;/p&gt;
&lt;p&gt;Below is the presentation slides as I promised:&lt;/p&gt;
&lt;div style=&#34;width: 425px&#34; id=&#34;__ss_10025206&#34;&gt;
  &lt;strong style=&#34;margin: 12px 0px 4px; display: block&#34;&gt;&lt;a title=&#34;HTML5 &amp; IE&#34; href=&#34;http://www.slideshare.net/splashup/html5-ie&#34; target=&#34;_blank&#34;&gt;HTML5 &amp; IE&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;</description>
    </item>
    <item>
      <title>Speaking at Microsoft Open Door</title>
      <link>https://emadashi.com/2011/10/speaking-at-microsoft-open-door/</link>
      <pubDate>Thu, 27 Oct 2011 14:13:44 +0000</pubDate>
      <guid>https://emadashi.com/2011/10/speaking-at-microsoft-open-door/</guid>
      <description>&lt;p&gt;I will be speaking at this year’s Microsoft event &lt;a href=&#34;http://www.microsoft.com/middleeast/jordan/opendoor/&#34;&gt;Open Door&lt;/a&gt;; the session will be about HTML5 &amp;amp; IE, including highlights on the main new specifications for HTML5, and how Microsoft is approaching it through IE and some of the dev tools.&lt;br&gt;
It will be on Day 2, Track 3, at 3:00 PM.&lt;/p&gt;
&lt;p&gt;Check the event details and agenda &lt;a href=&#34;http://www.microsoft.com/middleeast/jordan/opendoor/agenda.aspx&#34;&gt;here&lt;/a&gt;, catch you there hopefully.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My MVP Award Dedication</title>
      <link>https://emadashi.com/2011/10/my-mvp-award-dedication/</link>
      <pubDate>Wed, 05 Oct 2011 07:36:09 +0000</pubDate>
      <guid>https://emadashi.com/2011/10/my-mvp-award-dedication/</guid>
      <description>&lt;p&gt;Couple of days ago I received the wonderful email from Microsoft telling me that I was awarded the MVP; it really feels nice when you achieve results. But the best part of all this is my friends’ reactions, the congrats, and the big smiles on the faces (not mentioning a generous gift from my colleagues&lt;img decoding=&#34;async&#34; style=&#34;border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none&#34; class=&#34;wlEmoticon wlEmoticon-winkingsmile&#34; alt=&#34;Winking smile&#34; src=&#34;https://www.emadashi.com/misc/images/43c7709abec2_905/wlEmoticon-winkingsmile.png&#34; /&gt; ), to all these true friends I say big thank you!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Continuous Integration Book Review</title>
      <link>https://emadashi.com/2011/05/continuous-integration-book-review/</link>
      <pubDate>Sat, 21 May 2011 13:05:07 +0000</pubDate>
      <guid>https://emadashi.com/2011/05/continuous-integration-book-review/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1305982047&amp;amp;sr=1-1&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&#34; title=&#34;ContinuousIntegration-cover&#34; border=&#34;0&#34; alt=&#34;ContinuousIntegration-cover&#34; align=&#34;right&#34; src=&#34;https://www.emadashi.com/misc/images/Continuous-Integration-Book-Review_CB15/ContinuousIntegration-cover.jpg&#34; width=&#34;185&#34; height=&#34;244&#34; /&gt;&lt;/a&gt;To be frank I hesitated a bit to review a “a Martin Fowlers signature book”, but I have to share this review with others; to set expectations.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1305982047&amp;amp;sr=1-1&#34;&gt;The book “Continuous Integration”&lt;/a&gt; is ok, but it’s &lt;u&gt;too general&lt;/u&gt;, that’s it!&lt;br&gt;
I have read several articles about &lt;a href=&#34;http://en.wikipedia.org/wiki/Continuous_integration&#34;&gt;Continuous Integration&lt;/a&gt; and posts here and there until I thought to myself “that’s it, it’s time to get the book, it’s time to delve deep into this”, to my surprise the content of the book was too general and it didn’t add much to the articles I read.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reflections on Jordev Web Camp</title>
      <link>https://emadashi.com/2011/05/reflections-on-jordev-web-camp/</link>
      <pubDate>Mon, 16 May 2011 22:11:05 +0000</pubDate>
      <guid>https://emadashi.com/2011/05/reflections-on-jordev-web-camp/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.emadashi.com/misc/images/634a70b9a492_148FE/webcamps.png&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&#34; title=&#34;webcamps&#34; border=&#34;0&#34; alt=&#34;webcamps&#34; align=&#34;right&#34; src=&#34;https://www.emadashi.com/misc/images/634a70b9a492_148FE/webcamps_thumb.png&#34; width=&#34;244&#34; height=&#34;194&#34; /&gt;&lt;/a&gt;Last Saturday 14th of May 2011 we had the first &lt;a href=&#34;http://webcamps.ms&#34;&gt;web camp&lt;/a&gt; in Jordan among Jordev’s activities, and it was great!&lt;br&gt;
&lt;em&gt;check my presentation slides at the end of this post.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The event was like the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;8:30 AM – 9:00 AM&lt;/strong&gt;: Registration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;9:00 AM – 1:00 PM&lt;/strong&gt;: Four 50 minutes sessions with 10 minutes between each for breaks, there was a few attendees at the beginning so we delayed the first session for couple of minutes (yes we have a morning problem here). Sessions were “&lt;a href=&#34;http://www.slideshare.net/omarq/entity-framework41codefirst&#34;&gt;Entity Framework 4.1&lt;/a&gt;”, “&lt;a href=&#34;http://www.slideshare.net/splashup/aspnet-mvc-one-step-deeper&#34;&gt;ASP.NET MVC One Step Deeper&lt;/a&gt;”, “Dynamic Data”, and “&lt;a href=&#34;http://www.slideshare.net/i.omar/jquery-7978005&#34;&gt;jQuery&lt;/a&gt;”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1:00 PM – 2:15 PM&lt;/strong&gt;: lunch break, where people went to the near market and had their lunch there.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2:15 PM – 4:30 PM&lt;/strong&gt;: free coding session.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Things went great&lt;/strong&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Jordev Web Camp</title>
      <link>https://emadashi.com/2011/05/first-jordev-web-camp/</link>
      <pubDate>Sat, 07 May 2011 10:40:05 +0000</pubDate>
      <guid>https://emadashi.com/2011/05/first-jordev-web-camp/</guid>
      <description>&lt;p&gt;For too long, all Jordev’s activities have been in the form of sessions with fast code demos, and for the first time we are going to break this rule and do our &lt;a href=&#34;http://ammanwebcamp.eventbrite.com/&#34;&gt;first web camp&lt;/a&gt; in which attendees will have the chance to have hands-on experience with some of Jordan’s active experts. It will be on the 15th of May 2011.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://webcamps.ms&#34;&gt;&lt;img alt=&#34;First Jordev Web Camp&#34; loading=&#34;lazy&#34; src=&#34;https://www.emadashi.com/misc/images/First-Jordev-Web-Camp_B88A/1637932099-3_thumb.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are two things in web camps that make them more interesting: REAL CODING and COLLABORATION; coding is a practice science, best way to learn it is by practice, and this practice will be much more fruitful and enjoyable if done with a bunch of enthusiasts who share the same passion with you. Speakers will have their share, but the biggest share will go to the hidden experts who have been hiding under excessive working hours and who avoid boring talkative sessions. This gathering will be a chance for us to dig these gems out and have the most geeky fun and benefit we seek in such communities.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Brilliantly Simple Code Sharing</title>
      <link>https://emadashi.com/2011/04/brilliantly-simple-code-sharing/</link>
      <pubDate>Wed, 27 Apr 2011 20:19:11 +0000</pubDate>
      <guid>https://emadashi.com/2011/04/brilliantly-simple-code-sharing/</guid>
      <description>&lt;p&gt;Today I was looking for a fast way to find the index of a nth occurrence of a string in a string, so I found this very simple and intuitive site on which you can find and share .net extension methods, the website is &lt;a href=&#34;http://www.extensionmethod.net&#34; title=&#34;http://www.extensionmethod.net&#34;&gt;http://www.extensionmethod.net&lt;/a&gt; Dah!&lt;img decoding=&#34;async&#34; style=&#34;border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none&#34; class=&#34;wlEmoticon wlEmoticon-smile&#34; alt=&#34;Smile&#34; src=&#34;https://www.emadashi.com/misc/images/d0d03c8f2bd1_145AF/wlEmoticon-smile.png&#34; /&gt;&lt;/p&gt;
&lt;p&gt;I couldn’t find what I looked for, so I shared my solution &lt;a href=&#34;http://www.extensionmethod.net/Details.aspx?ID=457&#34;&gt;here&lt;/a&gt;; the website made it crazy easy to share this! Something I definitely would add to my log on how to create wonderful websites, simple and effective.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Code Sample Should Be Clean</title>
      <link>https://emadashi.com/2011/04/code-sample-should-be-clean/</link>
      <pubDate>Sat, 02 Apr 2011 15:21:46 +0000</pubDate>
      <guid>https://emadashi.com/2011/04/code-sample-should-be-clean/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.emadashi.com/misc/images/693e7de0646a_15FD/big_Telerik01.gif&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&#34; title=&#34;big_Telerik01&#34; border=&#34;0&#34; alt=&#34;big_Telerik01&#34; align=&#34;right&#34; src=&#34;https://www.emadashi.com/misc/images/693e7de0646a_15FD/big_Telerik01_thumb.gif&#34; width=&#34;229&#34; height=&#34;94&#34; /&gt;&lt;/a&gt;The other day I needed an ASP.NET MVC grid control, and I have always heard about &lt;a href=&#34;http://www.telerik.com/products/aspnet-mvc.aspx&#34;&gt;Telerik’s ASP.NET MVC Extensions&lt;/a&gt; and the great tools they provide, so I decided to give them a try.&lt;/p&gt;
&lt;p&gt;So I followed the installation guide step by step, and prepared my code to use the extensions; I added a reference to the DLL, added the scripts, etc… and I thought I was ready to test-drive it.&lt;br&gt;
I opened Telerik’s sample website which showed the control and below it the code sample that made it work, innocently enough I did what any other developer would do to try out the sample code: copy and paste it in your page and then build. To my surprise there was an error in the View; it didn’t recognize an Extension method called “Configurator”!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to ASP.NET MVC session at Jordev</title>
      <link>https://emadashi.com/2010/11/introduction-to-asp-net-mvc-session-at-jordev/</link>
      <pubDate>Fri, 26 Nov 2010 23:51:47 +0000</pubDate>
      <guid>https://emadashi.com/2010/11/introduction-to-asp-net-mvc-session-at-jordev/</guid>
      <description>&lt;p&gt;It was great to get back to presentations after this while; ASP.NET MVC was the topic for the latest session I delivered through Jordev. The audience was great, I hope they enjoyed it as much as I did preparing for it.&lt;/p&gt;
&lt;p&gt;you can find the slides on Slideshare, embedded here as well:&lt;/p&gt;
&lt;div style=&#34;width: 425px&#34; id=&#34;__ss_5926505&#34;&gt;
  &lt;strong style=&#34;margin: 12px 0px 4px; display: block&#34;&gt;&lt;a title=&#34;Introduction to ASP.NET MVC&#34; href=&#34;http://www.slideshare.net/splashup/introduction-to-aspnet-mvc-5926505&#34;&gt;Introduction to ASP.NET MVC&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt; 
  &lt;div style=&#34;padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px&#34;&gt;
    View more &lt;a href=&#34;http://www.slideshare.net/&#34;&gt;presentations&lt;/a&gt; from &lt;a href=&#34;http://www.slideshare.net/splashup&#34;&gt;Emad Alashi&lt;/a&gt;.
  &lt;/div&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Attend Tech-Ed Middle East 2011 for free!</title>
      <link>https://emadashi.com/2010/10/attend-tech-ed-middle-east-2011-for-free/</link>
      <pubDate>Sat, 30 Oct 2010 20:42:13 +0000</pubDate>
      <guid>https://emadashi.com/2010/10/attend-tech-ed-middle-east-2011-for-free/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://compete.jordanruns.net/&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&#34; title=&#34;logo&#34; border=&#34;0&#34; alt=&#34;logo&#34; align=&#34;right&#34; src=&#34;https://www.emadashi.com/misc/images/Attend-Tech-Ed-Middle-East-2011-for-free_135E3/logo.png&#34; width=&#34;260&#34; height=&#34;95&#34; /&gt;&lt;/a&gt;Here is your chance (with little effort) to win a fully-paid trip to Tech-Ed Middle East 2011. Simple tasks are required from your part and you will find yourself with the ultimate geeks in Dubai next year.&lt;/p&gt;
&lt;p&gt;For the details check the competitions website on &lt;a href=&#34;http://compete.jordanruns.net/&#34; title=&#34;http://compete.jordanruns.net/&#34;&gt;http://compete.jordanruns.net/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use Powershell To Follow Your Followers On Twitter</title>
      <link>https://emadashi.com/2010/08/use-powershell-to-follow-your-followers-on-twitter/</link>
      <pubDate>Thu, 26 Aug 2010 18:24:32 +0000</pubDate>
      <guid>https://emadashi.com/2010/08/use-powershell-to-follow-your-followers-on-twitter/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Twitter &amp;ldquo;&lt;a href=&#34;http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0followers&#34;&gt;statuses/followers&lt;/a&gt;&amp;rdquo; API documentation had a small note at the bottom that says it returns only 100 followers if no paging is used. I have updated the script accordingly. Thanks to &lt;a href=&#34;http://twitter.com/RamyMahrous&#34;&gt;@RamyMahrous&lt;/a&gt; for notifying me in his comment below.&lt;/p&gt;
&lt;p&gt;For a long time I thought that &lt;a href=&#34;http://www.twitter.com/DotNetArabi&#34;&gt;@DotNetArabi&lt;/a&gt; shouldn’t follow it’s own followers due to various reasons I had, but lately I discovered that I was wrong. So I have decided to follow them back no matter how many they are, but that would be a tedious thing to do manually. Here comes &lt;a href=&#34;http://en.wikipedia.org/wiki/Powershell&#34;&gt;Powershell&lt;/a&gt; to the rescue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Happy Life with Intuitive API in Smart Controls</title>
      <link>https://emadashi.com/2010/06/happy-life-with-intuitive-api-in-smart-controls/</link>
      <pubDate>Tue, 15 Jun 2010 14:42:23 +0000</pubDate>
      <guid>https://emadashi.com/2010/06/happy-life-with-intuitive-api-in-smart-controls/</guid>
      <description>&lt;p&gt;In this post I will show you an example of how smartly built controls and API’s can make the developers programming life extremely enjoyable, hopefully this example will urge you in giving such a smart effort when you build your own control or API.&lt;/p&gt;
&lt;p&gt;Lately I have been playing around with a very nice tree control based on jQuery called &lt;a href=&#34;http://www.jstree.com/&#34;&gt;jsTree&lt;/a&gt;. One of the nice features is that it allows populating the tree through asynchronous calls with JSON data representation. In order to achieve that, you needed to provide the data by JSON special format suitable to the tree. This format, regrettably, is open to the JSON vulnerability &lt;a href=&#34;http://haacked.com/&#34;&gt;Phil Haack&lt;/a&gt; talked about in his two posts &lt;a href=&#34;http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx&#34;&gt;here&lt;/a&gt; and &lt;a href=&#34;http://haacked.com/archive/2009/06/25/json-hijacking.aspx&#34;&gt;here&lt;/a&gt;.&lt;br&gt;
So to avoid this vulnerability I had to change this default data format of the tree, at least until the very end of the data flow just before the tree populates the data, only then I can change it back to the default format, like the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stressful Situations Make You Stupid</title>
      <link>https://emadashi.com/2010/05/stressful-situations-make-you-stupid/</link>
      <pubDate>Wed, 12 May 2010 07:16:19 +0000</pubDate>
      <guid>https://emadashi.com/2010/05/stressful-situations-make-you-stupid/</guid>
      <description>&lt;p&gt;Today we came across an interesting issue at work: we have two teams A and B who interchange API calls. Team A needed an API from team B to process a business that is owned by team B of course. The signature was like the following:&lt;/p&gt;
&lt;p&gt;public OutputEntity MyMethod(List listOfIds);&lt;/p&gt;
&lt;p&gt;It appeared afterward that this method was very slow, and the client was already very upset about the low performance, which consequently caused big pressure on the teams by the superiors to enhance the performance.&lt;br&gt;
After investigating the issue, it appeared that the list of ID&amp;rsquo;s sent as input consists of some ID&amp;rsquo;s that do not need to be processed, this criteria of “not need to be processed” is a business owned by team B, done by using properties of the entities these ID&amp;rsquo;s represent. So the  solution to this issue was one of the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exposing DotNetArabi for OData</title>
      <link>https://emadashi.com/2010/04/exposing-dotnetarabi-for-odata/</link>
      <pubDate>Sat, 10 Apr 2010 08:14:43 +0000</pubDate>
      <guid>https://emadashi.com/2010/04/exposing-dotnetarabi-for-odata/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&#34; title=&#34;www.DotNetArabi.com&#34; src=&#34;https://emadashi.com/wp-content/uploads/2010/04/logoCopy.jpg&#34; border=&#34;0&#34; alt=&#34;www.DotNetArabi.com&#34; width=&#34;92&#34; height=&#34;92&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;http://www.odata.org&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&#34; title=&#34;www.odata.org&#34; src=&#34;https://emadashi.com/wp-content/uploads/2010/04/images.jpg&#34; border=&#34;0&#34; alt=&#34;www.odata.org&#34; width=&#34;60&#34; height=&#34;60&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lately &lt;a href=&#34;http://www.odata.org/developers/protocols/overview&#34;&gt;OData&lt;/a&gt; (Open Data protocol) is gaining a great momentum, everybody is talking about, and in fact it deserves all this fuss. OData is a protocol through which you can share data provided as ATOM or JSON formats by exposing URI’s to be invoked via HTTP, check the &lt;a href=&#34;http://www.odata.org/faq&#34;&gt;FAQ&lt;/a&gt; for fast information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>If Crashing Gracefully Is Nice, Recovering From It Is Awesome</title>
      <link>https://emadashi.com/2010/03/if-crashing-gracefully-is-nice-recovering-from-it-is-awesome/</link>
      <pubDate>Mon, 01 Mar 2010 22:54:31 +0000</pubDate>
      <guid>https://emadashi.com/2010/03/if-crashing-gracefully-is-nice-recovering-from-it-is-awesome/</guid>
      <description>&lt;p&gt;Last Saturday we had a &lt;a href=&#34;http://www.sharepointsaturday.org/jordan/default.aspx&#34;&gt;SharePointSaturday&lt;/a&gt; event here in Jordan, in which I had the pleasure of interviewing &lt;a href=&#34;http://twitter.com/joeloleson&#34;&gt;Joel Oleson&lt;/a&gt; and &lt;a href=&#34;http://twitter.com/michaeltnoel&#34;&gt;Michael Noel&lt;/a&gt; for &lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;DotNetArabi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the end of Joel’s valuable interview, which can happen only in a life time, I stopped the recording by hitting the “Stop” button, simple. Surprisingly, instead of stopping the recording, &lt;a href=&#34;http://audacity.sourceforge.net/&#34;&gt;Audacity&lt;/a&gt; just froze! I could hear myself screaming inside “NOOO!!!”, I guess even Joel heard that! the whole machine stuck that I had to force it to a Hard Shut down.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Communication Skills Session at MSP – Jordev</title>
      <link>https://emadashi.com/2009/11/communication-skills-session-at-msp-jordev/</link>
      <pubDate>Sat, 21 Nov 2009 11:24:03 +0000</pubDate>
      <guid>https://emadashi.com/2009/11/communication-skills-session-at-msp-jordev/</guid>
      <description>&lt;p&gt;I just finished a session about Communication Skills one-to-one for the MSP program with Microsoft and Jordev. As I promised the audience, here are the slides shared on the very good site &lt;a href=&#34;http://www.slideshare.com&#34;&gt;SlideShare&lt;/a&gt;:&lt;/p&gt;
&lt;div style=&#34;width:425px;text-align:left&#34; id=&#34;__ss_2551627&#34;&gt;
  &lt;a style=&#34;font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;&#34; href=&#34;http://www.slideshare.net/splashup/communication-skills-one-to-one&#34; title=&#34;Communication Skills one To one&#34;&gt;Communication Skills one To one&lt;/a&gt;&lt;/p&gt; 
  &lt;div style=&#34;font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;&#34;&gt;
    View more &lt;a style=&#34;text-decoration:underline;&#34; href=&#34;http://www.slideshare.net/&#34;&gt;presentations&lt;/a&gt; from &lt;a style=&#34;text-decoration:underline;&#34; href=&#34;http://www.slideshare.net/splashup&#34;&gt;Emad Alashi&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>“Growing Software” book review</title>
      <link>https://emadashi.com/2009/10/growing-software-book-review/</link>
      <pubDate>Mon, 05 Oct 2009 12:03:35 +0000</pubDate>
      <guid>https://emadashi.com/2009/10/growing-software-book-review/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://nostarch.com/growingsoftware.htm&#34; target=&#34;_blank&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px&#34; title=&#34;growingsoftware&#34; border=&#34;0&#34; alt=&#34;growingsoftware&#34; align=&#34;right&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/10/growingsoftware.jpg&#34; width=&#34;202&#34; height=&#34;260&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have been reading this book &lt;a href=&#34;http://nostarch.com/growingsoftware.htm&#34;&gt;Growing Software by Louis Testa&lt;/a&gt;, and I consider it the book of the year for me.&lt;/p&gt;
&lt;p&gt;The book is a about how to create a robust successful software; starting from assembling your engineering team, to having a flourishing company with successful software product/services and happy customers.&lt;br&gt;
If you are a new Development Manager, or already a Dev. manager who is in a small company growing fast, this book is for you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nice Development Tools</title>
      <link>https://emadashi.com/2009/09/nice-development-tools/</link>
      <pubDate>Sat, 19 Sep 2009 08:48:19 +0000</pubDate>
      <guid>https://emadashi.com/2009/09/nice-development-tools/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.emadashi.com/wp-content/uploads/2009/09/toolkit.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px&#34; title=&#34;tool-kit&#34; border=&#34;0&#34; alt=&#34;tool-kit&#34; align=&#34;right&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/09/toolkit-thumb.jpg&#34; width=&#34;260&#34; height=&#34;188&#34; /&gt;&lt;/a&gt; Sometimes development tools can be very tempting to a degree that you just want to open the IDE and start hitting those keys. Though it’s not always within the IDE; here is a list of development tools, without specific order, that are just so sweet and pretty crucial to teams opt for best development environment!&lt;/p&gt;</description>
    </item>
    <item>
      <title>DotNetArabi Episode 5 دوت نت عربي الحلقة الخامسة</title>
      <link>https://emadashi.com/2009/08/dotnetarabi-episode-5-%D8%AF%D9%88%D8%AA-%D9%86%D8%AA-%D8%B9%D8%B1%D8%A8%D9%8A-%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9-%D8%A7%D9%84%D8%AE%D8%A7%D9%85%D8%B3%D8%A9/</link>
      <pubDate>Sat, 29 Aug 2009 17:38:52 +0000</pubDate>
      <guid>https://emadashi.com/2009/08/dotnetarabi-episode-5-%D8%AF%D9%88%D8%AA-%D9%86%D8%AA-%D8%B9%D8%B1%D8%A8%D9%8A-%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9-%D8%A7%D9%84%D8%AE%D8%A7%D9%85%D8%B3%D8%A9/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.dotnetarabi.com/&#34;&gt;&lt;img decoding=&#34;async&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/04/dotnetarabi_1.jpg&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;    &lt;a href=&#34;http://www.dotnetarabi.com/&#34;&gt;&lt;img decoding=&#34;async&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/04/dotnetarabi_2.jpg&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Episode 5 of DotNetArabi podcast is published on &lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;www.dotnetarabi.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mohamad Meligy talked in this episode about &lt;a href=&#34;http://en.wikipedia.org/wiki/Object-relational_mapping&#34;&gt;ORM (Object Relational Mapping)&lt;/a&gt;, he explained in details how they work, why we need them, their advantages and disadvantages, and listed some of the known ORM engines.&lt;/p&gt;
&lt;p style=&#34;direction: rtl&#34; align=&#34;right&#34;&gt;
  لقد تم نشر الحلقة الخامسة من دوت نت عربي على www.dotnetarabi.com. تحدث فيها محمد مليجي بإسهاب عن&lt;br /&gt; الـ &lt;span dir=&#34;ltr&#34;&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Object-relational_mapping&#34;&gt;ORM (Object Relational Mapping)&lt;/a&gt;&lt;/span&gt;. مفصلا ماهيتها، و كيف تعمل، و حسناتها و سيئاتها، و ذكر كذلك بعضا من المكتبات البرمجية  منها و حسناتها.
&lt;/p&gt;</description>
    </item>
    <item>
      <title>DotNetArabi Episode 4 دوت نت عربي الحلقة الرابعة</title>
      <link>https://emadashi.com/2009/08/dotnetarabi-episode-4/</link>
      <pubDate>Wed, 19 Aug 2009 21:48:49 +0000</pubDate>
      <guid>https://emadashi.com/2009/08/dotnetarabi-episode-4/</guid>
      <description>&lt;p&gt;&lt;img decoding=&#34;async&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/04/dotnetarabi_1.jpg&#34; /&gt;  &lt;img decoding=&#34;async&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/04/dotnetarabi_2.jpg&#34; /&gt;&lt;/p&gt;
&lt;p&gt;I &lt;strike&gt;just&lt;/strike&gt; published episode 4 of the DotNetArabi podcast on &lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;www.dotnetarabi.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This episode was with guest Mohammad Zayed, he works as Strategic Technology Specialist in Microsoft Jordan. he worked on different Microsoft technologies ranging from Windows Forms applications, Web Forms and Mobile.&lt;br&gt;
Mohammad talks in this episode about Sharepoint, the in&amp;rsquo;s and out&amp;rsquo;s, the benefits and the challenges.&lt;/p&gt;
&lt;p style=&#34;direction: rtl&#34; align=&#34;right&#34;&gt;
  لقد تم نشر الحلقة الرابعة من دوت نت عربي على &lt;a href=&#34;http://www.dotnetarabi.com&#34;&gt;www.dotnetarabi.com&lt;/a&gt; ، التي كان الضيف فيها محمد زايد. يعمل محمد زايد حاليا كمتخصص تقنيات استراتيجي لكبار العملاء في مايكروسوفت الأردن. و تكلم في هذه الحلقة عن الـ Sharepoint: ماهيته، و ما يلزم لتثبيته، و تراخيصه، و نقاط قوته، و نقاط التحدي فيه، و الكثير من المعلومات القيمة. 
&lt;/p&gt;</description>
    </item>
    <item>
      <title>JIT compiler and &#34;Method Not Found&#34; error</title>
      <link>https://emadashi.com/2009/08/jit-compiler-and-method-not-found-error/</link>
      <pubDate>Tue, 11 Aug 2009 21:22:06 +0000</pubDate>
      <guid>https://emadashi.com/2009/08/jit-compiler-and-method-not-found-error/</guid>
      <description>&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&#34; border=&#34;0&#34; alt=&#34;CropperCapture[20]&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/08/windowslivewriterjitcompilerandmethodnotfounderror-150f9croppercapture20-3.jpg&#34; width=&#34;396&#34; height=&#34;152&#34; /&gt; 
&lt;p&gt;Actually it can be “&lt;em&gt;Could Not Load Type&lt;/em&gt;” too, but the reason is the same: you are referencing the wrong DLL version.&lt;/p&gt;
&lt;p&gt;well, this is totally understandable; of course you are going to get this exception when you use an outdated DLL that lacks the new extra parameter to THAT certain method. But the interesting part is it will not happen when you first run your application, and neither when execution reaches the changed method; it will happen when code-execution reaches a place that REFERENCES that changed method.&lt;/p&gt;</description>
    </item>
    <item>
      <title>“طور نفسك برمجيا”…موجة من عمر قعدان</title>
      <link>https://emadashi.com/2009/07/grow-your-self/</link>
      <pubDate>Fri, 31 Jul 2009 17:41:08 +0000</pubDate>
      <guid>https://emadashi.com/2009/07/grow-your-self/</guid>
      <description>&lt;p&gt;قبل أيام، كتب أخي عمر قعدان في مدونته مقالا بعنوان “&lt;a href=&#34;http://blog.jerashdev.net/2009/07/blog-post_20.html&#34;&gt;شيفرة مصدرية للقراءة&lt;/a&gt;” و في آخره استعمل أسلوب “الموجة” في المدونات و هو أسلوب مبتكر في عالم التدوين يقوم صاحبه بكتابة مقال، ثم يطلب في آخر المقال من مدونين معينين كتابة المقال نفسه لكن من تجربتهم الشخصية، و بدورهم يفعلون الأمر ذاته مع آخرين إن أرادوا.&lt;/p&gt;
&lt;p&gt;يطلق على هذا الأسلوب في الإنجليزية كلمة “Tagging” و برأيي أن أقرب مرادف لهذا المعنى في اللغة العربية ضمن هذا السياق هو كلمة “موجة”. و ها أنا أستجيب للموجة التي أطلقها أخي عمر.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Case We Shouldn’t Use Stored Procedure’s In</title>
      <link>https://emadashi.com/2009/06/a-case-we-shouldnt-use-stored-procedures-in/</link>
      <pubDate>Tue, 09 Jun 2009 12:51:18 +0000</pubDate>
      <guid>https://emadashi.com/2009/06/a-case-we-shouldnt-use-stored-procedures-in/</guid>
      <description>&lt;p&gt;We are working on this big project at work in which several teams are assigned to different modules. The modules are, naturally, overlapping in certain areas where they they need to interact with each other through API&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;One of these modules is central and crucial to the rest of the modules, the dependency is very high that the team has to provide many API&amp;rsquo;s. Certain API&amp;rsquo;s was needed by different modules; our team needed a list of entity X, and another team also wanted a list of entity X, BUT…we had different criteria!&lt;/p&gt;</description>
    </item>
    <item>
      <title>DPack for Visual Studio, Better Navigation</title>
      <link>https://emadashi.com/2009/06/dpack-for-visual-studio-better-navigation/</link>
      <pubDate>Mon, 01 Jun 2009 22:07:33 +0000</pubDate>
      <guid>https://emadashi.com/2009/06/dpack-for-visual-studio-better-navigation/</guid>
      <description>&lt;p&gt;There have been couple of code assistance and refactoring products for the Visual Studio IDE, two of the top listed is &lt;a href=&#34;http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/&#34;&gt;CodeRush&lt;/a&gt; and &lt;a href=&#34;http://www.jetbrains.com/resharper/&#34;&gt;Resharper&lt;/a&gt;; they provide amazing and rich functionality regarding code refactoring and navigation.&lt;br&gt;
But if the built-in refactorings in the Visual Studio itself suffices you (I am comfortable with it), then the only thing you need is &lt;a href=&#34;http://www.usysware.com/dpack/Default.aspx&#34;&gt;DPack&lt;/a&gt; for Visual Studio; it&amp;rsquo;s a simple navigation utility by which you can navigate to the wanted File, Class, Method, or Property as easy as couple of strokes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clear jQuery Droppable List</title>
      <link>https://emadashi.com/2009/05/clear-jquery-droppable-list/</link>
      <pubDate>Tue, 19 May 2009 18:25:19 +0000</pubDate>
      <guid>https://emadashi.com/2009/05/clear-jquery-droppable-list/</guid>
      <description>&lt;p&gt;The other day at work I finally had the chance to get my hands on code (see &lt;a title=&#34;Technical Team Leader...Who Is Not&#34; href=&#34;http://www.emadashi.com/index.php/2009/04/technical-team-leaderwho-is-not/&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt; why I&amp;rsquo;m so anxious about it 😛 ).&lt;/p&gt;
&lt;p&gt;We were using the jQuery&amp;rsquo;s Drag and Drop feature, where the droppable areas (DIV&amp;rsquo;s) are marked as droppable and registered for the events like the following:&lt;/p&gt;
&lt;div style=&#34;font-family: Courier New; font-size: 10pt; color: black; background: white;&#34;&gt;
  &lt;p style=&#34;margin: 0px;&#34;&gt;
    &lt;span style=&#34;color: #2b91af;&#34;&gt;  126&lt;/span&gt; &lt;span style=&#34;color: blue;&#34;&gt;function&lt;/span&gt; RegisterDroppable(DomID) {
  &lt;/p&gt;
  &lt;p style=&#34;margin: 0px;&#34;&gt;
    &lt;span style=&#34;color: #2b91af;&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color: #2b91af;&#34;&gt;128&lt;/span&gt;        $(&lt;span style=&#34;color: #a31515;&#34;&gt;‘#&#39;&lt;/span&gt; + DomID).droppable({
  &lt;/p&gt;</description>
    </item>
    <item>
      <title>Technical Team Leader…Who Is Not</title>
      <link>https://emadashi.com/2009/04/technical-team-leaderwho-is-not/</link>
      <pubDate>Fri, 24 Apr 2009 14:19:50 +0000</pubDate>
      <guid>https://emadashi.com/2009/04/technical-team-leaderwho-is-not/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;image originally on ccer&#34; loading=&#34;lazy&#34; src=&#34;https://emadashi.com/wp-content/uploads/2009/04/windowslivewritertechnicalteamleaderwhoisnot-d6d3manytasks-3.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;When I started this blog my goal was to make it a technical one, in which most posts would have code, samples, screen shots, architecture…etc. This was the primary goal, though it is totally fine with me to talk about software life in general.&lt;/p&gt;
&lt;p&gt;The issue is that I get the ideas of my posts from my real daily life, which is mostly code challenges at work. I do write code in my leisure time, but for sure it is not as thorough as the thing at work.&lt;br&gt;
And since I haven&amp;rsquo;t posted any technical stuff lately…the simple conclusion is I DON&amp;rsquo;T SEE CODE ANYMORE!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fear and Humbleness…Obstacles in The Way of Success</title>
      <link>https://emadashi.com/2009/03/fear-and-humblenessobstacles-in-the-way-of-success/</link>
      <pubDate>Tue, 10 Mar 2009 17:43:30 +0000</pubDate>
      <guid>https://emadashi.com/2009/03/fear-and-humblenessobstacles-in-the-way-of-success/</guid>
      <description>&lt;p&gt;“Oh no, I won&amp;rsquo;t go into that code; I am not that intelligent!”&lt;br&gt;
“oh no, I don&amp;rsquo;t want to try this software…I don&amp;rsquo;t know what it will do to my machine!”&lt;br&gt;
“Oh no, I can&amp;rsquo;t write such a unique blog post!”&lt;br&gt;
“Oh no, I will not twiply to that celebrity…come on…he is a celebrity!”&lt;/p&gt;
&lt;p&gt;These phrases kept chasing me for a long while in my life, and sometimes still does. It had the worst effect on my progress, I couldn&amp;rsquo;t move an inch forward; by a deep feeling I didn&amp;rsquo;t confront, I was afraid of failure, mixed with a feeling of negative humbleness.&lt;br&gt;
But that was it, I couldn&amp;rsquo;t stay as a prisoner to these chains, and leave these cookies of success to people who might have less resources and powers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaScript Date Object and Code Convention</title>
      <link>https://emadashi.com/2009/02/javascript-datetime-and-code-convention/</link>
      <pubDate>Thu, 26 Feb 2009 22:01:17 +0000</pubDate>
      <guid>https://emadashi.com/2009/02/javascript-datetime-and-code-convention/</guid>
      <description>&lt;p&gt;“is Code Convention important?”, I couldn&amp;rsquo;t find better time to answer this with a big, decorated, shiny, flashing “YES” more than now!&lt;/p&gt;
&lt;p&gt;I was doing some coding with JavaScript in which I needed to create a Date object and add to it 30 days, simple job! So I did the following:&lt;/p&gt;
&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1256\uc1 \deff0{\fonttbl{\f0\fnil\fcharset178\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red242\green235\blue227;\red0\green0\blue0;\red0\green128\blue0;}??\fs20 \cf1\cb2\highlight2 var\cf0  x = \cf1 new\cf0  Date();\par ??    x.setFullYear(2009, 3, 12);\cf4 //Create date 12th of March, 2009\par ??\cf0     x.setDate(x.getDate() + 30);\par ??    document.writeln(x);}
--&gt;
&lt;div style=&#34;font-size: 10pt; background: #f2ebe3; color: black; font-family: courier new&#34;&gt;
  &lt;p style=&#34;margin: 0px&#34;&gt;
    &lt;span style=&#34;color: blue&#34;&gt;    var&lt;/span&gt; x = &lt;span style=&#34;color: blue&#34;&gt;new&lt;/span&gt; Date();
  &lt;/p&gt;</description>
    </item>
    <item>
      <title>Beware of Static Constructors</title>
      <link>https://emadashi.com/2009/02/be-ware-of-static-constructors/</link>
      <pubDate>Fri, 06 Feb 2009 22:39:22 +0000</pubDate>
      <guid>https://emadashi.com/2009/02/be-ware-of-static-constructors/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;http://www.codeplex.com/bunian&#34;&gt;Bunian&lt;/a&gt; we needed to use a static constructor for some reason, it was all going good; we tested the code and it ran smoothly…excellent (&lt;a href=&#34;http://en.wikipedia.org/wiki/Code_coverage&#34;&gt;Code Coverage&lt;/a&gt; anyone?!).&lt;br&gt;
But when I came across this situation, it appeared that the static constructor wasn&amp;rsquo;t invoked!even when “Class.Method();” is called! so lets examine it.&lt;/p&gt;
&lt;p&gt;I have two simple classes as an Example:&lt;/p&gt;
&lt;div style=&#34;font-size:10pt;background:#f2ebe3;color:black;font-family:courier new;&#34;&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    &lt;span style=&#34;color:blue;&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#2b91af;&#34;&gt;Parent&lt;/span&gt;
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    {
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
        &lt;span style=&#34;color:blue;&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;string&lt;/span&gt; DoSomething()
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
        {
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
            &lt;span style=&#34;color:blue;&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a31515;&#34;&gt;“Parent: DoSomething() called”&lt;/span&gt;;
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
        }
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    }
  &lt;/p&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size:10pt;background:#f2ebe3;color:black;font-family:courier new;&#34;&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    &lt;span style=&#34;color:blue;&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#2b91af;&#34;&gt;Child&lt;/span&gt; : Parent
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    {
  &lt;/p&gt;</description>
    </item>
    <item>
      <title>default ASP.NET Membership provider on different database</title>
      <link>https://emadashi.com/2009/01/default-aspnet-membership-provider-on-different-database/</link>
      <pubDate>Sun, 25 Jan 2009 23:27:31 +0000</pubDate>
      <guid>https://emadashi.com/2009/01/default-aspnet-membership-provider-on-different-database/</guid>
      <description>&lt;p&gt;Every ASP.NET developer should already know about the &lt;a href=&#34;http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx&#34;&gt;Membership Provider&lt;/a&gt; that ships with ASP.NET 2.0. Configuring it is as easy as opening Visual Studio &amp;gt; select the Web project file &amp;gt; navigate to the &lt;em&gt;Project&lt;/em&gt; menu item &amp;gt; and select “&lt;em&gt;ASP.NET Configuration”.&lt;/em&gt; Follow the wizard and you are up and running now.&lt;/p&gt;
&lt;p&gt;But the problem with this approach is that it will build it&amp;rsquo;s OWN database in the App_Data folder and create the required tables there. Wouldn&amp;rsquo;t most of us have their own databases to work with? ok then, if you want the &lt;strong&gt;defualt&lt;/strong&gt; ASP.NET Membership Provide (AspNetSqlMembershipProvider) to work on &lt;strong&gt;YOUR&lt;/strong&gt; database do the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get On With It!</title>
      <link>https://emadashi.com/2009/01/get-on-with-it/</link>
      <pubDate>Fri, 16 Jan 2009 15:56:35 +0000</pubDate>
      <guid>https://emadashi.com/2009/01/get-on-with-it/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2009/01/clock.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-width:0;&#34; src=&#34;https://eashi.files.wordpress.com/2009/01/clock-thumb.jpg&#34; border=&#34;0&#34; alt=&#34;clock&#34; width=&#34;150&#34; height=&#34;146&#34; align=&#34;right&#34; /&gt;&lt;/a&gt;When we started gathering requirements from the charity organizations for &lt;a href=&#34;http://www.codeplex.com/bunian&#34;&gt;Bunian&lt;/a&gt;, it appeared that there are other kinds of people who benefit from the charity organization; there are “needy families” whose father is still alive but can&amp;rsquo;t sustain their families, and “students” who can&amp;rsquo;t afford their study. &lt;/p&gt;
&lt;p&gt;So Bunian needs to support all these Beneficiaries in smart way; we solved the problem by creating the IBeneficiary interface. But the problem is that in order to get out with the best solution ever (damn perfectionism!), we kept coming up with different solutions, and overriding them with other solutions every once in a while, and this kept going like forever!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Importance of Documentation</title>
      <link>https://emadashi.com/2008/12/importance-of-documentation/</link>
      <pubDate>Fri, 26 Dec 2008 11:25:15 +0000</pubDate>
      <guid>https://emadashi.com/2008/12/importance-of-documentation/</guid>
      <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2008/12/documentation.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-width:0;&#34; height=&#34;251&#34; alt=&#34;documentation&#34; src=&#34;https://eashi.files.wordpress.com/2008/12/documentation-thumb.jpg&#34; width=&#34;174&#34; align=&#34;right&#34; border=&#34;0&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lately we have decided in &lt;a href=&#34;http://www.codeplex.com/bunian&#34;&gt;Bunian&lt;/a&gt; to move on to NHibernate 2.0, and the contributor assigned to the move started out, only to send an email one day after: “THERE IS NO DOCUMENTATION!&amp;rsquo;.&lt;br&gt;
We had errors as a result to the move which couldn&amp;rsquo;t be fixed without a documentation explaining why this happened.&lt;/p&gt;
&lt;p&gt;After searching for a while, we found two resources of the new documentation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;a wiki help that is hosted on &lt;a href=&#34;http://knol.google.com/&#34;&gt;Google Knol&lt;/a&gt;:&lt;br&gt;
&lt;a href=&#34;http://knol.google.com/k/fabio-maulo/-/1nr4enxv3dpeq/21&#34; title=&#34;http://knol.google.com/k/fabio-maulo/-/1nr4enxv3dpeq/21#&#34;&gt;http://knol.google.com/k/fabio-maulo/-/1nr4enxv3dpeq/21#&lt;/a&gt;&lt;br&gt;
Not really appealing to be used extensively; no smooth flow between chapters, frames dazzle the eyes, no table of contents, but surely a great step forward for a documentation that is maintained by the community&lt;/p&gt;</description>
    </item>
    <item>
      <title>HttpApplication EndRequest Event Invoked Many Times In Single Request?</title>
      <link>https://emadashi.com/2008/12/httpapplication-endrequest-event-invoked-many-times-in-single-request/</link>
      <pubDate>Sun, 14 Dec 2008 20:44:37 +0000</pubDate>
      <guid>https://emadashi.com/2008/12/httpapplication-endrequest-event-invoked-many-times-in-single-request/</guid>
      <description>&lt;p&gt;The other day I was putting the last touch of a temporary way to manage the NHibernate session (ISession) in &lt;a href=&#34;http://www.codeplex.com/bunian&#34;&gt;Bunian&lt;/a&gt;. So part of the task was to bind a method to the HttpApplication EndRequest event (in the Global.asax.cs file) like the following:&lt;/p&gt;
&lt;div style=&#34;font-size:12pt;background:#f2ebe3;color:black;font-family:courier new;&#34;&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    &lt;span style=&#34;color:blue;&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;override&lt;/span&gt; &lt;span style=&#34;color:blue;&#34;&gt;void&lt;/span&gt; Init()
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    {
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
           &lt;span style=&#34;color:blue;&#34;&gt;this&lt;/span&gt;.EndRequest += WorkContext.&lt;span style=&#34;color:#2b91af;&#34;&gt;NHibernateSessionManager&lt;/span&gt;.Instance.HttpRequestEnded;
  &lt;/p&gt;
  &lt;p style=&#34;margin:0;&#34;&gt;
    }
  &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;By doing this, at the end of each page request the &lt;strong&gt;NHibernateSessionManager.Instance.HttpRequestEnded()&lt;/strong&gt; will be called and I can clean the session then. But to my surprise this method was called at least 10 times!! So I thought maybe the &lt;strong&gt;Global.Init()&lt;/strong&gt; method is called many times for some reason and I ended up binding the same method to the EndRequest event many times, so I set a breakpoint at the Global.Init() method and…it&amp;rsquo;s called one time only.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Travians be Warned…Rapacious is Rising</title>
      <link>https://emadashi.com/2008/12/travians-be-warnedrapacious-is-rising/</link>
      <pubDate>Fri, 12 Dec 2008 12:55:04 +0000</pubDate>
      <guid>https://emadashi.com/2008/12/travians-be-warnedrapacious-is-rising/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t know whether to thank or scold my good friend &lt;a href=&#34;http://www.jerashdev.net/blog/ara/&#34;&gt;Omar Qadan&lt;/a&gt; for introducing me to &lt;a href=&#34;http://www.travian.com/&#34;&gt;Travian&lt;/a&gt;, a strategy game played online.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Travian screenshot&#34; loading=&#34;lazy&#34; src=&#34;https://eashi.files.wordpress.com/2008/12/travian4.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s amazing how a simple, web-based, HTML-front game can be so rich and vast entertainment-wise. It&amp;rsquo;s a real strategy game where you build villages, resources, armies, embassies, and conduct trading, diplomacy, wars, and alliances—all through simple images, numbers, and text.&lt;/p&gt;
&lt;p&gt;On the other hand, I can&amp;rsquo;t ignore the programming part of the game (being a developer that is). It must be big, fun, and tiring; think of all these rules and the simulation algorithms the game is built upon, the server handling thousands of players, and scripts (yes, lots of hacks! 😄). Even the hacking idea itself is so delicious (programming-wise only 😄), a true heaven for developers. Also, the makers of the game are on the right track of providing developers points through which they can access the game and display information on other sites or applications. For now, it&amp;rsquo;s only exporting database tables of statistical information about the game status, but still I consider it a cool step toward supplying nice endpoints for developers, maybe Web Services in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to NHibernate Session at Jordev Was Good</title>
      <link>https://emadashi.com/2008/12/introduction-to-nhibernate-session-at-jordev-was-good/</link>
      <pubDate>Fri, 05 Dec 2008 13:29:47 +0000</pubDate>
      <guid>https://emadashi.com/2008/12/introduction-to-nhibernate-session-at-jordev-was-good/</guid>
      <description>&lt;p&gt;The feedback was very good, and I was glad that everybody liked it. Jordev is really moving ahead, and I am very excited being part of it 🙂&lt;/p&gt;
&lt;p&gt;Below is the slide show (it&amp;rsquo;s an enhanced version from my &lt;a href=&#34;http://eashi.wordpress.com/2008/07/02/my-introduction-to-nhibernate-presentation-and-slides/&#34;&gt;previous one&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.slideshare.net/slideshow/introduction-to-nhibernate-presentation/821222&#34;&gt;Introduction To NHibernate (SlideShare)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Code is the same of the previous one which you can download from &lt;a href=&#34;http://www.freedrive.com/file/395364,emadnhibernatepresentation.zip&#34;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First Talk at JorDev .net</title>
      <link>https://emadashi.com/2008/11/my-first-talk-at-jordev-net/</link>
      <pubDate>Fri, 21 Nov 2008 18:31:49 +0000</pubDate>
      <guid>https://emadashi.com/2008/11/my-first-talk-at-jordev-net/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;JorDev Logo&#34; loading=&#34;lazy&#34; src=&#34;http://eashi.files.wordpress.com/2008/11/jordevlogo.png&#34;&gt;
&lt;img alt=&#34;NHibernate Logo&#34; loading=&#34;lazy&#34; src=&#34;http://eashi.files.wordpress.com/2008/11/nhib-logo04.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://jordev.net/JordevCommunity/About.aspx&#34;&gt;JorDev .net&lt;/a&gt; is a .NET user group founded by enthusiastic Jordanian IT professionals. On Wednesday, November 26, I will be doing my first session in a series about NHibernate.&lt;/p&gt;
&lt;h2 id=&#34;talk-details&#34;&gt;Talk Details&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Overview: NHibernate is an object-relational mapping (ORM) solution for the Microsoft .NET platform. It provides an easy-to-use framework for mapping an object-oriented domain model to a traditional relational database. Its purpose is to relieve the developer from a significant amount of relational data persistence-related programming tasks. NHibernate is free open source software distributed under the GNU Lesser General Public License.&lt;/li&gt;
&lt;li&gt;Target audience: .NET developers, software designers, software engineers, and software architects.&lt;/li&gt;
&lt;li&gt;Date: Wednesday, November 26, 2008.&lt;/li&gt;
&lt;li&gt;Location: MIC (Microsoft Innovation Center, Royal Scientific Society Building, 3rd Floor).&lt;/li&gt;
&lt;li&gt;Time: 6:30 pm to 8:30 pm (Amman, Jordan local time).&lt;/li&gt;
&lt;li&gt;For more info:
&lt;ul&gt;
&lt;li&gt;Mohamed Saleh: 0788716457&lt;/li&gt;
&lt;li&gt;Ayman Farouk: 0795727344&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;reminders&#34;&gt;Reminders&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://calendar.live.com/calendar/calendar.aspx?rru=addevent&amp;amp;dtstart=20081126T163000Z&amp;amp;dtend=20081126T183000Z&amp;amp;summary=NHibernate&amp;#43;Data&amp;#43;Access&amp;#43;Technology&amp;#43;Session&amp;#43;%5b1%5d&amp;amp;location=Royal&amp;#43;Scientific&amp;#43;Society&amp;#43;Building%2c&amp;#43;3rd&amp;#43;Floor&amp;amp;description=NHibernate&amp;#43;is&amp;#43;an&amp;#43;Object-relational&amp;#43;mapping&amp;#43;%28ORM%29&amp;#43;solution&amp;#43;for&amp;#43;the&amp;#43;Microsoft&amp;#43;.NET&amp;#43;platform.&amp;#43;it&amp;#43;provides&amp;#43;an&amp;#43;easy&amp;#43;to&amp;#43;use&amp;#43;framework&amp;#43;for&amp;#43;mapping&amp;#43;an&amp;#43;object-oriented&amp;#43;domain&amp;#43;model&amp;#43;to&amp;#43;a&amp;#43;traditional&amp;#43;relational&amp;#43;database.&amp;#43;Its&amp;#43;purpose&amp;#43;is&amp;#43;to&amp;#43;relieve&amp;#43;the&amp;#43;developer&amp;#43;from&amp;#43;a&amp;#43;significant&amp;#43;amount&amp;#43;of&amp;#43;relational&amp;#43;data&amp;#43;persistence-related&amp;#43;programming&amp;#43;tasks.%0a...%0d%0a%0d%0ahttp%3a%2f%2fjordevnhibernate1.events.live.com%2f&#34;&gt;Live Calendar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.facebook.com/event.php?eid=45818242564&#34;&gt;Facebook event&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://jordevnhibernate1.events.live.com/event.ics&#34;&gt;Outlook Calendar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.google.com/calendar/event?action=TEMPLATE&amp;amp;text=NHibernate&amp;#43;Data&amp;#43;Access&amp;#43;Technology&amp;#43;Session&amp;#43;%5b1%5d&amp;amp;dates=20081126T163000Z%2f20081126T183000Z&amp;amp;location=Royal&amp;#43;Scientific&amp;#43;Society&amp;#43;Building%2c&amp;#43;3rd&amp;#43;Floor&amp;amp;sprop=http%3a%2f%2fjordevnhibernate1.events.live.com%2f&amp;amp;details=NHibernate&amp;#43;is&amp;#43;an&amp;#43;Object-relational&amp;#43;mapping&amp;#43;%28ORM%29&amp;#43;solution&amp;#43;for&amp;#43;the&amp;#43;Microsoft&amp;#43;.NET&amp;#43;platform.&amp;#43;it&amp;#43;provides&amp;#43;an&amp;#43;easy&amp;#43;to&amp;#43;use&amp;#43;framework&amp;#43;for&amp;#43;mapping&amp;#43;an&amp;#43;object-oriented&amp;#43;domain&amp;#43;model&amp;#43;to&amp;#43;a&amp;#43;traditional&amp;#43;relational&amp;#43;database.&amp;#43;Its&amp;#43;purpose&amp;#43;is&amp;#43;to&amp;#43;relieve&amp;#43;the&amp;#43;developer&amp;#43;from&amp;#43;a&amp;#43;significant&amp;#43;amount&amp;#43;of&amp;#43;relational&amp;#43;data&amp;#43;persistence-related&amp;#43;programming&amp;#43;tasks.%0a...%0d%0a%0d%0ahttp%3a%2f%2fjordevnhibernate1.events.live.com%2f&#34;&gt;Google Calendar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Data Access Within Business Objects -Bunian Design-</title>
      <link>https://emadashi.com/2008/11/data-access-within-business-objects-bunian-design/</link>
      <pubDate>Sun, 09 Nov 2008 21:17:27 +0000</pubDate>
      <guid>https://emadashi.com/2008/11/data-access-within-business-objects-bunian-design/</guid>
      <description>&lt;p&gt;In a previous post I showed the general architecture of Bunian. I&amp;rsquo;d like, in this post, to touch on the Data Access part and how it interacts with the Business Objects.&lt;/p&gt;
&lt;p&gt;In traditional architectures there are 3 known layers: Data Access, Business, and Presentation. &lt;a href=&#34;http://en.wikipedia.org/wiki/Data_Transfer_Object&#34;&gt;DTO&amp;rsquo;s&lt;/a&gt; (Data Transfer Objects) are used to carry the data back and forth between the layers. Look to the following diagram:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;DTO&#34; loading=&#34;lazy&#34; src=&#34;http://eashi.files.wordpress.com/2008/11/dto.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Bunian contributors seemed to have the same experience developing against such architecture, so we have decided to go with something different; smart Business Objects with more toward OOP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bunian Basic Design</title>
      <link>https://emadashi.com/2008/10/bunian-basic-design/</link>
      <pubDate>Thu, 23 Oct 2008 16:02:10 +0000</pubDate>
      <guid>https://emadashi.com/2008/10/bunian-basic-design/</guid>
      <description>&lt;p&gt;Well, it&amp;rsquo;s moving on, very slow, but it&amp;rsquo;s moving!&lt;/p&gt;
&lt;p&gt;If you have been following this blog, then I think you are familiar with Bunian, the open source project for charity organizations. During the last Bunian team meeting at the beginning of this week, the basic design emerged (still being discussed and subject to changes till the minute of this post); we have decided to skip the dummy DTO objects, and to try Business Objects (BO), where most of the business logic lays, rather than in a separate Business Service.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NHibernate possible bug in IQuery.List&lt;T&gt;()</title>
      <link>https://emadashi.com/2008/09/nhibernate-possible-bug-in-iquerylistt/</link>
      <pubDate>Sun, 21 Sep 2008 22:09:15 +0000</pubDate>
      <guid>https://emadashi.com/2008/09/nhibernate-possible-bug-in-iquerylistt/</guid>
      <description>&lt;p&gt;recently, we had to clean the database from all the testing data, when an error similar to the following appeared:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The value &amp;quot;&amp;quot; is not of type &amp;ldquo;System.Nullable`1[System.DateTime]&amp;rdquo; and cannot be used in this generic collection&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The code I executed was:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;IQuery query = DbManager.MySession.CreateQuery(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;select max(dateObject.EndDate) from DateDomain dateObject&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;IList&amp;lt;DateTime?&amp;gt; list = query.List&amp;lt;DateTime?&amp;gt;();
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When I debugged NHibernate code, I reached to the following AddAll() method in the ArrayHelper class:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// NH-specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; AddAll(IList to, IList &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;foreach&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;object&lt;/span&gt; obj &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;from&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        to.Add(obj);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can find the explanation of the error &lt;a href=&#34;http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/abc99fb5-e218-4efa-8969-3d96f6021cee/&#34;&gt;here&lt;/a&gt;.&lt;br&gt;
Which brings us to the interesting question: why the implementation of IList Add method doesn&amp;rsquo;t consider the &amp;ldquo;nullability&amp;rdquo; of the T object? and why the parameter is of type IList?!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Announcing open source project Bunian</title>
      <link>https://emadashi.com/2008/08/announcing-open-source-project-bunian/</link>
      <pubDate>Fri, 29 Aug 2008 18:14:57 +0000</pubDate>
      <guid>https://emadashi.com/2008/08/announcing-open-source-project-bunian/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2008/08/opensource-logo.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-full wp-image-91&#34; src=&#34;https://eashi.files.wordpress.com/2008/08/opensource-logo.jpg&#34; alt=&#34;&#34; width=&#34;181&#34; height=&#34;156&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What could be better, as an &lt;a href=&#34;http://en.wikipedia.org/wiki/Open_source&#34;&gt;Open Source&lt;/a&gt; project, than a charity application! where your code is really worth something valuable; a smile on an innocent orphan face, or new clothes for a needy family in &lt;a href=&#34;http://en.wikipedia.org/wiki/Eid_ul-Fitr&#34;&gt;Eid&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Announcing new open source project &lt;a href=&#34;http://www.codeplex.com/Bunian&#34;&gt;Bunian&lt;/a&gt;; the excitement is indescribable! eager to reach with it a stage when it&amp;rsquo;s really alive, doing something good out there for needy people. I understand it&amp;rsquo;s going to take so much to drive a successful project, but with the right contributions from the right people like you…I am sure things will just work fine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NHibernate Inverse attribute</title>
      <link>https://emadashi.com/2008/08/nhibernate-inverse-attribute/</link>
      <pubDate>Fri, 22 Aug 2008 14:22:26 +0000</pubDate>
      <guid>https://emadashi.com/2008/08/nhibernate-inverse-attribute/</guid>
      <description>&lt;p&gt;I had to read documentation, articles, many blog entries and go into discussions with colleagues… all to get the root of this ambiguous attribute of NHibernate, it is trickey!&lt;br&gt;
This blog entry is another trial to explain the attribute, but with taking one more detailed step into the explanation.&lt;/p&gt;
&lt;p&gt;NHibernate is meant to persist objects as well as to manage their relations to each other, lets take a look at the following example of Parent and Child classes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapping Enumeration of type int in NHibernate</title>
      <link>https://emadashi.com/2008/08/mapping-enumeration-of-type-int-in-nhibernate/</link>
      <pubDate>Tue, 19 Aug 2008 07:45:38 +0000</pubDate>
      <guid>https://emadashi.com/2008/08/mapping-enumeration-of-type-int-in-nhibernate/</guid>
      <description>&lt;p&gt;I wanted to map an integer enumeration type in NHibernate, I googled “mapping enumeration in NHibernate” and the best explanation was of Jeremy Miller in his post &lt;a href=&#34;http://codebetter.com/blogs/jeremy.miller/archive/2006/02/20/138732.aspx&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But as it appears (and according to my understanding) that the enumeration type should be mapped to a database column of characters type (varchar, char,…etc).&lt;br&gt;
What if the database column was int? well…do exactly like what jeremy did except simply use “&lt;strong&gt;NHibernate.Type.PersistentEnumType&lt;/strong&gt;” instead of “&lt;strong&gt;NHibernate.Type.EnumStringType&lt;/strong&gt;“.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How we decide what to have for lunch</title>
      <link>https://emadashi.com/2008/08/how-we-decide-what-to-have-for-lunch/</link>
      <pubDate>Sat, 02 Aug 2008 13:09:26 +0000</pubDate>
      <guid>https://emadashi.com/2008/08/how-we-decide-what-to-have-for-lunch/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2008/08/croppercapture5.jpg&#34;&gt;&lt;/a&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2008/08/croppercapture41.jpg&#34;&gt;&lt;/a&gt;Do you go through the same, time-consuming, frustrating discussion with your colleagues when you want to decide what to have for lunch? well…this is exactly what we have been going through where I work.&lt;/p&gt;
&lt;p&gt;To solve the problem (partially, because humans can never totally agree! &lt;a href=&#34;http://eashi.files.wordpress.com/2008/08/4.gif&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-medium wp-image-61&#34; src=&#34;https://eashi.files.wordpress.com/2008/08/4.gif?w=18&#34; alt=&#34;&#34; width=&#34;18&#34; height=&#34;18&#34; /&gt;&lt;/a&gt;), I made a small, quick and dirty web application; LunchPoll.&lt;/p&gt;
&lt;p&gt;The user (Active Directory user, it works on Windows Authentication) would go to the home page, select the available poll:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Are code comments important?</title>
      <link>https://emadashi.com/2008/07/are-code-comments-important/</link>
      <pubDate>Sat, 19 Jul 2008 10:02:50 +0000</pubDate>
      <guid>https://emadashi.com/2008/07/are-code-comments-important/</guid>
      <description>&lt;p&gt;From the very first day I have heard about &lt;a href=&#34;http://en.wikipedia.org/wiki/Agile_development&#34; title=&#34;Agile Development&#34;&gt;Agile development&lt;/a&gt; and I have been hearing things like “&lt;a href=&#34;http://blog.gravityfree.ca/2006/11/myth-of-comments.html&#34; title=&#34;code comments are bad&#34;&gt;code comments are not such a good thing&lt;/a&gt;”&lt;/p&gt;
&lt;p&gt;The main idea behind that is that the code should be self explanatory; giving functions good names and splitting concerns into different functions.&lt;/p&gt;
&lt;p&gt;But what about the “why”; why this certain code is written this way? why not do it that way? and this is what I have gone through today!&lt;/p&gt;</description>
    </item>
    <item>
      <title>My “Introduction to NHibernate” presentation and slides</title>
      <link>https://emadashi.com/2008/07/my-introduction-to-nhibernate-presentation-and-slides/</link>
      <pubDate>Wed, 02 Jul 2008 16:34:04 +0000</pubDate>
      <guid>https://emadashi.com/2008/07/my-introduction-to-nhibernate-presentation-and-slides/</guid>
      <description>&lt;p&gt;I have delivered the presentation I talked about in my previous post &lt;a title=&#34;what is next&#34; href=&#34;http://eashi.wordpress.com/2008/06/21/what-is-next-2/&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Actually it was pretty simple and straightforward, the slides them selves don&amp;rsquo;t have code content; all the code was shown in VS directly (I always found it better to see the code in its really environment to better understand).&lt;br&gt;
The attendees were handful, but if felt really great when they expressed how excited they were about the whole thing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Columns’ case-sensitivity in NHibernate</title>
      <link>https://emadashi.com/2008/06/columns-case-sensitivity-in-nhibernate/</link>
      <pubDate>Sat, 28 Jun 2008 09:29:44 +0000</pubDate>
      <guid>https://emadashi.com/2008/06/columns-case-sensitivity-in-nhibernate/</guid>
      <description>&lt;p&gt;The other day I wanted to create an HQL query to retrieve data from one object (WorkOrderFault) that has many-to-many relation with another. so I created the following:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ISession session = NHibernateOrmSessionFactory.CurrentNHibernateSession;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;IQuery query = session.CreateQuery(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;select wof from WorkOrderFault wof join wof.WorkOrderTechnicians as tech where tech.Id = 43334&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;IList&amp;lt;WorkOrderFault&amp;gt; objects = query.List&amp;lt;WorkOrderFault&amp;gt;();
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The query ran successfully, and I got my results.&lt;/p&gt;
&lt;p&gt;Then I wanted to use paging and get certain amount of results starting from certain record, so I added these two lines directly after I instantiated the IQuery object:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suspecting already used code</title>
      <link>https://emadashi.com/2008/06/suspecting-already-used-code/</link>
      <pubDate>Sun, 22 Jun 2008 14:37:12 +0000</pubDate>
      <guid>https://emadashi.com/2008/06/suspecting-already-used-code/</guid>
      <description>&lt;p&gt;In one of the modules I am working on, my unit tests used to take tremendous amount of time (4 minutes per test 🤢. I inherited the NHibernate config file from previous NHibernate test module that was used somewhere before!&lt;/p&gt;
&lt;p&gt;At the beginning I thought that this is something common when you use NHibernate with rich applications, so I didn’t pay much attention, but then it became a real headache.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is next</title>
      <link>https://emadashi.com/2008/06/what-is-next-2/</link>
      <pubDate>Sat, 21 Jun 2008 13:14:36 +0000</pubDate>
      <guid>https://emadashi.com/2008/06/what-is-next-2/</guid>
      <description>&lt;p&gt;Ok, now I am facing a hard decision; what to do next in my technical life?&lt;/p&gt;
&lt;p&gt;In order to reach for better decision, I drew a &lt;a href=&#34;http://en.wikipedia.org/wiki/Mind_map&#34;&gt;mind map&lt;/a&gt; using this wonderful online tool &lt;a href=&#34;http://www.mindomo.com/&#34;&gt;Mindomo&lt;/a&gt;, it’s like  the following:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://eashi.files.wordpress.com/2008/06/mostimportant1.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; style=&#34;border-width:0;&#34; src=&#34;https://eashi.files.wordpress.com/2008/06/mostimportant-thumb.jpg&#34; border=&#34;0&#34; alt=&#34;most important&#34; width=&#34;527&#34; height=&#34;279&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Those nodes are the things I think I want to study/do most.&lt;br&gt;
I marked the most important ones with the red, yellow and then blue flags. Then marked the ones I need to do most urgently with 1 being the most urgent, 2 less urgent and so on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Builds while deployment</title>
      <link>https://emadashi.com/2008/06/builds-while-deployment/</link>
      <pubDate>Sun, 15 Jun 2008 16:20:45 +0000</pubDate>
      <guid>https://emadashi.com/2008/06/builds-while-deployment/</guid>
      <description>&lt;p&gt;In my company, we are working on this big GRP project, lots of pages, projects and workflows, soon we are delivering some modules to the customer.&lt;br /&gt; So today, while trying to test a workflow that we have been working for days, something weird happened; the users of the workflow didn&amp;rsquo;t exist anymore!!&lt;/p&gt;
&lt;p&gt;After searching for a while, it appeared that we are delivering some modules, and real data needed to be deployed on a database especially for deployment, basically the Users table was the primary table! so as simple as it gets…they created the new database and changed the users we used for the real users (along with the hierarchical structure of the employees).&lt;br /&gt; Ok…that’s fine for now, but the problem is that they wanted us to work on the new data; the action was that they changed the users on the development database on our development environment!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
