<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Eran Nachum's Blog</title>
    <link>http://www.eranachum.com/</link>
    <description>www.eranachum.com - Implementing &amp; executing my thoughts...</description>
    <language>en-us</language>
    <copyright>Eran Nachum</copyright>
    <lastBuildDate>Sun, 16 Mar 2008 13:35:27 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>eranachum@hotmail.com</managingEditor>
    <webMaster>eranachum@hotmail.com</webMaster>
    <item>
      <trackback:ping>http://www.eranachum.com/Trackback.aspx?guid=ca12272e-8f67-44a7-8653-7566787c38e2</trackback:ping>
      <pingback:server>http://www.eranachum.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.eranachum.com/PermaLink,guid,ca12272e-8f67-44a7-8653-7566787c38e2.aspx</pingback:target>
      <dc:creator>eranachum@hotmail.com (Eran Nachum)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Hi,
   </p>
        <p>
      Great post that gathers around 100+ resources that could make the web developer life
      much more easier; code snippets, sites that automate processes, cheat sheets and more
      and more...
   </p>
        <p>
      This priceless list is listed <a href="http://blog-well.com/2008/03/04/100-resources-for-web-developers/" target="_blank">here</a>.
   </p>
        <p>
      BTW, don't become confused from the first image - I also know that this is not a common
      vision in our world of code... ;)
   </p>
        <img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=ca12272e-8f67-44a7-8653-7566787c38e2" />
      </body>
      <title>Web Developers? 100+ Resources for You!</title>
      <guid>http://www.eranachum.com/PermaLink,guid,ca12272e-8f67-44a7-8653-7566787c38e2.aspx</guid>
      <link>http://www.eranachum.com/PermaLink,guid,ca12272e-8f67-44a7-8653-7566787c38e2.aspx</link>
      <pubDate>Sun, 16 Mar 2008 13:35:27 GMT</pubDate>
      <description>&lt;p&gt;
   Hi,
&lt;/p&gt;
&lt;p&gt;
   Great post that gathers around 100+ resources that could make the web developer life
   much more easier; code snippets, sites that automate processes, cheat sheets and more
   and more...
&lt;/p&gt;
&lt;p&gt;
   This priceless list is listed &lt;a href="http://blog-well.com/2008/03/04/100-resources-for-web-developers/" target="_blank"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   BTW, don't become confused from the first image - I also know that this is not a common
   vision in our world of code... ;)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=ca12272e-8f67-44a7-8653-7566787c38e2" /&gt;</description>
      <category>Code;Patterns;Web 2.0</category>
    </item>
    <item>
      <trackback:ping>http://www.eranachum.com/Trackback.aspx?guid=9fafbb58-dd14-4ab4-beb8-e29999caba1d</trackback:ping>
      <pingback:server>http://www.eranachum.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.eranachum.com/PermaLink,guid,9fafbb58-dd14-4ab4-beb8-e29999caba1d.aspx</pingback:target>
      <dc:creator>eranachum@hotmail.com (Eran Nachum)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I read a great article about performance and scalability. Some of the issues there
      were helped me a lot and the rest were sharpen my knowledge.
   </p>
        <p>
      So, if you are an ASP.NET developer (beginner or senior), It is recommended for you
      to read that one by <strong>Omar Al Zabir</strong> at the codeproject site <a href="http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx" target="_blank">here</a>. 
   </p>
        <p>
      Some if the things that he talks about are: ASP.NET pipeline optimization, Things
      you must do for ASP.NET before going live, Caching AJAX calls on browse and more...
   </p>
        <p>
      Worth a reading...
   </p>
        <img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=9fafbb58-dd14-4ab4-beb8-e29999caba1d" />
      </body>
      <title>Great Article about ASP.NET Performance and Scalability</title>
      <guid>http://www.eranachum.com/PermaLink,guid,9fafbb58-dd14-4ab4-beb8-e29999caba1d.aspx</guid>
      <link>http://www.eranachum.com/PermaLink,guid,9fafbb58-dd14-4ab4-beb8-e29999caba1d.aspx</link>
      <pubDate>Wed, 06 Feb 2008 15:08:10 GMT</pubDate>
      <description>&lt;p&gt;
   I read a great article about performance and scalability. Some of the issues there
   were helped me a lot and the rest were sharpen my knowledge.
&lt;/p&gt;
&lt;p&gt;
   So, if you are an ASP.NET developer (beginner or senior), It is recommended for you
   to read that one by &lt;strong&gt;Omar Al Zabir&lt;/strong&gt; at the codeproject site &lt;a href="http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx" target="_blank"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   Some if the things that he talks about are: ASP.NET pipeline optimization, Things
   you must do for ASP.NET before going live, Caching AJAX calls on browse and more...
&lt;/p&gt;
&lt;p&gt;
   Worth a reading...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=9fafbb58-dd14-4ab4-beb8-e29999caba1d" /&gt;</description>
      <category>ASP.NET;Code;Patterns;Web scalability</category>
    </item>
    <item>
      <trackback:ping>http://www.eranachum.com/Trackback.aspx?guid=fd1acf3f-08ca-4066-8eed-13609c453fbd</trackback:ping>
      <pingback:server>http://www.eranachum.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.eranachum.com/PermaLink,guid,fd1acf3f-08ca-4066-8eed-13609c453fbd.aspx</pingback:target>
      <dc:creator>eranachum@hotmail.com (Eran Nachum)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      By the formal definition, Microformats designated in the first place for humans and
      just after to machines. Actually, this is a set of simple informational formats that
      based over generic and well unified standards. This set of formats comes to simplify
      common problems into a behavior and common templates (like XHTML, XML etc...).
   </p>
        <p>
      The main goal of this formats is not to invent a new language or force these kind
      of changes over the 'world', however it comes to adapt a different way of thinking
      regarding storing information and publishing it to the world.
   </p>
        <p>
      I going to apply this set of formats in my new web 2.0 working application. By doing
      it I can publish to a third level party data from my site easily in unified structure. 
   </p>
        <p>
      So what is the main different from what we have today? 
   </p>
        <p>
      Today we are using XML structure in order to keep data and to publish it or even publishing
      a specific  API that will explain the consumer the way she can retrieve the data.
      These kinds of solutions spends the developer's time that wants to get the data (she
      has to learn the API in order to use it); the Microformats comes to save up this time
      because it's a well know formats.
   </p>
        <p>
      You can use RSS or some other feeds you'll ask not? In fact yes! BUT, these Microformats
      has a variety of patterns that help you publish extended unified structure data which
      supplies you more functionality.
   </p>
        <p>
      Common standards are: <a href="http://microformats.org/code/hcalendar/creator" target="_blank">hCalendar</a> which
      supplies a calendar format in order to publish events, <a href="http://microformats.org/code/hcard/creator" target="_blank">hCard</a> which
      is a format for personal details card.
   </p>
        <p>
      One more good advantage is search engines. Step by step, search engines crawlers starts
      to learn this kind format and knows to index this data in efficient way; this is also
      improves your site's SEO.
   </p>
        <p>
      More details regarding it you can read here - <a href="http://microformats.org/" target="_blank">http://microformats.org/</a></p>
        <img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=fd1acf3f-08ca-4066-8eed-13609c453fbd" />
      </body>
      <title>Have you heard about Microformats?</title>
      <guid>http://www.eranachum.com/PermaLink,guid,fd1acf3f-08ca-4066-8eed-13609c453fbd.aspx</guid>
      <link>http://www.eranachum.com/PermaLink,guid,fd1acf3f-08ca-4066-8eed-13609c453fbd.aspx</link>
      <pubDate>Tue, 04 Dec 2007 09:26:01 GMT</pubDate>
      <description>&lt;p&gt;
   By the formal definition, Microformats designated in the first place for humans and
   just after to machines. Actually, this is a set of simple informational formats that
   based over generic and well unified standards. This set of formats comes to simplify
   common problems into a behavior and common templates (like XHTML, XML etc...).
&lt;/p&gt;
&lt;p&gt;
   The main goal of this formats is not to invent a new language or force these kind
   of changes over the 'world', however it comes to adapt a different way of thinking
   regarding storing information and publishing it to the world.
&lt;/p&gt;
&lt;p&gt;
   I going to apply this set of formats in my new web 2.0 working application. By doing
   it I can publish to a third level party data from my site easily in unified structure. 
&lt;/p&gt;
&lt;p&gt;
   So what is the main different from what we have today? 
&lt;/p&gt;
&lt;p&gt;
   Today we are using XML structure in order to keep data and to publish it or even publishing
   a specific&amp;nbsp; API that will explain the consumer the way she can retrieve the data.
   These kinds of solutions spends the developer's time that wants to get the data (she
   has to learn the API in order to use it); the Microformats comes to save up this time
   because it's a well know formats.
&lt;/p&gt;
&lt;p&gt;
   You can use RSS or some other feeds you'll ask not? In fact yes! BUT, these Microformats
   has a variety of patterns that help you publish extended unified structure data which
   supplies you more functionality.
&lt;/p&gt;
&lt;p&gt;
   Common standards are: &lt;a href="http://microformats.org/code/hcalendar/creator" target=_blank&gt;hCalendar&lt;/a&gt; which
   supplies a calendar format in order to publish events, &lt;a href="http://microformats.org/code/hcard/creator" target=_blank&gt;hCard&lt;/a&gt; which
   is a format for personal details card.
&lt;/p&gt;
&lt;p&gt;
   One more good advantage is search engines. Step by step, search engines crawlers starts
   to learn this kind format and knows to index this data in efficient way; this is also
   improves your site's SEO.
&lt;/p&gt;
&lt;p&gt;
   More details regarding it you can read here - &lt;a href="http://microformats.org/" target=_blank&gt;http://microformats.org/&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=fd1acf3f-08ca-4066-8eed-13609c453fbd" /&gt;</description>
      <category>Other;Patterns;Web 2.0</category>
    </item>
    <item>
      <trackback:ping>http://www.eranachum.com/Trackback.aspx?guid=7e3769f9-bf81-4b9f-9131-eddfac599ed4</trackback:ping>
      <pingback:server>http://www.eranachum.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.eranachum.com/PermaLink,guid,7e3769f9-bf81-4b9f-9131-eddfac599ed4.aspx</pingback:target>
      <dc:creator>eranachum@hotmail.com (Eran Nachum)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I have a problem (or used to have a problem...). In my working on web 2.0 startup,
      I bumped in a problem which in first thought looked to me as a simple one but after
      something like 5 seconds I figured out that it's actually a problem (or something
      to think about - I like this phrase much better ;)).
   </p>
        <p>
      So after this introduction, lets introduce the 'something to think about' issue: I
      had to run each period of time a set of tasks in order to update some database statuses.
      If my web application was hosted on a dedicated server, this one had be solved very
      quickly; windows service - I guess you thought about it yourselves...
   </p>
        <p>
      BUT, we are not going to host this web 2.0 application in a dedicated server (at least
      not now) and the scheduled task became a task itself, because (if you are web developers
      you'd better know) application is lives as long as there is at least one client that
      consumes it. When the last consumer is going home, also the application in going home
      to relax... 
   </p>
        <p>
          <strong>Now to the main question: how can we keep it alive?</strong>
        </p>
        <p>
      After doing some thinking between me and myself, gathering up some good resolutions
      and not I thought about good one; in your web application create a web service that
      most of its job is to expose a <em>KeepAlive</em> web method that will return a dummy
      value and will keep the web application alive all the time and also will perform the
      tasks that you to establish for permanent period of time.
   </p>
        <p>
      In your local PC, create a small desktop application in order to handle the tasks.
      This application will be a windows service that will run automatically under your
      machine every X interval and will ping the web service in order to keep the web application
      alive. 
   </p>
        <p>
      Note: the web service itself will know to execute the specific task itself every predefined
      period of time.
   </p>
        <p>
          <em>What about performance?</em> This solution could affect your web application performance
      (I think that you know the reason why), in this case you can create another wen
      application that will be placed in the same server and all its job is to be kept alive
      and perform your tasks.
   </p>
        <p>
      Any addition will be appreciated... I am going to write this web service now...
   </p>
        <img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=7e3769f9-bf81-4b9f-9131-eddfac599ed4" />
      </body>
      <title>Scheduled Task in Web Application - Is it can be done?</title>
      <guid>http://www.eranachum.com/PermaLink,guid,7e3769f9-bf81-4b9f-9131-eddfac599ed4.aspx</guid>
      <link>http://www.eranachum.com/PermaLink,guid,7e3769f9-bf81-4b9f-9131-eddfac599ed4.aspx</link>
      <pubDate>Mon, 03 Dec 2007 16:01:39 GMT</pubDate>
      <description>&lt;p&gt;
   I have a problem (or used to have a problem...). In my working on web 2.0 startup,
   I bumped in a problem which in first thought looked to me as a simple one but after
   something like 5 seconds I figured out that it's actually a problem (or something
   to think about - I like this phrase much better ;)).
&lt;/p&gt;
&lt;p&gt;
   So after this introduction, lets introduce the 'something to think about' issue: I
   had to run each period of time a set of tasks in order to update some database statuses.
   If my web application was hosted on a dedicated server, this one had be solved very
   quickly; windows service - I guess you thought about it yourselves...
&lt;/p&gt;
&lt;p&gt;
   BUT, we are not going to host this web 2.0 application in a dedicated server (at least
   not now) and the scheduled task became a task itself, because (if you are web developers
   you'd better know) application is lives as long as there is at least one client that
   consumes it. When the last consumer is going home, also the application in going home
   to relax... 
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;Now to the main question: how can we keep it alive?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   After doing some thinking between me and myself, gathering up some good resolutions
   and not I thought about good one; in your web application create a web service that
   most of its job is to expose a &lt;em&gt;KeepAlive&lt;/em&gt; web method that will return a dummy
   value and will keep the web application alive all the time and also will perform the
   tasks that you to establish for permanent period of time.
&lt;/p&gt;
&lt;p&gt;
   In your local PC, create a small desktop application in order to handle the tasks.
   This application will be a windows service that will run automatically under your
   machine every X interval and will ping the web service in order to keep the web application
   alive. 
&lt;/p&gt;
&lt;p&gt;
   Note: the web service itself will know to execute the specific task itself every predefined
   period of time.
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;What about performance?&lt;/em&gt; This solution could affect your web application performance
   (I think that you know&amp;nbsp;the reason why), in this case you can create another wen
   application that will be placed in the same server and all its job is to be kept alive
   and perform your tasks.
&lt;/p&gt;
&lt;p&gt;
   Any addition will be appreciated... I am going to write this web service now...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=7e3769f9-bf81-4b9f-9131-eddfac599ed4" /&gt;</description>
      <category>ASP.NET;Patterns;Web Services</category>
    </item>
    <item>
      <trackback:ping>http://www.eranachum.com/Trackback.aspx?guid=7d509ea5-bf93-41c7-a07c-0d265753fa5f</trackback:ping>
      <pingback:server>http://www.eranachum.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.eranachum.com/PermaLink,guid,7d509ea5-bf93-41c7-a07c-0d265753fa5f.aspx</pingback:target>
      <dc:creator>eranachum@hotmail.com (Eran Nachum)</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I am working now on a large web application, that need to be used by more than one
      websites (at least 5 of them, websites and web services), therefore I have needed
      to do some isolating here with my main core projects.
   </p>
        <p>
      Some background...<br />
      I have a common assembly (web application) that holds only the user controls,
      server controls and custom controls, which need to serve the all other web applications
      that are using them. This assembly has a reference to the other web application in
      order to have some information about some properties, session variables and global
      members, by this information, it knows to gereate some actions on runtime (or even
      in design). BUT, in the other hand, this web application need to use the controls
      that the first assembly has published, here we have a <strong>problem</strong>, we
      got a circular references, which is now allowed in .NET framework, also it isn't allowed
      anywhere I think...
   </p>
        <p>
      So, how we gonna solve this problem?
   </p>
        <p>
      The solution is quite simple and is known as <strong>Seperate Interface Pattern</strong>.
      (Click <a href="http://www.martinfowler.com/eaaCatalog/separatedInterface.html" target="_blank">here</a> to
      get some more info).
   </p>
        <p>
      The main steps to implement it are:<br />
      Let define a project that called <strong>ProjectA</strong> and holds the
      user controls (etc...) implementations along with <strong>InterfaceB</strong>. <strong>ProjectA</strong> would
      maintain a reference to <strong>InterfaceB</strong>, which will hold any properties
      such as members, methods, events etc...
   </p>
        <p>
      Now, lets define <strong>ProjectB</strong> which will implement <strong>InterfaceA</strong>.
      Now, <strong>ProjectB</strong> would reference <strong>ProjectA</strong> and (BUT) <strong>ProjectA</strong> would
      not reference <strong>ProjectB</strong> of course.
   </p>
        <p>
      The result, ProjectA can access to ProjectB's specific exposed members and ProjectB
      can use the controls of ProjectA.
   </p>
        <img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=7d509ea5-bf93-41c7-a07c-0d265753fa5f" />
      </body>
      <title>Circular References or How to solve this problem?</title>
      <guid>http://www.eranachum.com/PermaLink,guid,7d509ea5-bf93-41c7-a07c-0d265753fa5f.aspx</guid>
      <link>http://www.eranachum.com/PermaLink,guid,7d509ea5-bf93-41c7-a07c-0d265753fa5f.aspx</link>
      <pubDate>Thu, 31 May 2007 12:26:25 GMT</pubDate>
      <description>&lt;p&gt;
   I am working now on a large web application, that need to be used by more than one
   websites (at least 5 of them, websites and web services), therefore I have needed
   to do some isolating here with my main core projects.
&lt;/p&gt;
&lt;p&gt;
   Some background...&lt;br&gt;
   I have a common&amp;nbsp;assembly (web application) that holds only the user controls,
   server controls and custom controls, which need to serve the all other web applications
   that are using them. This assembly has a reference to the other web application in
   order to have some information about some properties, session variables&amp;nbsp;and global
   members, by this information, it knows to gereate some actions on runtime (or even
   in design). BUT, in the other hand, this web application need to use the controls
   that the first assembly has published, here we have a &lt;strong&gt;problem&lt;/strong&gt;, we
   got a circular references, which is now allowed in .NET framework, also it isn't allowed
   anywhere I think...
&lt;/p&gt;
&lt;p&gt;
   So, how we gonna solve this problem?
&lt;/p&gt;
&lt;p&gt;
   The solution is quite simple and is known as &lt;strong&gt;Seperate Interface Pattern&lt;/strong&gt;.
   (Click &lt;a href="http://www.martinfowler.com/eaaCatalog/separatedInterface.html" target=_blank&gt;here&lt;/a&gt; to
   get some more info).
&lt;/p&gt;
&lt;p&gt;
   The main steps to implement it are:&lt;br&gt;
   Let&amp;nbsp;define a project that called &lt;strong&gt;ProjectA&lt;/strong&gt;&amp;nbsp;and holds the
   user controls (etc...) implementations along with &lt;strong&gt;InterfaceB&lt;/strong&gt;. &lt;strong&gt;ProjectA&lt;/strong&gt; would
   maintain a reference to &lt;strong&gt;InterfaceB&lt;/strong&gt;, which will hold any properties
   such as members, methods, events etc...
&lt;/p&gt;
&lt;p&gt;
   Now, lets define &lt;strong&gt;ProjectB&lt;/strong&gt; which will implement &lt;strong&gt;InterfaceA&lt;/strong&gt;.
   Now, &lt;strong&gt;ProjectB&lt;/strong&gt; would reference &lt;strong&gt;ProjectA&lt;/strong&gt; and (BUT) &lt;strong&gt;ProjectA&lt;/strong&gt; would
   not reference &lt;strong&gt;ProjectB&lt;/strong&gt; of course.
&lt;/p&gt;
&lt;p&gt;
   The result, ProjectA can access to ProjectB's specific exposed&amp;nbsp;members and ProjectB
   can use the controls of ProjectA.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.eranachum.com/aggbug.ashx?id=7d509ea5-bf93-41c7-a07c-0d265753fa5f" /&gt;</description>
      <category>.NET 2005;Bugs;Code;Patterns</category>
    </item>
  </channel>
</rss>