<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.devmavens.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.devmavens.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss version="2.0">
<channel>
    <title>DevMavens Feed</title>
    <link>http://DevMavens.com/</link>
    <description>DevMavens</description>
    <language>en-us</language>
    <docs>http://DevMavens.com/Rss</docs>
 
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.devmavens.com/Devmavens" type="application/rss+xml" /><item>
      <title>Problems with opening CHM Help files from Network or Internet</title>
      <author>Rick Strahl</author>
      <link>http://feedproxy.google.com/~r/RickStrahl/~3/NrOzmIeeO04/2928.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;As a publisher of a Help Creation tool in &lt;a title="" href="http://www.west-wind.com/wwHelp/"&gt;Help Builder&lt;/a&gt;, I’ve seen a lot of problems with people not being able to run their help files properly. Here’s the scenario: You go ahead and happily build your fancy, schmanzy Help File and deploy it to your customer or let your customers download them off the Internet directly. &lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;The customer downloads the files opens the zip copies the file to disk then opens the help file and finds:&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&lt;br&gt;&amp;nbsp;&lt;img src="/weblog/images/11/o_CHMHelpIntranetZone.png"&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;...a help file that comes up with all topics in the tree on the left, but a Page Not found or Operation Aborted error in the IE content window; an IE error. The CHM file obviously opened since the topic list is there, but IE refuses to display the content. &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;A phone call later with a pissed of customer and you’re still no wiser what the hell is going on…&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Security is at Fault&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;As you can probably guess, it turns out this is not a problem with the help file, but a problem with Internet Explorer and security. Specifically what happens is that IE is refusing to open the CHM content in the local security zone, because in this environment the browser has full control over the system from within in the help page. Windows marks the file as 'downloaded' and so potentially being dangerous.&lt;br&gt;&lt;br&gt;The issue is that the CHM engine is essentially driven through Internet Explorer via an ActiveX control that handles the display and custom manipulation that provides the CHM HTML view behaviors. The problem of course is the ActiveX control as it relates to the security zone.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;There are two scenarios that can fail:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Open the CHM file from a network resource&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;If you open the CHM file from a network resource such as a mapped drive&amp;nbsp;you will get this error. The fix is to copy the file to a local drive and then it should work. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;CHM File downloaded from the Internet&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;You’ve downloaded and directly opened a CHM file from the Internet in the Temporary Internet folder. This folder is isolated and treated specially as Internet Zone content. Most likely it will not allow running the ActiveX content that actually drives the CHM engine. Solution: Don’t ‘run’ the CHM file off the Web, but rather copy it to file first. This also applies to Zip files downloaded off the internet and even CHM files contained in zip files and then copied out to disk.&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt; &lt;br&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;How to Fix This&lt;br&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;The easiest way to fix this issue is to set properties on the CHM help file and allow it to be opened right when you download or open it for the first time:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img src="http://img355.imageshack.us/img355/1186/secwarning3ge.gif"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;There’s more detailed information of the issue and links to Microsoft KB articles as well as&amp;nbsp;some nasty&amp;nbsp;workarounds for this issue here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.helpscribble.com/chmnetwork.html"&gt;&lt;font size="2" face="Verdana"&gt; http://www.helpscribble.com/chmnetwork.html&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;Another option is to right click on the file's properties and 'Unblock' the file so that the security block is bypassed:&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img src="http://img356.imageshack.us/img356/8344/chmproperties1xe.gif"&gt;&lt;br&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;This latter approach is probably the better choice as it's not a global setting but specific to the particular help file. Once set Windows will display the help file properly and without any extra prompting for security. However, if you do the latter you have to do it to each file individually.&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;It's annoying as all hell that this sort of obtrusive marking is necessary, but it's admittedly a necessary evil because of Microsoft's use of the insecure Internet Explorer engine that drives the CHM Html Engine's topic viewer. Because help files are viewing local content and script is allowed to execute in CHM files there's potential for malicious code hiding in CHM files and the above precautions are supposed to avoid any issues.&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;font size="2" face="Verdana"&gt;&lt;br&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br&gt;&lt;div&gt;Posted in &lt;b&gt;&lt;a href='/Weblog/ShowPosts.aspx?Category=Html Help'&gt;Html Help&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div style='margin-top: 5px;'&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.west-wind.com%2fweblog%2fposts%2f2928.aspx&amp;title=Problems+with+opening+CHM+Help+files+from+Network+or+Internet"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.west-wind.com%2fweblog%2fposts%2f2928.aspx" border='0' alt='kick it on DotNetKicks.com' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/small&gt;&lt;p&gt;&lt;a href='/Weblog/wwBanner.ashx?a=c&amp;id=7c15951f&amp;t=633657707634740000' target='_top'&gt;&lt;img src='http://support.merchantplus.com/partners/banners/largemplusbannerr.gif' border='0'&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.googleadservices.com/~a/rGQpacU4oDIJbmoYGVp0UWY-WSw/a"&gt;&lt;img src="http://feedads.googleadservices.com/~a/rGQpacU4oDIJbmoYGVp0UWY-WSw/i" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=MZ82E6sL"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=88jS5xAj"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?i=88jS5xAj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=1mN9TLWw"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=BI0nqNtV"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?i=BI0nqNtV" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=5kiwWuEm"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/RickStrahl?a=BGvfeeHk"&gt;&lt;img src="http://feedproxy.google.com/~f/RickStrahl?i=BGvfeeHk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feedproxy.google.com/~r/RickStrahl/~4/NrOzmIeeO04" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/RickStrahl/~3/NrOzmIeeO04/2928.aspx"&gt;Problems with opening CHM Help files from Network or Internet&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/RickStrahl"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Thu, 24 Dec 2009 01:02:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/RickStrahl/~3/NrOzmIeeO04/2928.aspx</guid>
    </item>
 
    <item>
      <title>Be Aware of DPI with Image PNGs in WPF - Images Scale Weird or are Blurry</title>
      <author>Scott Hanselman</author>
      <link>http://feedproxy.google.com/~r/ScottHanselman/~3/r1nSm-vKgjA/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWeirdOrAreBlurry.aspx</link>
      <description>Is that enough TLAs (Three Letter Acronyms) in the title there? I continue to mentally deny the existence of DPI (dots per inch) as a concept. It's my own fault. I have been living on PCs at 96dpi for so many years, I just stopped caring. This &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/ScottHanselman/~3/r1nSm-vKgjA/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWeirdOrAreBlurry.aspx"&gt;Be Aware of DPI with Image PNGs in WPF - Images Scale Weird or are Blurry&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/ScottHanselman"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 06 Jan 2009 13:23:03 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/ScottHanselman/~3/r1nSm-vKgjA/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWeirdOrAreBlurry.aspx</guid>
    </item>
 
    <item>
      <title>NH Prof New Feature: The Query Cache</title>
      <author>Oren Eini</author>
      <link>http://feeds.feedburner.com/~r/AyendeRahien/~3/503905716/nh-prof-new-feature-the-query-cache.aspx</link>
      <description>&lt;p&gt;Okay, I said it is not there yet, but I got annoyed by the lack of this feature, and I really had to make this work.&lt;/p&gt; &lt;p&gt;That one was a pretty tough one. It required me to make some minor modifications to NHiberante, as a result, this feature works with NHbierante r3976 or up only. What this means is that if you want to use this feature, you have to get it from the trunk.&lt;/p&gt; &lt;p&gt;This is the only feature in NH Prof that requires the trunk.&lt;/p&gt; &lt;p&gt;In this feature, we can see that we detect a cached query, and are able to display it properly.:&lt;/p&gt; &lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureTheQueryCache_37DE/image_2.png"&gt;&lt;img height="519" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureTheQueryCache_37DE/image_thumb.png" width="726" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I am not sure how I should treat this for the purpose of analysis. Should this be grouped with the actual query? Should this be a separate entry?&lt;/p&gt; &lt;p&gt;Anyway, just for kicks, here is the test for the feature:&lt;/p&gt; &lt;blockquote&gt;&lt;pre&gt;[TestFixture]
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CachingTestFixture : IntegrationTestBase
{
    [Test]
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; CanDetectCachedQueries()
    {
        ExecuteScenarioInDifferentAppDomain&amp;lt;UsingCacheQueries&amp;gt;();

    	var array = observer.Model.Sessions[2].Statements.OfType&amp;lt;StatementModel&amp;gt;()
    		.ToArray();
		Assert.AreEqual(@"&lt;span style="color: #8b0000"&gt;Cached query: 
SELECT this_.Id             as Id7_0_,
   this_.Title          as Title7_0_,
   this_.Subtitle       as Subtitle7_0_,
   this_.AllowsComments as AllowsCo4_7_0_,
   this_.CreatedAt      as CreatedAt7_0_
FROM   Blogs this_
WHERE  this_.Title = 'The lazy blog' /* @p0 */
   and this_.Id = 1 /* @p1 */
&lt;/span&gt;", array[0].Text);
		Assert.AreEqual(@"&lt;span style="color: #8b0000"&gt;Cached query: 
select blog0_.Id             as Id7_,
   blog0_.Title          as Title7_,
   blog0_.Subtitle       as Subtitle7_,
   blog0_.AllowsComments as AllowsCo4_7_,
   blog0_.CreatedAt      as CreatedAt7_
from   Blogs blog0_
where  ( blog0_.Title = 'The lazy blog' /* @p0 */ )
   and ( blog0_.Id = 1 /* @p1 */ )
&lt;/span&gt;", array[2].Text);
    }
}&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;As an aside, do you think that posting the tests is good? Should I just do the screen shots?&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/10708.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/882A71AE840444A2EC84CF9BE8896D21B9E8E06F"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/882A71AE840444A2EC84CF9BE8896D21B9E8E06F"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/503905716" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.feedburner.com/~r/AyendeRahien/~3/503905716/nh-prof-new-feature-the-query-cache.aspx"&gt;NH Prof New Feature: The Query Cache&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 06 Jan 2009 06:58:45 GMT</pubDate>
      <guid>http://feeds.feedburner.com/~r/AyendeRahien/~3/503905716/nh-prof-new-feature-the-query-cache.aspx</guid>
    </item>
 
    <item>
      <title>ASP.NET MVC Design Gallery</title>
      <author>Scott Hanselman</author>
      <link>http://feedproxy.google.com/~r/ScottHanselman/~3/QgP_aAShNJM/ASPNETMVCDesignGallery.aspx</link>
      <description>My teammate Stephen Walther launched the ASP.NET MVC Design Gallery a few weeks back. This stemmed from an idea ScottGu had to let the community change the default templates that ship with ASP.NET MVC. I was supposed to work on this but headed to &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/ScottHanselman/~3/QgP_aAShNJM/ASPNETMVCDesignGallery.aspx"&gt;ASP.NET MVC Design Gallery&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/ScottHanselman"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 06 Jan 2009 04:49:36 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/ScottHanselman/~3/QgP_aAShNJM/ASPNETMVCDesignGallery.aspx</guid>
    </item>
 
    <item>
      <title>Politics: Morality isn't math</title>
      <author>Oren Eini</author>
      <link>http://feeds.feedburner.com/~r/AyendeRahien/~3/503724780/politics-morality-isnt-math.aspx</link>
      <description>&lt;blockquote&gt; &lt;p&gt;I don't do this often, but this is an exception. My apologies to the people who just want to read about tech, I'll soon resume the regular topics.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Oh, and just to clear the records, I served for &lt;a href="http://ayende.com/Blog/archive/2005/07/29/LeaveToLiveByNoMansLeave.aspx"&gt;4 years in the IDF&lt;/a&gt;, and I am still a reservist. I haven't been activated, and this post contain my own thoughts about the current situation. I assume that this post is going to be a hot topic. I am going to keep comments open until someone invoke Godwin's law, at which point the discuss will end.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;There is a term that was a big buzzword several years ago (yes, even outside the tech world there are buzzwords). It is called low intensity conflict. Low intensity conflict is also sometimes called 4th generate warfare. And yes, I am probably making some military history buffs cringe in pain, deal with it.&lt;/p&gt; &lt;p&gt;It describe a situation in which regular army forces find it difficult to utilize their forces due to non military concerns. In many cases, it is political, media or humanitarian concerns that limit the ability to apply force. A common scenario is shooting at someone from a crowd. The fact that the shooter is in a crowd make the utilization of fire arms against the shooter a problem, because it is likely that other people, presumably innocent, are going to get hurt.&lt;/p&gt; &lt;p&gt;Israel has quite a history with such conflicts, I am sadden to say.&lt;/p&gt; &lt;p&gt;Low intensity conflicts are a good way to neutralize the ability of an army to respond appropriately. I think that the best way of explaining the problem in low intensity conflict is with this (extremely famous) picture.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/Moralitybynumbers_135A0/image_4.png"&gt;&lt;img height="177" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/Moralitybynumbers_135A0/image_thumb_1.png" width="350" align="right" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I don't think that we need to go into the actual historical background of this picture, it doesn't really matter for the discussion at hand.&lt;/p&gt; &lt;p&gt;This is a very powerful picture, and it capture the sense of disparity in forces that exists.&lt;/p&gt; &lt;p&gt;What is &lt;em&gt;doesn't&lt;/em&gt; capture is that a tank vs. kid is not what is going on. The tank cannot realistically do anything to this kid. Any response at all is unthinkable. As a result, we have a situation in which the kid may act with imputiny.&lt;/p&gt; &lt;p&gt;Now take this picture and zoom it out. Let us see what we have in southern Israel and Gaza at the last three years.&lt;/p&gt; &lt;p&gt;We have a densely populated area which contains about 1.4 &lt;em&gt;million&lt;/em&gt; people. The vast majority of them, I want to remind you, are people who want to live their lives just like anyone else. They bloody well &lt;em&gt;deserve&lt;/em&gt; to live their live in peace, freedom and prosperity.&lt;/p&gt; &lt;p&gt;In 2006, in democratic elections, Hamas has won the leadership of the Palestinian Authority. That caused quite a problem for a lot of people, since Hamas is a terrorist organization, and is recognized as such by the EU, US and the rest of the gang. In case you are not aware of this, let me give some of the highlights from the Hamas' charter.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;small&gt;&lt;em&gt;Israel will exist and will continue to exist until Islam will obliterate it, just as it obliterated others before it.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;small&gt;And how do they intend to "obliterate Israel" ?&lt;/small&gt; &lt;/p&gt;&lt;blockquote&gt; &lt;p&gt;&lt;em&gt;&lt;small&gt;There is no solution for the Palestinian question except through Jihad. Initiatives, proposals and international conferences are all a waste of time and vain endeavors.&lt;/small&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Notice the part about all talk being a waste of time. We can move on to the next bit of prose. Article 7 of the Hamas Covenant states the following:  &lt;/p&gt;&lt;blockquote&gt; &lt;p&gt;&lt;em&gt;The Day of Judgement will not come about until Muslems fight the Jews (killing the Jews), when the Jew will hide behind stones and trees. The stones and trees will say O Muslems, O Abdulla, there is a Jew behind me, come and kill him. Only the Gharkad tree, (the Cedar tree) would not do that because it is one of the trees of the Jews.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;As I said, following a democratic elections in which the Hamas won, the world had a problem. &lt;/p&gt;&lt;p&gt;Several months before that, Israel has unilaterally disengaged from the Gaza, moving all forces and all citizens out of Gaza. The people of Gaza had the chance they wanted, to manage their own lives. This was a highly contentious act in Israel, those who spoke against it warned that disengaging from Gaza will bring disaster, that the terrorist organizations inside will seize the chance to arm themselves and attack Israel. Those who spoke for it said that this way Israel could give the people of Gaza the freedom that they wanted, and the chance to build a place of their own. &lt;/p&gt;&lt;p&gt;It didn't quite work that way, I am afraid. As I mentioned, Hamas took over the PNA, and the situation, from the point of view of Israel, has gotten worse. Let me give you some idea about the numbers. &lt;/p&gt;&lt;p&gt;In 2006, 1121 rockets and mortars were fired at Israel.  &lt;/p&gt;&lt;p&gt;In 2007, 2313 rockets and mortars were fired at Israel. &lt;/p&gt;&lt;p&gt;in 2008, 1713 rockets and mortars were fired at Israel. &lt;/p&gt;&lt;p&gt;From 2003 - 2008, 8827 rockets and mortars were fired at Israel. &lt;/p&gt;&lt;p&gt;On Jun 17th, 2008, there was an informal truce between Hamas and Israel, lasting until Dec 23th, 2008. During this period there were several violations of the truce on both sides, for reasons that don't really matter in the grand scheme of things.  &lt;/p&gt;&lt;p&gt;On Dec 24th, 2008, 70 rockets were launched against Israel. And in the previous weeks regular barrages of rockets were fired on the southern part of Israel. &lt;/p&gt;&lt;p&gt;Moving on to another topic all together.  Article 51 of the Charter of the United Nations states: &lt;/p&gt;&lt;blockquote&gt; &lt;p&gt;Nothing in the present Charter shall impair the inherent right of individual or collective self-defence if an armed attack occurs against a Member of the United Nations&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;This is also called the Principle of Self Defense. This principle is recognized in just about any legal system. &lt;/p&gt;&lt;p&gt;Going back a week and a half ago. They are shooting at us. They are explicitly targeting civilian targets. &lt;/p&gt;&lt;p&gt;This is were low intensity conflict come into play. The usual, ineffective, response from Israel would have been within the boundaries of low intensity conflict. A raid, an air attack against rocket teams, something in this order. &lt;/p&gt;&lt;p&gt;Hamas was perfectly willing to continue playing by those rules. After all, it is to their advantage to keep the conflict in low intensity. &lt;/p&gt;&lt;p&gt;This time, however, Israel didn't respond in the usual ineffective manner. Instead, Israel has started a full scale operation with a single goal. To stop the bombardment on the citizens of Israel. &lt;/p&gt;&lt;p&gt;There is a lot of cry from people saying that there is no possibility of this being a moral action, and trying to point at the numbers of dead &amp;amp; wounded on both sides as proof of that. &lt;/p&gt;&lt;p&gt;There are a lot more dead and wounded in Gaza than in Israel.  &lt;/p&gt;&lt;p&gt;The problem, however, is that morality isn't math. You don't get to play around with numbers and come up with an answer. &lt;/p&gt;&lt;p&gt;The situation is quite simple. Hamas had been firing rockets on Israel for years. A truce attempt has failed. Hamas has not only continue to fire rockets on Israel, but has stepped up the number and the range. Hundreds of thousands of the citizens of Israel are at risk.  Israel has chosen to act to defend its citizens.  &lt;/p&gt;&lt;p&gt;I am sadden by the loss of civilian life in Gaza, but my people's safety is my main concern. &lt;/p&gt;&lt;p&gt;Any situation in which rockets are fired on Israel is not acceptable. Any attempt to equate dead count is not acceptable, because it in there is the hidden assumption that Israel should let its own people die before it is allowed to act. &lt;/p&gt;&lt;p&gt;There is a lot of history and motivation behind all the actions that are going on here. There have been books written about it, and I can't do it justice even if I tried. But the plain facts are quite simple. &lt;/p&gt;&lt;p&gt;Hamas is shooting at the people of Israel. Israel is acting to stop this shooting.  &lt;/p&gt;&lt;p&gt;I can already predict people trying to bring justifications for why Hamas is shooting at Israel. There can be no reason, to put it plainly. I do not accept any reason that justify shooting at my people.  &lt;/p&gt;&lt;p&gt;The current situation could have been avoided quite easily. All Hamas had to do was &lt;em&gt;not&lt;/em&gt; to shoot at Israel, and talk. There are channels of communications and there are things to talk about. Hamas has followed its charter, of terror and destruction, and fired at Israel. &lt;/p&gt;&lt;p&gt;Now Israel is acting to stop this from happening again. &lt;/p&gt;&lt;p&gt;If you want to dispute Israel's current actions. You have to start from Dec 24th, with Hamas shooting at Israel, and any act that you make must end with no rockets fired at Israel. &lt;/p&gt;&lt;p&gt;I intentionally limit the discussion, because attempts to bring history or justifications to the mix are not really relevant. This is the situation that we have to deal with. &lt;/p&gt;&lt;p&gt;Israel cannot accept its citizens being fired upon, full stop.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/10707.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/D39990CDDD3955E8D8180A3B3EA9C52BAE03114A"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/D39990CDDD3955E8D8180A3B3EA9C52BAE03114A"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/503724780" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.feedburner.com/~r/AyendeRahien/~3/503724780/politics-morality-isnt-math.aspx"&gt;Politics: Morality isn't math&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 06 Jan 2009 02:27:53 GMT</pubDate>
      <guid>http://feeds.feedburner.com/~r/AyendeRahien/~3/503724780/politics-morality-isnt-math.aspx</guid>
    </item>
 
    <item>
      <title>2008 Goals Recap</title>
      <author>Steve Smith</author>
      <link>http://stevesmithblog.com/blog/2008-goals-recap/</link>
      <description>&lt;p&gt;Last year I decided to blog some personal goals that I had for the year.&amp;#160; It’s widely known that the act of writing something down greatly increases the chances that one will actually take the action necessary to achieve the goal, and I figured blogging it might further increase my odds since there’s the whole public commitment factor added in.&amp;#160; I’ll be brief since I already did an &lt;a href="http://stevesmithblog.com/blog/personal-goals-2008-update/"&gt;11-month status update a month ago&lt;/a&gt;, and not a huge amount has changed since then.&lt;/p&gt;  &lt;p&gt;I’d hoped to hit 200 blog posts for the year.&amp;#160; In 2007 I managed 144 posts.&amp;#160; In 2008 I wrapped up the year with 184 blog posts if my count is correct (I moved my blog mid-year, so the counts are coming from two sources).&amp;#160; So, I did not achieve the goal, but I did improve on my previous best and I hope I did so without hurting the quality of my posts overall, and thus the goal did at least help me to be better.&amp;#160; I was going for a 39% increase and I managed a 28% increase.&lt;/p&gt;  &lt;p&gt;My second goal was to lose 17 pounds.&amp;#160; For a while there it was looking pretty good.&amp;#160; Around 1 April 2008 I was at –10 pounds from 1 Jan 2008.&amp;#160; However, most of the year I hovered around not much less than where I started, and on 1 Jan 09 I was at just –2 from a year prior.&amp;#160; Still, some progress made, and it was on my mind most of the year to try and stay fit and eat in moderation, so despite not achieving the goal, having the goal I would say was beneficial.&lt;/p&gt;  &lt;p&gt;My third goal was to write a book, and I’ve given up on that specific project and for the foreseeable future I don’t think I’ll be writing any books.&amp;#160; I might contribute a chapter or otherwise do something book-related and limited in scope, but that’s about it.&lt;/p&gt;  &lt;p&gt;My other two goals were both achieved.&amp;#160; One was to get a puppy (who is now about 200 pounds) and the other to get my purple belt in karate.&amp;#160; I’ve been thinking about what my new goals for 2009 will be, and how I might better choose my goals to align with where I’d like to be a year from now.&lt;/p&gt;  &lt;p&gt;Unrelated to the goals I set, but having some impact on my ability to meet them, was the fact that business was very good for Lake Quincy Media, and Michelle and I purchased office space in Hudson, Ohio which we plan to move to later in 2009 after we’ve built it out to suit our needs.&amp;#160; The space has existing tenants, so entering the new business of landlord (not to mention commercial real estate purchasing) has been a time-consuming learning process.&amp;#160; As a result of the building purchase and general work/life imbalance, there’s not been as much time for proper exercise or even a planned vacation.&amp;#160; I hope to change that in 2009.&lt;/p&gt;  &lt;p&gt;Did you set any goals?&amp;#160; Did you publicize them?&amp;#160; Did either help you achieve, or at least make positive progress toward, your goals?&amp;#160; How do you think 2009 will be for you?&lt;/p&gt;&lt;img src="http://feeds.stevesmithblog.com/~r/StevenSmith/~4/503343335" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://stevesmithblog.com/blog/2008-goals-recap/"&gt;2008 Goals Recap&lt;/a&gt; | &lt;a href="http://feeds.stevesmithblog.com/StevenSmith"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 05 Jan 2009 17:34:00 GMT</pubDate>
      <guid>http://stevesmithblog.com/blog/2008-goals-recap/</guid>
    </item>
 
    <item>
      <title>NH Prof feature: The 2nd level cache</title>
      <author>Oren Eini</author>
      <link>http://feeds.feedburner.com/~r/AyendeRahien/~3/503338622/nh-prof-feature-the-2nd-level-cache.aspx</link>
      <description>&lt;p&gt;One word of warning first, this feature is currently for entities only, NH Prof cannot (currently) inspect cached &lt;em&gt;queries&lt;/em&gt;. That said, I am working on it, but this is something that is going to require some changes to NHibernate, so it is a feature that will be available on NHibernate 2.1 only.&lt;/p&gt; &lt;p&gt;That said, you can see the profiling result of this piece of code:&lt;/p&gt; &lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; LoadEntityByIdFromSecondLevelCache : IScenario
{
	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Execute(ISessionFactory factory)
	{
		&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; id;
		&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (ISession s = factory.OpenSession())
		&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;(ITransaction tx = s.BeginTransaction())
		{
			id = s.CreateCriteria(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Blog))
				.SetMaxResults(1)
				.UniqueResult&amp;lt;Blog&amp;gt;().Id;

			tx.Commit();
		}

		&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (ISession s = factory.OpenSession())
		{
			var blog = s.Load&amp;lt;Blog&amp;gt;(id);
			Console.WriteLine(blog.Title);
		}
	}
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;And, the actual profiler output:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProffeatureThe2ndlevelcache_CCA4/image_2.png"&gt;&lt;img height="433" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProffeatureThe2ndlevelcache_CCA4/image_thumb.png" width="726" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;We can clearly see that we loaded this entity from the second level cache, and that we didn't hit the database.&lt;/p&gt;
&lt;p&gt;This is awesome, even if I say so myself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Here is the test for this feature:&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;[TestFixture]
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CanDetect2ndLevelCaching : IntegrationTestBase
{
	[Test]
	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Will_detect_entity_load()
	{
		ExecuteScenarioInDifferentAppDomain&amp;lt;LoadEntityByIdFromSecondLevelCache&amp;gt;();

		var first = observer.Model.Sessions[2]
			.Statements.OfType&amp;lt;StatementModel&amp;gt;().First();

		Assert.AreEqual("&lt;span style="color: #8b0000"&gt;2nd level cache load Blog (1 /* id */)&lt;/span&gt;", first.Text);
	}
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;You might notice that this looks like it is traversing the UI. You are almost correct, it is traversing the View Model, which is an extremely rich model that allow us to do things like on the fly updates to all parts of the UI, Linq reporting and other nice stuff.&lt;/p&gt;
&lt;p&gt;Among the most important benefits that it has is the fact that this is an end to end test of the system. From another app domain executing NHibernate code to the view model being updated by the profiler.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/10706.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/32F47544D500B7F91E6AC0DF1027F1B28F2599ED"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/32F47544D500B7F91E6AC0DF1027F1B28F2599ED"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/503338622" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.feedburner.com/~r/AyendeRahien/~3/503338622/nh-prof-feature-the-2nd-level-cache.aspx"&gt;NH Prof feature: The 2nd level cache&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 05 Jan 2009 17:33:24 GMT</pubDate>
      <guid>http://feeds.feedburner.com/~r/AyendeRahien/~3/503338622/nh-prof-feature-the-2nd-level-cache.aspx</guid>
    </item>
 
    <item>
      <title>NH Prof is version tolerant</title>
      <author>Oren Eini</author>
      <link>http://feeds.feedburner.com/~r/AyendeRahien/~3/503328677/nh-prof-is-version-tolerant.aspx</link>
      <description>&lt;p&gt;From the get go, I decided that I wanted NH Prof to work without having an explicit dependency on a particular version of NHibernate. I had trouble with that when I built the NHibernate Query Analyzer, and I had enough of that.&lt;/p&gt; &lt;p&gt;This is especially true since I am one of the target audience of NH Prof, and I would &lt;em&gt;hate&lt;/em&gt; having to manage NH Prof &amp;lt;---&amp;gt; NHibernate version mapping. So I set out to make NH Prof version tolerant. My explicit goal was to be able to work with NHibernate 2.0 and up.&lt;/p&gt; &lt;p&gt;Along the way, I did something that is pretty surprising. NH Prof also work with NHibernate 1.2, which I never even tried to test with. When I say works, I mean that most of the things work as usual, but some of the fine points are missing (for example, I know that showing entity identifiers are not working in 1.2).&lt;/p&gt; &lt;p&gt;That is quite encouraging, and probably means that I can support 1.2 fully without too much hassle. But, &lt;/p&gt; &lt;p&gt;It also means that going forward, I am going to have a much easier time with adding new features to NH Prof as they appear in NHibernate.&lt;/p&gt; &lt;p&gt;Overall, I am pretty happy about this.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/10705.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/E52031EB13C97491C10CEDAAD2A3C58A62C085F5"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/E52031EB13C97491C10CEDAAD2A3C58A62C085F5"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/503328677" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.feedburner.com/~r/AyendeRahien/~3/503328677/nh-prof-is-version-tolerant.aspx"&gt;NH Prof is version tolerant&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 05 Jan 2009 17:21:09 GMT</pubDate>
      <guid>http://feeds.feedburner.com/~r/AyendeRahien/~3/503328677/nh-prof-is-version-tolerant.aspx</guid>
    </item>
 
    <item>
      <title>[Political] The truth about the Palestinian loss of land 1946 to 2000</title>
      <author>Roy Osherove</author>
      <link>http://feedproxy.google.com/~r/Iserializable/~3/4Y01ZKa_c1Q/political-the-truth-about-the-palestinian-loss-of-land-1946-to-2000.aspx</link>
      <description>&lt;p&gt;(update: I added some updates about more reasons for the settlements as well as more about the size of israel, and a note about the british rule (with some images))&lt;/p&gt;  &lt;p&gt;Apologies to the regular readers of this blog. &lt;/p&gt;  &lt;p&gt;This is a political post, which I don’t usually do. I live in Israel. I love the fact that technology brings people together, and I have several online friends from countries considered enemies of or hostile to israel (syria, iran, lebanon).&lt;/p&gt;  &lt;p&gt;With the recent conflicts between Israel and Palestinians in Gaza, You’ve&amp;#160; probably seen this map being thrown around in various forums. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/image_H6xf7A.png"&gt;&lt;img title="image" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="579" alt="image" src="http://weblogs.asp.net/blogs/rosherove/image_thumb_yT35eg.png" width="866" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It depicts what seems to be a loss of land that was previously Palestinian. It looks pretty horrible without context, I know.As an israeli and as someone who really dislikes dis-information, I though I’d give my point of view, based on what the real facts .&lt;/p&gt;  &lt;p&gt;I’m writing this so that I can point my friends and those who ask to a place where there is more context and info about this map, and why, even though it may be georgraphically correct, it is a distortion of reality to take it out of context. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A good source of history information about the conflict&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;a site doesn’t take sides, that has a more or less accurate information &lt;a href="http://www.mideastweb.org/briefhistory.htm"&gt;about the dispute can be found here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;OK, let’s talk about the maps from left to right (chronological order):&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Map 1: 1946&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(6)_3u9DbQ.png"&gt;&lt;img title="WindowClipping (6)" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="244" alt="WindowClipping (6)" src="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(6)_thumb_V86nSg.png" width="94" align="left" border="0" /&gt;&lt;/a&gt; The map is NOT graphically correct. Several things are not accurate. First – the &lt;strong&gt;british&lt;/strong&gt; had ruled israel. this was not arab land or jewish land. jews and arabs were living in british occupation. Another thing that needs to be said is that the bottom half of the map was unpopulated – it is a desert part in israel, and even today, it has less than 10% of the population living there because of the conditions. so it should not be green or white.&amp;#160; it was largely empty.&lt;/p&gt;  &lt;p&gt;The arab population in israel was larger than the jewish population, and they were both growing at a large rate.There was a large influx of jews coming in(most of whom were fleeing the increasing persecution in Europe). &lt;a href="http://en.wikipedia.org/wiki/1948_Arab-Israeli_War#Background"&gt;There was lots&lt;/a&gt; of &lt;a href="http://en.wikipedia.org/wiki/Riots_in_Palestine_of_1920"&gt;killing&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Jaffa_riots"&gt;and&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/1929_Palestine_riots"&gt;massacres&lt;/a&gt; against the jews until the UN decided to partition the land (as seen on map 2). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Map 2:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(7)_AfcO1Q.png"&gt;&lt;img title="WindowClipping (7)" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="244" alt="WindowClipping (7)" src="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(7)_thumb_yiU8Vw.png" width="95" align="left" border="0" /&gt;&lt;/a&gt; The UN decided what the division would be(israel got most of the uninhebited, desert part). arabs got the right part, and lots of the top and parts of the left. For context – the right side of the map borders with Jordan, which means the UN declared the green right part to actually be jordanian terrotory. the top part id bordering with syria and lebanon. the bottom part borders with egypt.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;map 3:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(8)_DqSBzw.png"&gt;&lt;img title="WindowClipping (8)" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="244" alt="WindowClipping (8)" src="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(8)_thumb_S9jeFQ.png" width="94" align="left" border="0" /&gt;&lt;/a&gt; The important thing to remember here is that the arabs &lt;strong&gt;did not&lt;/strong&gt; accept the UN decision &lt;a href="http://en.wikipedia.org/wiki/1948_Arab-Israeli_War"&gt;and instead began to wage war against the israelis&lt;/a&gt; (who wanted to accept it). During this war the israelies had won, and had pushed the arabs back into what is now seen in map 3 (second from the right). Remember, this was &lt;strong&gt;war&lt;/strong&gt; and the green zones were attaching the white ones. so green was smaller at the end of the war. &lt;/p&gt;  &lt;p&gt;in essence, map 2 never came into existence. except in the minds of the UN.&lt;/p&gt;  &lt;p&gt;that’s how it roughly stayed until 67.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;map 4:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(9)_jBMxGg.png"&gt;&lt;img title="WindowClipping (9)" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="244" alt="WindowClipping (9)" src="http://weblogs.asp.net/blogs/rosherove/WindowClipping%20(9)_thumb_Wb4Gpw.png" width="95" align="left" border="0" /&gt;&lt;/a&gt; so how did we get from map 3 to map 4?&lt;/p&gt;  &lt;p&gt;in 67, Egypt decided to declare war on Israel (the bottom gray in the map is the start of egypt. They essentially closed all the bottom part of israel and parts which are not seen on this map. &lt;/p&gt;  &lt;p&gt;Jordan and Syria (to the right and to the top of israel) quickly joined in the war, and israel was now attacked from 3 sides. yes. that includes in inner green part that was actually attacking israel from almost within it.&lt;/p&gt;  &lt;p&gt;Israel gained victory in that war, pushing back jordan, syria and egypt into what will now look closer to map no. 4 (most right). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;the settlement problem&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;After Israel had won, it could have chosen to do many things – for example negotiate with jordan and leave the places won over to something like the 67’ border.&amp;#160; But it chose, for mostly security, ideological and religious reasons, to stay in those territories and start building settlements there. it built roads that divided the occupied land and basically did lots of things which today there is nothing really good to say about them (and is slowly trying to turn back the wheel on some of them). Still, the security aspect is the one that is the most relevant today. It keeps the other side farther away. if they were closer, their missiles could have easily hit 60% of israel, instead of 30% right now.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;A hole we can’t get out of&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;a lot of what people have a problem with today is the fact that israel as a country supported and still supports parts of the settlements, which are not legal by international law. the reasons, again, are security,ideological and religion (promised land etc..). there is a great divide among the israeli people whether this should continue or not but the situation has now become too problematic to easily solve. Many also believe that the settlements are a security measure that helps to keep the missile attacks farther away from the cities. &lt;/p&gt;  &lt;p&gt;for example, Israel had actually gotten fully out of part of the territories (gaza for example), but got back missilies and rockets (which is why we see the Israel coming back in – to stop this). there were many negotiations and many agreements that were broken or followed by both on a single side of the conflict, and many believe that there is no one to talk to on the other side.&lt;/p&gt;  &lt;p&gt;many in israel believe that two states are the end result any way, (something like the 67 borders) but want to make sure that the other state will not try to destroy israel (as it had promised to do, with the backing of iran and syria) many times. a state next to you has to recognize that you have a right to exist, and not try to burn you.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Why we are in gaza now&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Israel is in gaza now for the simple reason of stopping the rockets and achieving a ceasefire that will last for a long time. it has started with a 6 month quiet period in which over 400 rockets were fired on israel from gaza with no retaliation. &lt;/p&gt;  &lt;p&gt;there is no denying that the human situation in gaza sucks. Israel tries to aid in allowing food shipments, money and international aid through passages, but at the end of the day, right now, it is trying to defend itself. nothing more, and nothing less. with force, yes. because nothing else before that has worked.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;The size of israel&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Israel &lt;a href="http://www.iris.org.il/sizemaps/arabwrld.htm"&gt;is Tiny&lt;/a&gt;. Seriously. Much smaller than &lt;a href="http://www.iris.org.il/sizemaps/calif.htm"&gt;California&lt;/a&gt;, &lt;a href="http://www.iris.org.il/sizemaps/norway.htm"&gt;Norway&lt;/a&gt; or &lt;a href="http://www.iris.org.il/sizemaps/argenti.htm"&gt;Argentina&lt;/a&gt; (see more &lt;a href="http://www.iris.org.il/sizemaps.htm"&gt;places to compare&lt;/a&gt;). I can take my car and drive from north to south in about 6-8 hours of non stop driving. Compare &lt;a href="http://www.iris.org.il/sizemaps/arabwrld.htm"&gt;israel to the size of its surrounding countries&lt;/a&gt; and you begin to see what “small and surrounded with enemies” feels like. Jews have literally nowhere else to go. Arabs have &lt;a href="http://www.washingtonpac.com/arabworld.htm"&gt;lots and lots&lt;/a&gt;. yet they insist that Israel be destroyed.&amp;#160; And Israel still has to defend itself from many threats all around. and now, also from within.&lt;/p&gt;  &lt;p&gt;&lt;img height="384" src="http://www.iris.org.il/images/arabwld3.gif" width="644" /&gt;&lt;img src="http://www.iris.org.il/images/usa.gif" /&gt;&lt;img src="http://www.iris.org.il/images/france.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There is a lot of mis and dis information running around the web right now. I hope that the facts can help sort things out. I hope that I had done justice to the facts.&lt;/p&gt;  &lt;p&gt;Before writing this, I did some fact checking with a well known middle-east researcher before publishing this, and will update this post on problems or important comments.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6819656" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feedproxy.google.com/~f/Iserializable?a=XmD5KLFa"&gt;&lt;img src="http://feedproxy.google.com/~f/Iserializable?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/Iserializable?a=2skzGKn0"&gt;&lt;img src="http://feedproxy.google.com/~f/Iserializable?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feedproxy.google.com/~f/Iserializable?a=6mK5lVKu"&gt;&lt;img src="http://feedproxy.google.com/~f/Iserializable?i=6mK5lVKu" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feedproxy.google.com/~r/Iserializable/~4/4Y01ZKa_c1Q" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/Iserializable/~3/4Y01ZKa_c1Q/political-the-truth-about-the-palestinian-loss-of-land-1946-to-2000.aspx"&gt;[Political] The truth about the Palestinian loss of land 1946 to 2000&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/Iserializable"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 05 Jan 2009 16:12:42 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/Iserializable/~3/4Y01ZKa_c1Q/political-the-truth-about-the-palestinian-loss-of-land-1946-to-2000.aspx</guid>
    </item>
 
    <item>
      <title>NH Prof New Feature: Query Duration</title>
      <author>Oren Eini</author>
      <link>http://feeds.feedburner.com/~r/AyendeRahien/~3/503261807/nh-prof-new-feature-query-duration.aspx</link>
      <description>&lt;p&gt;I keep adding new features and fixing strange bugs in NH Prof. Most of those aren't really interesting things. &lt;/p&gt;
&lt;p&gt;Does anyone &lt;em&gt;really&lt;/em&gt; care about sort order in a particular query? Those are things that are important for the overall UX, but they are not things that I can honestly call them features.&lt;/p&gt;
&lt;p&gt;This thing, however, is a full blown feature. Even if it takes just a tiny bit of screen real estate.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_4.png"&gt;&lt;img width="726" height="220" border="0" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;And integrating it into the analysis section of NH Prof as well:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_8.png"&gt;&lt;img width="726" height="219" border="0" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;And in the views by method report:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_12.png"&gt;&lt;img width="726" height="385" border="0" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/NHProfNewFeatureQueryDuration_AD07/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;And something that is important to remember, the moment that I have a piece of information, I can start making use of it in alerts and rules. I haven't decided yet if I want to do so for the v1.0 release, but I have a feeling that this is going to be a very useful base for additional features.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/10704.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/11ADD3A2A9C2CC52B69496F538CE0E03A374CE3F"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/11ADD3A2A9C2CC52B69496F538CE0E03A374CE3F"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/503261807" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.feedburner.com/~r/AyendeRahien/~3/503261807/nh-prof-new-feature-query-duration.aspx"&gt;NH Prof New Feature: Query Duration&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 05 Jan 2009 15:18:37 GMT</pubDate>
      <guid>http://feeds.feedburner.com/~r/AyendeRahien/~3/503261807/nh-prof-new-feature-query-duration.aspx</guid>
    </item>
 
  <feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetFeedData?uri=Devmavens</feedburner:awareness></channel>
</rss>
