﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
  <channel>
    <title>Lubo Blagoev's Blog</title>
    <description>My thoughts on software and technology</description>
    <link>http://www.blagoev.com/Blog/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.Net Syndication Generator 1.0.0.0 (http://dotnetblogengine.net/)</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://www.blagoev.com/Blog/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Lubo Blagoev</dc:creator>
    <dc:title>Lubo Blagoev's Blog</dc:title>
    <item>
      <title>WCF and MSMQ in Workgroup Mode - Load Balanced Server Farm How to! Part 1</title>
      <description>&lt;p&gt;Hello everyone. Its been a while since i posted a anything here.&lt;/p&gt;  &lt;p&gt;This is what to become a series of posts about how to do a Load Balanced Server Farm using WCF and MSMQ. In this post i will present the problem, then the approach and then I want to show the hiccups you may get trying to do this the right way.&lt;/p&gt;  &lt;p&gt;Now i suppose you are familiar with WCF and MSMQ and most probably you are since you googled-binged your way to get here. I am going to omit some of the general details. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scenario&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Your boss said: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“I want to build a load balanced server farm that can load balance long running tasks from here to the moon.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;or what we want to achieve is a server farm represented by many services/agents running on the node machines reading from one single queue. You have clients posting to this queue and you want the agents to read the messages and process them independently from one another. In theory all agents will fight for messages from the queue doing the load balancing we want to achieve. If an agent gets a job done it will go and take another job from the queue. This problem in fact falls perfectly within the Analytic Queuing Theory described in plain words by Eric Lippert’s &lt;a href="http://blogs.msdn.com/ericlippert/archive/2009/08/20/queueing-theory-in-action-plus-frogs.aspx"&gt;Queueing Theory In Action, plus, frogs&lt;/a&gt;. You do read his blog right? I won’t go into details but its the W system we are trying to build here.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The principle downside of the W system is that the single queue looks like it will take much longer than four short queues in the M system, which can be daunting. But by almost every relevant objective metric, by almost every relevant social factor, and in almost every common real-world business scenario the W system is preferable&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why MSMQ?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is easy to understand since we get all the goodness for free.&amp;#160; We get security, message persistence, durability, transaction support, retry handling, failover, asynchronous processing (needed when long running jobs right?), timeouts, time to live, scalability (new nodes arriving/leaving) and so on and so forth. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why WCF?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Is there any other way? To work with remote queues though you will need to fall back to msmqIntegrationBinding. The netMsmqBinding does not work with remote queues in workgroup mode. I did some digging and found that the netMsmqBinding should be able to work with remote queues but the address translation doesn’t translate correctly direct format names. That’s the only problem that stops this binding of opening a remote queue in workgroup mode. That’s a pity!&lt;/p&gt;  &lt;p&gt;Another drawback is an existing issue of message pre-read. This is when you read one message to process then WCF reads some more message/messages from the queue. This essentially locks them and no other agent can read them. They call it pre-reading. This harms the farm scenario very much since while one message is processed other is waiting on the same agent when there are other agents available to process it. That should be fixed in .NET 4.0 RTM. In .NET 4.0 beta 2 its fixed for netMsmqBinding only.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Target Environment&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The environment affects the choices you need to make the server farm work. Its configuration choices mostly, but it can bubble up to your service and client code as you will see. Lets consider the target environment:&lt;/p&gt;  &lt;p&gt;First there is a &lt;em&gt;“Standard”&lt;/em&gt; environment. This includes .NET 3.0, 3.5 with/without SP1, and a mixture of Windows 2003/2008/XP/Vista/Win7 machines.&lt;/p&gt;  &lt;p&gt;and then there is this &lt;em&gt;“Modern”&lt;/em&gt; environment that includes .NET 3.5/4.0 beta 2 (RTM is not released yet) and Vista/Win7/Server 2008 only machines. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Standard:&lt;/em&gt; This means you are using MSMQ 3.0 which means no transactional remote read from the queue. Having at least one agent running on a pre-Vista OS breaks everything and you need to rely on specific architecture to support transactions. But there is a solution. You will need to build &lt;a href="http://msdn.microsoft.com/en-us/library/ms711471%28VS.85%29.aspx"&gt;Transactional Read-Response&lt;/a&gt;. That is something i never did so please share your thoughts of how it shapes-up in real world.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Modern with .NET 3.5&lt;/em&gt; requires you to read with transactions from the remote queue to have any kind or durability. These transactions don’t offer the best performance since you need a transaction even when you are not sure you will be able to handle the message. That’s should be fixed in .Net 4.0 with the new &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.receivecontext%28VS.100%29.aspx"&gt;ReceiveContext&lt;/a&gt; support and the new &lt;a href="http://blogs.msdn.com/drnick/archive/2008/12/04/an-alternative-queuing-model.aspx"&gt;Alternative Queuing Model&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Modern with .NET 4.0 &lt;/em&gt;will become standard after some time. Now it is considered modern. It has the all the goodness - remote transacted read, the ReceiveContext support, No message pre-read, custom dead letter queues etc. It requires again the msmqIntegrationBinding since the directly address formatting issue is still present. Lets hope this will be fixed in the RTM. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the next post i will present a solution of the scenario we are trying to build. I will show how to fix the pre-read issue on msmqIntegrationBinding that may work on&amp;#160; both .NET 3.5 and .NET 4.0.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/WCF-and-MSMQ-in-Workgroup-Mode---Load-Balanced-Server-Farm-How-to!-Part-1.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/WCF-and-MSMQ-in-Workgroup-Mode---Load-Balanced-Server-Farm-How-to!-Part-1.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=67201bd2-26cd-44a0-b38e-5a56fd54447a</guid>
      <pubDate>Sat, 09 Jan 2010 04:32:19 +0300</pubDate>
      <category>Software Development</category>
      <category>Windows</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=67201bd2-26cd-44a0-b38e-5a56fd54447a</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=67201bd2-26cd-44a0-b38e-5a56fd54447a</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/WCF-and-MSMQ-in-Workgroup-Mode---Load-Balanced-Server-Farm-How-to!-Part-1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=67201bd2-26cd-44a0-b38e-5a56fd54447a</wfw:commentRss>
    </item>
    <item>
      <title>Attach File Plugin for Windows Live Writer</title>
      <description>&lt;p&gt;&lt;strong&gt;&lt;font color="#008000"&gt;[Update:] v.1.2 Fixed changing a file attachment to a new file with the same filename &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#008000"&gt;[Update:] v.1.1 Added a tooltip on long filenames&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I wrote a simple plugin for Windows Live Writer. &lt;img title="Sidebar support" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 30px; border-right-width: 0px" height="480" alt="Sidebar support" src="http://www.blagoev.com/blog/files/AttachFilePluginforWindowsLiveWriter_10D77/image.png" width="306" align="right" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Attach File Plugin allows you &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To attach a file into your blog post. &lt;/li&gt;    &lt;li&gt;Modify attachment properties from WLW Sidebar &lt;/li&gt;    &lt;li&gt;Include Google tracking code for the attached file. &lt;/li&gt;    &lt;li&gt;You can upload the files using FTP if you set WLW to use ftp for images. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2"&gt;One important fact Windows Live Writer handles post files very bad. &lt;/font&gt;&lt;font size="2"&gt;The API and implementation is awful. Test it for yourself . Add a picture to your post. Note in source the href of that picture. Change a property of that picture. (Size, Borders, Wrappings, Margins). Note the href again. Did it change? Yes it did. What happened is that WLW copy the picture every time you change something. You end up with a file name “Me and my girl at the beach[0][1][2][0][9].jpg”. &lt;/font&gt;&lt;font size="2"&gt;More over they do this on the UI thread. Yes If I want to insert a 25MB picture it gets copied over and over again on the UI thread. It takes 7 seconds right now to get to a blinking cursor from a selected image on my Dual Core 2,4GHz, 4GB RAM machine. I guess they do some serialization of the post at that time. I noticed they call SmartContentSource.GeneratePublishHtml() many times. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;It gets worse as you dig in. Plug-ins are able to kill the hosting process by just accessing publishingContext properties in GeneratePublishHtml method.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;You can’t post files with spaces in the name and more than certain limit on the filename length. You save a draft post, restart WLW open the draft and voila you have a href to a file “ConcurencyandParallelProgra.txt” instead of the original “Concurency and Parallel Programming.txt”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The docs for &lt;a href="http://msdn.microsoft.com/en-us/library/aa738841.aspx" target="_blank"&gt;Distributing Plugins&lt;/a&gt; are wrong. Do not put your registry settings under “HKEY_CURRENT_USER\SOFTWARE\Windows Live\Writer\PluginAssemblies”, instead use “HKEY_CURRENT_USER\SOFTWARE\Windows Live Writer\PluginAssemblies”. They enumerate both paths but load dlls only from the later.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;That’s the reason I wrote this plugin myself. None of the plug-ins that add files to your post handles these issues. Not even the default Microsoft plug-ins. (Insert Picture) I hope i managed to work around these problems.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Lastly Google PageView option allows you to track downloads of the attached file. Refer to &lt;a href="http://www.google.com/support/googleanalytics/bin/answer.py?answer=55529" target="_blank"&gt;this page&lt;/a&gt; for more.&lt;/p&gt;  &lt;p&gt;Example: If you set the PageView to “my file” the generated html will be&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.example.com/files/map.pdf&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;onClick&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;javascript: pageTracker._trackPageview('my file'); &amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;








.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p align="left"&gt;Here are the installation packages and source code &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:b0b34057-1fb7-4139-84c9-58c3ff103d91" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;a href="http://www.blagoev.com/blog/files/AttachFilePluginforWindowsLiveWriter_10D77/AttachFileSetup.msi" target="_self"&gt;Attach File Setup.msi&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:a1f3ab24-399e-46e0-9220-9f78fcf9b8af" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;a href="http://www.blagoev.com/blog/files/AttachFilePluginforWindowsLiveWriter_10D77/AttachFile.rar" target="_self"&gt;Attach File Source.rar&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p align="left"&gt;&amp;#160;&lt;/p&gt;

&lt;p align="left"&gt;P.S. I will post the plugin to Windows Live Writer Gallery later since the site is not working right now. (ARGHHHHHH!!!)&lt;/p&gt;

&lt;p&gt;Lubo.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Attach-File-Plugin-for-Windows-Live-Writer.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Attach-File-Plugin-for-Windows-Live-Writer.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=ca30d656-7f5b-4849-ac6f-d61419cce82f</guid>
      <pubDate>Sun, 08 Mar 2009 17:02:00 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=ca30d656-7f5b-4849-ac6f-d61419cce82f</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=ca30d656-7f5b-4849-ac6f-d61419cce82f</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Attach-File-Plugin-for-Windows-Live-Writer.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=ca30d656-7f5b-4849-ac6f-d61419cce82f</wfw:commentRss>
    </item>
    <item>
      <title>I bought a car!</title>
      <description>&lt;p&gt;Hello everybody. I bought a car not so long ago. It was in October 2008 but just now I found time to write about it. &lt;/p&gt;  &lt;p&gt;It’s an Audi A4 163 hp year 2004. I got it in perfect condition at around 46,000km. The previous owner didn’t used it a lot since he had many Audis in the garage. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img title="Audi A4 163hp 2004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="Audi A4 163hp 2004" src="http://www.blagoev.com/blog/files/Ibough_F3F3/DSC02858_thumb.jpg" width="644" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Yeah! What a car! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now you know why it took me so long to pay attention to my blog &lt;img title="wink" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="15" alt="wink" src="http://www.blagoev.com/blog/files/Ibough_F3F3/wink.gif" width="15" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;I got some manuals with the car so I decided to share them with you. I did some scanning , cropping, merging for a couple of days and here they are: &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:5f4a7f64-b79c-499b-863e-b6d2aacce2de" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;a href="http://www.blagoev.com/blog/files/Ibough_F3F3/Audi.A4.Owners.Manual.pdf" target="_self"&gt;Audi.A4.Owners.Manual.pdf&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:dce28530-1642-4e1e-88f1-d82cdd8956b7" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;a href="http://www.blagoev.com/blog/files/Ibough_F3F3/Audi.A4.Quick.Reference.Guide.pdf" target="_self"&gt;Audi.A4.Quick.Reference.Guide.pdf&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:b04b0af0-4bb3-46f0-b430-5c88a741e200" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div&gt;&lt;a href="http://www.blagoev.com/blog/files/Ibough_F3F3/Audi.Concert.Sound.System.Operating.Instructions.pdf" target="_self"&gt;Audi.Concert.Sound.System.Operating.Instructions.pdf&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Enjoy reading. I am going for a ride! (…speed… give me what I need… yeaaaah!!!)&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/I-bough-a-car!.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/I-bough-a-car!.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=bb1cefa4-2ada-4ca4-8df8-e2cec6a170b7</guid>
      <pubDate>Sat, 07 Mar 2009 19:24:06 +0300</pubDate>
      <category>Misc</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=bb1cefa4-2ada-4ca4-8df8-e2cec6a170b7</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=bb1cefa4-2ada-4ca4-8df8-e2cec6a170b7</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/I-bough-a-car!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=bb1cefa4-2ada-4ca4-8df8-e2cec6a170b7</wfw:commentRss>
    </item>
    <item>
      <title>Your name on the Moon!</title>
      <description>&lt;p&gt;Do you want go to the moon? You think it's not possible. Well it is. NASA collects names to put onboard the Lunar Reconnaissance Orbiter. You can't go exactly but you can show your support to the program by participating. Just enter your first and second names on the &lt;a href="http://lro.jhuapl.edu/NameToMoon/index.php" target="_blank"&gt;Name To The Moon form&lt;/a&gt; its as simple as that.&lt;/p&gt;  &lt;p&gt;LRO's objectives are to find safe landing sites, locate potential resources, characterize the radiation environment, and demonstrate new technology. If you want to know more visit LRO's home page at &lt;a title="http://lunar.gsfc.nasa.gov/" href="http://lunar.gsfc.nasa.gov/"&gt;http://lunar.gsfc.nasa.gov/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here's the certificate I got&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/YournameontheMoon_10B23/image_2.png"&gt;&lt;img height="476" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/YournameontheMoon_10B23/image_thumb.png" width="640" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Your-name-on-the-Moon!.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Your-name-on-the-Moon!.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=c0f936ee-2dd0-4fc4-b395-9572bb22c57b</guid>
      <pubDate>Sun, 18 May 2008 20:59:49 +0300</pubDate>
      <category>Space Exploration</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=c0f936ee-2dd0-4fc4-b395-9572bb22c57b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=c0f936ee-2dd0-4fc4-b395-9572bb22c57b</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Your-name-on-the-Moon!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=c0f936ee-2dd0-4fc4-b395-9572bb22c57b</wfw:commentRss>
    </item>
    <item>
      <title>The Inner Dependency Problem</title>
      <description>&lt;p&gt;If you think layered application design is good and it's the best way to throw some work at the juniors in you team think again.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TheInnerDependencyProblem_1190F/cc337885.fig01_2.gif"&gt;&lt;img height="274" alt="cc337885.fig01" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TheInnerDependencyProblem_1190F/cc337885.fig01_thumb.gif" width="173" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you want to learn more about&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Inner Dependency Problem &lt;/li&gt;    &lt;li&gt;Dependency Inversion &lt;/li&gt;    &lt;li&gt;Service locator &lt;/li&gt;    &lt;li&gt;Poor's man Dependency Injection &lt;/li&gt;    &lt;li&gt;Inversion of Control Containers &lt;/li&gt;    &lt;li&gt;Static Gateway Pattern &lt;/li&gt;    &lt;li&gt;What's wrong with singletons &lt;/li&gt;    &lt;li&gt;Boo programming language &lt;/li&gt;    &lt;li&gt;Decorator pattern &lt;/li&gt;    &lt;li&gt;Coding to contract rather than concrete implementation &lt;/li&gt;    &lt;li&gt;Dependency Resolver &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; there is a very good MSDN article about software component dependencies. I suggest you read it if you haven't already. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-gb/magazine/cc337885.aspx" target="_blank"&gt;Tame Your Software Dependencies for More Flexible Apps (By James Kovacs)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Unfortunately the author missed to mention about &lt;a href="http://www.codeplex.com/ObjectBuilder" target="_blank"&gt;Object Builder&lt;/a&gt; nor the recently announced &lt;a href="http://www.codeplex.com/unity" target="_blank"&gt;Unity Application Block&lt;/a&gt; but I think you can investigate further on your own.&lt;/p&gt;  &lt;p&gt;Loosen up!    &lt;br /&gt;Lubo.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/The-Inner-Dependency-Problem.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/The-Inner-Dependency-Problem.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=4990a44a-1460-4a34-95de-7a727b53ca92</guid>
      <pubDate>Sat, 17 May 2008 21:59:12 +0300</pubDate>
      <category>Software Development</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=4990a44a-1460-4a34-95de-7a727b53ca92</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=4990a44a-1460-4a34-95de-7a727b53ca92</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/The-Inner-Dependency-Problem.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=4990a44a-1460-4a34-95de-7a727b53ca92</wfw:commentRss>
    </item>
    <item>
      <title>FORMULA 1 PETROL OFISI TURKISH GRAND PRIX</title>
      <description>&lt;p&gt;&lt;img height="86" alt="Istanbulpark logo" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/Istanbulpark_6.jpg" width="213" align="right" border="0" /&gt;Yeah! After less than 4 days and 21 hours on 09, 10, 11 May 2008 Formula 1 is going to hit Istanbul Park track. &lt;/p&gt;  &lt;p&gt;Are you going? I certainly am. Here is some useful information I found about the race. &lt;/p&gt;  &lt;p&gt;The Istanbul Park is located on Ballica Yolu road&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;iframe style="width: 400px; height: 400px" marginwidth="0" marginheight="0" src="http://maps.google.com/maps?f=d&amp;amp;hl=en&amp;amp;geocode=&amp;amp;saddr=40.956632,29.4104&amp;amp;daddr=&amp;amp;mra=mi&amp;amp;mrsp=0&amp;amp;sz=14&amp;amp;sll=40.958641,29.409714&amp;amp;sspn=0.043882,0.04137&amp;amp;ie=UTF8&amp;amp;t=h&amp;amp;ll=40.958641,29.409714&amp;amp;spn=0.043882,0.04137&amp;amp;output=embed&amp;amp;s=AARTsJr7CVtCjfN8sUCI28hTc1Zqji7jeA" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;    &lt;br /&gt;&lt;small&gt;&lt;a style="color: #0000ff; text-align: left" href="http://maps.google.com/maps?f=d&amp;amp;hl=en&amp;amp;geocode=&amp;amp;saddr=40.956632,29.4104&amp;amp;daddr=&amp;amp;mra=mi&amp;amp;mrsp=0&amp;amp;sz=14&amp;amp;sll=40.958641,29.409714&amp;amp;sspn=0.043882,0.04137&amp;amp;ie=UTF8&amp;amp;t=h&amp;amp;ll=40.958641,29.409714&amp;amp;spn=0.043882,0.04137&amp;amp;source=embed"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Follow this guide to get there - &lt;a href="http://www.istanbulparkcircuit.com/en-gb/Istanbul-Park/How-to-get-here/"&gt;How to get there&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Take a look at the detailed race track map&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/istanbul_park_f1_2.gif"&gt;&lt;img height="200" alt="istanbul_park_f1" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/istanbul_park_f1_thumb.gif" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can even check out how the race track was build &lt;a title="http://www.formula1-istanbul.com/f1/?Foto%F0raf_%26amp%3B_Video/Genel_Foto%F0raflar/Ana_Trib%FCn" href="http://www.formula1-istanbul.com/f1/?Foto%F0raf_%26amp%3B_Video/Genel_Foto%F0raflar/Ana_Trib%FCn"&gt;Race Track Construction&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;By the way I guess these are the non official safety cars.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/cevre02_2.jpg"&gt;&lt;img height="139" alt="cevre02" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/cevre02_thumb.jpg" width="185" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;These guys are afraid to stand from their seats cause they have paid 400 EUR for it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/istf1-476_2.jpg"&gt;&lt;img height="139" alt="istf1-476" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/istf1-476_thumb.jpg" width="208" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And you haven't booked yet! Well think again quick!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/f1-2006-tur-xp-0718_2.jpg"&gt;&lt;img height="139" alt="27.08.2006 Istanbul, Turkey, &amp;#10;Grid girl - Formula 1 World Championship, Rd 14, Turkish Grand Prix, Sunday Grid Girl - www.xpb.cc, EMail: info@xpb.cc - copy of publication required for printed pictures. Every used picture is fee-liable. &amp;#169; Copyright: Breloer / xpb.cc" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/f1-2006-tur-xp-0718_thumb.jpg" width="208" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/f1-2006-tur-xp-0725_2.jpg"&gt;&lt;img height="139" alt="27.08.2006 Istanbul, Turkey, &amp;#10;Grid girl - Formula 1 World Championship, Rd 14, Turkish Grand Prix, Sunday Grid Girl - www.xpb.cc, EMail: info@xpb.cc - copy of publication required for printed pictures. Every used picture is fee-liable. &amp;#169; Copyright: Breloer / xpb.cc" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/f1-2006-tur-xp-0725_thumb.jpg" width="208" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;(source: &lt;/font&gt;&lt;a title="http://www.motorsport.com/" href="http://www.motorsport.com/"&gt;&lt;font size="2"&gt;http://www.motorsport.com/&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/IMG1_Large_2.jpg"&gt;&lt;img height="427" alt="IMG1_Large" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/FORMULA1PETROLOFISITURKISHGRANDPRIX_CB48/IMG1_Large_thumb.jpg" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;See you at the track.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/FORMULA-1-PETROL-OFISI-TURKISH-GRAND-PRIX.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/FORMULA-1-PETROL-OFISI-TURKISH-GRAND-PRIX.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=5da60409-147d-4ff5-893e-72b434e18ef7</guid>
      <pubDate>Sun, 04 May 2008 16:44:58 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=5da60409-147d-4ff5-893e-72b434e18ef7</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=5da60409-147d-4ff5-893e-72b434e18ef7</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/FORMULA-1-PETROL-OFISI-TURKISH-GRAND-PRIX.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=5da60409-147d-4ff5-893e-72b434e18ef7</wfw:commentRss>
    </item>
    <item>
      <title>Interesting readings for the weekend.</title>
      <description>&lt;p&gt;In case you are looking what to reading during the weekend I found a couple of articles. I like hardware stuff so all of them are mostly that. The guys at &lt;a href="http://www.bit-tech.net"&gt;www.bit-tech.net&lt;/a&gt; have some very good hits.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;CPU related.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2007/01/27/intel_45nm_technology_overview/1"&gt;Intel 45nm technology overview&lt;/a&gt; High-k, Metal Gate Transistors and Penryns.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2008/03/19/intel_talks_nehalem_larrabee_and_32nm/1"&gt;Intel talks about Nehalem, Larrabee &amp;amp; 32nm&lt;/a&gt; Event more acronyms - Nehalem, Tukwila, Larrabee, Sandy Bridge. &lt;/p&gt;  &lt;p&gt;My guess is that we will remember one for a long time - Nehalem (just like web now know Conroe).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Memory.&lt;/p&gt;  &lt;p&gt;Read the very detailed articles on PC Memory. What DDR is? DDR1 vs DDR2 vs DDR3 vs Graphics DDR (GDDR) vs QDR and XDR. What is a Data Eye? DDR Topology, memory hierarchy, latency and bandwidth and more. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2007/11/15/the_secrets_of_pc_memory_part_1/1"&gt;The Secrets of PC Memory: Part 1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2007/12/17/the_secrets_of_pc_memory_part_2/1"&gt;The Secrets of PC Memory: Part 2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2008/02/08/the_secrets_of_pc_memory_part_3/1"&gt;The Secrets of PC Memory: Part 3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2008/02/10/the_secrets_of_pc_memory_part_4/1"&gt;The Secrets of PC Memory: Part 4&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;HDD stuff. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2007/06/11/understanding_raid/1"&gt;Understanding RAID&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In the last few years RAID has become really quite popular. Once purely in the domain of high-end enterprise servers, today, any self respecting enthusiast motherboard had better have onboard RAID if it wants to be taken seriously. The abundance of onboard RAID controllers mean that it&amp;#8217;s not unusual to see small arrays in today&amp;#8217;s home computers. The reasons for this can be for increased speed, increased reliability or simply for bragging rights. After all, two (or more) disks are better than one, right?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;One thing I can add is &lt;em&gt;&amp;quot;Never do a RAID 5 array on your MB integrated controller (P965 to be specific), NEVER&amp;quot;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2007/03/12/introduction_to_hard_drive_technology/1"&gt;Introduction to hard drive technology&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So then, what do all of these fancy letters mean? NCQ, TCQ, RAID, IDE, SCSI, SATA, MTBF, SCSI vs. SATA, Asynchronous Notifications. Article for HDD basics.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Misc&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/bits/2007/10/16/64-bit_more_than_just_the_ram/1"&gt;64-bit: More than just the RAM&lt;/a&gt; - The 64 million dollar question!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bit-tech.net/hardware/2008/01/22/efi_extensible_firmware_interface_preview/"&gt;First Look: Extensible Firmware Interface&lt;/a&gt; EFI the new Bios is here.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Do you have anything interesting to read? How about sharing it.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Interesting-readings-for-the-weekend.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Interesting-readings-for-the-weekend.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=f28fe8ab-ed7e-4ae9-b625-890f5f5f2294</guid>
      <pubDate>Sun, 04 May 2008 14:36:01 +0300</pubDate>
      <category>Hardware</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=f28fe8ab-ed7e-4ae9-b625-890f5f5f2294</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=f28fe8ab-ed7e-4ae9-b625-890f5f5f2294</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Interesting-readings-for-the-weekend.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=f28fe8ab-ed7e-4ae9-b625-890f5f5f2294</wfw:commentRss>
    </item>
    <item>
      <title>Installing FTP7 Publishing Service on Windows Vista SP1</title>
      <description>&lt;p&gt;Not so long time ago Microsoft have released a new version of their FTP Publishing Service - FTP 7. It is a long waited update to the aging FTP6 service that shipped with Windows Server 2003 and Windows XP RTM. A lot have changed and in fact it is a complete rewrite introducing many things like IIS7 integration, integrating FTP into a Web site, virtual host name support,&amp;#160; user isolation, SSL , IPv6 and UTF8 support to name a few. For more go to the &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1619"&gt;features overview&lt;/a&gt; or the detailed &lt;a href="http://learn.iis.net/page.aspx/310/whats-new-for-microsoft-and-ftp/"&gt;What's New&lt;/a&gt; page.&lt;/p&gt;  &lt;p&gt;Unfortunately FTP7 requires Windows Server 2008 to be installed. That is not a big deal but knowing that Windows Server and Windows Vista share the same code base, a question raises can it be deployed on Windows Vista machine? The answer is yes and in the following lines I will show you how. Keep in mind that this is not officially supported and the license requires a valid Windows Server 2008 license.&lt;/p&gt;  &lt;p&gt;First you need to download the installation file from the official &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1619"&gt;IIS.NET&lt;/a&gt; site. It is an msi file. Running it directly will show you a not supported OS message and will exit. Now you immediately realize that there is a Launch Condition not satisfying the installation and you know that this is not a problem. You need to open &lt;a href="http://msdn2.microsoft.com/en-us/library/aa370557.aspx"&gt;ORCA&lt;/a&gt; and delete that custom launch condition so the installation can proceed without checking the NT version number. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image8.png"&gt;&lt;img height="143" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image8_thumb.png" width="240" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That's exactly what I did trying to install FTP7 rc1 on Vista RTM. And it failed &amp;quot;gracefully&amp;quot; with the message &amp;quot;Configuration error: Unrecognized configuration path MACHINE/REDIRECTION&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image_4.png"&gt;&lt;img height="102" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This was on Vista RTM which had problems with HTTP redirection so I gave up till Vista SP1. Now when all the failing factors are removed - SP1 shipped and the final FTP7 version is alive I decided to try again. I did the same procedure but logged the installation using msiexec /L ftp7.log /I ftp7_x86_rtw.msi command line and to my surprise it failed again with another strange message:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;DEBUG: Error 2356:&amp;#160; Couldn't locate cabinet in stream: _91EE006EA23648B6D8093FEC97F98FC7.      &lt;br /&gt;The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2356. The arguments are: _91EE006EA23648B6D8093FEC97F98FC7, ,       &lt;br /&gt;MSI (s) (A0:BC) [15:31:03:795]: Product: Microsoft FTP Service for IIS 7.0 -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2356. The arguments are: _91EE006EA23648B6D8093FEC97F98FC7, , &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well not that strange since this service is not supported on Vista may be there is dependency on specific Windows Server 2008 API's. After inspecting the log I found that the setup fails after it can't locate a specific MEDIA stream in the msi file. That was strange since I haven't modified anything in it just a launch condition that have nothing to do with included msi streams. What was wrong was the fact that after deleting the launch condition I did a &amp;quot;Save As&amp;quot; and it happens that ORCA doesn't preserve all information from the original msi to the new one. (That's not so strange I know at least one other Microsoft tool that does the same thing - EntlibConfig.exe). After that I did a &amp;quot;Save&amp;quot; over the original file. This allows the setup to succeed. &lt;/p&gt;  &lt;p&gt;Now you are free to setup your FTP through IIS Manager&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image_8.png"&gt;&lt;img height="484" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/06f6a6a4b8d8_BD2D/image_thumb.png" width="504" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I guess I could have written this in couple of lines huh!&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Installing-FTP7-Publishing-Service-on-Windows-Vista-SP1.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Installing-FTP7-Publishing-Service-on-Windows-Vista-SP1.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=1bf91b8f-51a0-4b65-b7b7-c5b7b03709b0</guid>
      <pubDate>Tue, 22 Apr 2008 12:00:02 +0300</pubDate>
      <category>Windows</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=1bf91b8f-51a0-4b65-b7b7-c5b7b03709b0</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=1bf91b8f-51a0-4b65-b7b7-c5b7b03709b0</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Installing-FTP7-Publishing-Service-on-Windows-Vista-SP1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=1bf91b8f-51a0-4b65-b7b7-c5b7b03709b0</wfw:commentRss>
    </item>
    <item>
      <title>Visual Studio Whidbey/Orcas Tips</title>
      <description>&lt;p&gt;You are using Visual Studio for development right? Chances are that you have everything under one solution file. This includes the usual Class library projects, Web projects, Database projects (Data Dude rocks!), Console applications, Smart Client applications, Web Services, Unit Testing, Functional Testing, Silverlight applications just about anything from CLR stored procedures and Drivers to UI applications is under one solution file right? Well not exactly but you got the point. If you have this many projects at one solution file you need an easy way to navigate and find files in it. There are couple of ways you can ease your work.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;First did you know that if you start typing a files name in solution explorer it will traverse down the tree and select the file that matches. It is the standard type-ahead support for all Windows list views and tree views controls. &lt;/li&gt;    &lt;li&gt;If you need something more robust you can install &lt;a href="http://jens-schaller.de/sonictools/sonicfilefinder/index.htm"&gt;SonicFileFinder&lt;/a&gt; free add-in. It works great and list all file names containing the search expression. &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/VisualStudioWhidbeyOrcasTips_DA01/sonicFileFinderDialog_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="143" alt="sonicFileFinderDialog" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/VisualStudioWhidbeyOrcasTips_DA01/sonicFileFinderDialog_thumb.png" width="299" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;It also supports wildcards so you can type Ext*Methods for example. For complete list of features see &lt;a href="http://jens-schaller.de/sonictools/sonicfilefinder/overview/index.htm"&gt;features overview&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;If you prefer open source you can look at &lt;a href="http://www.codeplex.com/VSFlatSolutionExp"&gt;Visual Studio Flat Solution Explorer&lt;/a&gt;. It doesn't allow to search by part of a file name though.&lt;/li&gt;    &lt;li&gt;What if you are in a file and you want to navigate to it in solution explorer. Well that is natively supported. You just need to enable Track Activity In Solution Explorer feature. It is ON/OFF setting unfortunately so you should work either enabled or disabled and sometimes it is irritating since when you switch to the next tab in VS it will jump to the file in solution explorer which may not be your intend. That's why I think it is disabled by default. In any case you can use it by double clicking on it just for the matter of one-time sync. You can also assign a keyboard shortcut through Options-&amp;gt;Environment-&amp;gt;Keyboard.&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="549" alt="TrackActivityInSolutionExplorer" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/VisualStudioWhidbeyOrcasTips_DA01/image_3.png" width="651" border="0" /&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;If you want more tips and tricks I suggest you visit &lt;a href="http://blogs.msdn.com/saraford/default.aspx"&gt;Sara Ford's&lt;/a&gt; blog (category &lt;a href="http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2005+Tip+of+the+Week/default.aspx"&gt;Visual Studio 2005 Tip of the Week&lt;/a&gt;).&lt;/p&gt;    &lt;p&gt;I hope this helps. Don't worry, be happy!&lt;/p&gt;&lt;/blockquote&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Visual-Studio-WhidbeyOrcas-Tips.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Visual-Studio-WhidbeyOrcas-Tips.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=df05a653-0cad-4b8e-a34d-678513a743ec</guid>
      <pubDate>Sun, 20 Apr 2008 17:30:10 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=df05a653-0cad-4b8e-a34d-678513a743ec</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=df05a653-0cad-4b8e-a34d-678513a743ec</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Visual-Studio-WhidbeyOrcas-Tips.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=df05a653-0cad-4b8e-a34d-678513a743ec</wfw:commentRss>
    </item>
    <item>
      <title>Resume VMWare Workstation over Remote Desktop.</title>
      <description>&lt;p&gt;I use VMWare Workstation extensively. I use it for all kinds of activities - developing, testing Windows behavior when I do weird stuff, installing software that I need but I know I will never install on my real machine, you name it. It works fine and one of the things I like the most is the pause/resume ability. I need only a couple of seconds to resume a paused machine test something and then pause it again till the next time. Today I needed to do just that but over remote desktop. I logged on my remote machine and started the Workstation Console. When I tried to resume the specific VM I got this error message:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The frame buffer layout of the current display cannot be made to match the frame buffer layout stored in the snapshot.&amp;#160; The dimensions of the frame buffer in the snapshot are: Max width 2560, Max height 1770, Max size 18153472.&amp;#160; The dimensions of the frame buffer on the current display are: Max width 2360, Max height 1770, Max size 16777216.      &lt;br /&gt;Error encountered while trying to restore the state of group SVGA from file &amp;quot;C:\Users\****\Documents\Virtual Machines\Win Xp\Windows XP Professional1.vmss&amp;quot;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;When I clicked OK it allowed me to preserve my paused state:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Your virtual machine did not resume because of a correctable error. To preserve the suspended state so you can correct the error after the virtual machine is powered off, select Preserve.      &lt;br /&gt;To discard the suspended state, select Discard&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That was not ok. I needed this machine running. After a while I realized that my remote machine has two monitors so my total desktop size is exactly 2560x1024. What was going on is that my remote desktop session was configured to Full screen and that means only 1280x1024 desktop size. Somehow my paused state depends on that whenever I resume my machine to have the original desktop size I was when I did the pause on the VM. This issue is very easy to fix. I needed to connect with more desktop size to my remote machine. &lt;/p&gt;  &lt;p&gt;One way to do it to start &amp;quot;mstsc.exe /span /v:RemotePCName&amp;quot;. This way I will get the desktop size of the remote machine. &lt;/p&gt;  &lt;p&gt;The other way to do it to specify exactly what is the desired screen size using /w: /h: as parameters. In my case &lt;/p&gt;  &lt;p&gt;&amp;quot;mstsc.exe /w:2560 /h:1024 /v:RemotePCName&amp;quot;.&lt;/p&gt;  &lt;p&gt;This is useful if you have paused a machine and you can't get it up because you have removed a monitor for example. You borrow one of you colleagues machine for a minute and remote connect to your PC specifying the screen size. After the&amp;#160; resume is successful you just go your PCs console or just start a normal remote desktop connection at Full screen. &lt;/p&gt;  &lt;p&gt;Note: This works for Remote Desktop Client 6.0.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Resume-VMWare-Workstation-over-Remote-Desktop.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Resume-VMWare-Workstation-over-Remote-Desktop.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=65636339-7308-4030-9db1-a88f2d83e85e</guid>
      <pubDate>Sun, 16 Mar 2008 15:55:33 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=65636339-7308-4030-9db1-a88f2d83e85e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=65636339-7308-4030-9db1-a88f2d83e85e</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Resume-VMWare-Workstation-over-Remote-Desktop.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=65636339-7308-4030-9db1-a88f2d83e85e</wfw:commentRss>
    </item>
    <item>
      <title>What's new from MIX08</title>
      <description>&lt;p&gt;Microsoft made a ton of announcements at &lt;a href="http://visitmix.com/2008/default.aspx" target="_blank"&gt;MIX08&lt;/a&gt;. I just watched Scott Guthrie at the opening key note. He talked about so many things that I didn't remember them all after I finished watching the movie, so I decided to try summarize them here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Just Released .NET 3.5, VS2008, IIS7, Windows Server 2008. - I don't know what that means since I am using these for a couple of months now. Well except Longhorn 2008. I think they don't count the MSDN subscription downloads. &lt;/li&gt;    &lt;li&gt;ASP.NET MVC, ASPNET AJAX updated, ASPNET Dynamic Data framework. - Well not yet. Scheduled for &amp;quot;Late this year&amp;quot;. I expect this to be this summer since they are talking about couple of releases in that timeframe. Preview releases are available right now though.&lt;/li&gt;    &lt;li&gt;IE8 beta 1.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;CSS 2.1 support at the final IE8 release. &lt;/li&gt;      &lt;li&gt;CSS Certification. They have submitted 702 test cases to W3C test group available at MSDN under BSD license.&lt;/li&gt;      &lt;li&gt;Performance. &lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/WhatsnewfromMIX08_1346D/vlcsnap-5397866_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="184" alt="vlcsnap-5397866" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/WhatsnewfromMIX08_1346D/vlcsnap-5397866_thumb.png" width="244" align="left" border="0" /&gt;&lt;/a&gt;That's one of the reasons why I switched to Firefox. It is interesting why we don't see these kind of comparisons from Microsoft when they release a new product but we see them just when they are releasing the next version of this exact same product. To tell you the through IE 8 beta 1 is more slower than IE7. But hey its a beta 1 remember?&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;HTML 5 Support. &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Better history(Back button) support for AJAX sites through HTML 5 hash functionality.&lt;/li&gt;        &lt;li&gt;Network aware sites through connection events.&lt;/li&gt;        &lt;li&gt;DOM storage. Save pages locally temporary.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;IE developer tools, - Updated. Yeah Firefox has couple of them right now.&lt;/li&gt;      &lt;li&gt;WebSlices - Subscribe to a web page part in IE8. For this to work web sites should specify couple of CSS styles to a div.WebSlices specification is available right now through Open Specification Promise. Samples are also available.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Silverlight 2 beta&amp;#160; 1 available right now. - I installed that immediately. Like the 1,5+ million others do per day.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Rich High Def Video. &lt;/li&gt;      &lt;li&gt;Adaptive Streaming. Silverlight monitors network bandwidth and automatically adjusts the quality of the video. Very good. I don't know if all those flash video players support that, but in any case this is a must have functionality. Moreover you can plug-in your own algorithm for stream adjustment into the media system.&lt;/li&gt;      &lt;li&gt;Windows Media Services 2008 for Windows Server 2008 - 3x faster, free and already proved to work in real world scenarios.&lt;/li&gt;      &lt;li&gt;IIS7 media pack. - Shipped already. Throttling media buffering download to be only seconds ahead of the current video position.&lt;/li&gt;      &lt;li&gt; Advertising. Making money from your site.&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Silverlight ad template. A wizard for creating advertising for you to include in web pages.&lt;/li&gt;        &lt;li&gt;Atlas AdManager. Manage and track your advertising campaign. Many tracking information. Most importantly how much of the video the user have watched. They call it Engagements. Very detailed really.&lt;/li&gt;        &lt;li&gt;Expression Media Encoder 2. Visually add marker points for dynamically load ads over the video. Very good non intrusion way to show advertisements as overlays on the video the user is watching. XAML overlays also supported.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;NBC Olympics web site is going to be great. - The main issue was that they have less than 150 days to finish it.&lt;/li&gt;      &lt;li&gt;Multilingual support JavaScript, VB, C#, IronPython, IronRubby.&lt;/li&gt;      &lt;li&gt;WPF UI framework support. Layout management. Databinding, Skins and Styles and Animations.&lt;/li&gt;      &lt;li&gt;Networking stacks. REST, SOAP, WS-*, HTTP endpoints, Cross Domain Networking, Raw Sockets support.&lt;/li&gt;      &lt;li&gt;Linq query support.&lt;/li&gt;      &lt;li&gt;Local cache support. That is interesting. Maybe SQL Compact for Silverlight?&lt;/li&gt;      &lt;li&gt;Higher performance.&lt;/li&gt;      &lt;li&gt;Small download 4,3MB.&lt;/li&gt;      &lt;li&gt;Microsoft is partnering with Novel to deliver Linux support for Silverlight. That is great. Most probably it will kill Moonlight project.&lt;/li&gt;      &lt;li&gt;Built in Controls. Available as open source. You can modify them as you see fit. Available already.&lt;/li&gt;      &lt;li&gt;Testing framework for UI controls and for non UI code. 2000 unit tests. Available already as open source.&lt;/li&gt;      &lt;li&gt;Visual Studio 2008 Tools for Silverlight Beta 1 and Expression Blend 2.5 March Preview support. These Expression tools will never come out of beta. Don't you think?&lt;/li&gt;      &lt;li&gt;Silverlight Deep Zoom functionality available for you to use it on your web sites. See it in action on &lt;a title="http://memorabilia.hardrock.com/" href="http://memorabilia.hardrock.com/"&gt;Hard Rock Memorabilia&lt;/a&gt;.&lt;/li&gt;      &lt;li&gt;SharePoint Silverlight extensions. Yeah! I am very excited about this specifically, cause man that software will really survive the sun apocalypse. In fact I think this Silverlight thing was invented for this in the first place.&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/WhatsnewfromMIX08_1346D/wink_2.gif"&gt;&lt;img height="15" alt="wink" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/WhatsnewfromMIX08_1346D/wink_thumb.gif" width="15" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;Mobile devices support. That's huge. How in the world we are going to catch up with iPhone without this.&lt;/li&gt;      &lt;li&gt;Silverlight support on Nokia Symbian S60, S40 and Internet Tablets OS. That's fantastic news! Do you remember the Silverlight's code name? WPF Everywhere anyone? Now what Nokia needs is a nice &lt;a href="http://www.codeplex.com/singularity"&gt;Singularity&lt;/a&gt; OS for mobile devices to get rid of the Symbian+Java crap running on in.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;WPF improvements.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;More controls.&lt;/li&gt;      &lt;li&gt;Streamlined .NET setup. .NET 3.5 is installed by default on Windows Server 2008 but is not installed by Vista SP1 setup.&lt;/li&gt;      &lt;li&gt;Startup performance.&lt;/li&gt;      &lt;li&gt;Graphics Improvements. Offload more onto the GPU. - Will be available as a summer update.&lt;/li&gt;      &lt;li&gt;Custom graphics effects. Onto the GPU also. Custom effects for you to implement. Over pictures, movies and controls.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;That is a very long list of announcements. There are at least 15 things I want to test right now but I know I will skip it. As always the time that we have is very limited. The next set of Betas and CTPs are coming very soon. That's how's live on the verge of technology.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Whats-new-from-MIX08.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Whats-new-from-MIX08.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=0cd64e60-fe75-4ecf-b201-ab4388690d83</guid>
      <pubDate>Sun, 09 Mar 2008 23:55:58 +0300</pubDate>
      <category>Software Development</category>
      <category>Visual Studio</category>
      <category>WPF</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=0cd64e60-fe75-4ecf-b201-ab4388690d83</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=0cd64e60-fe75-4ecf-b201-ab4388690d83</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Whats-new-from-MIX08.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=0cd64e60-fe75-4ecf-b201-ab4388690d83</wfw:commentRss>
    </item>
    <item>
      <title>Vista SP1 broke my blog</title>
      <description>&lt;p&gt;Like every windows developer I installed Vista SP1 as soon as it came out on MSDN Subscriptions. I was happy and confident to know that the most of the glitches that bugged me till today will be gone. Service Pack 1 installed without any issues. (I even installed it on my work PC over remote desktop, so the next morning I come to work I wont have to wait for it. Pretty cool). &lt;/p&gt;  &lt;p&gt;It was just when I tried to open my blog that I realized it is not working. I got Error 503 Service Unavailable response from the server. A quick look showed that the Application Pool for my blog was failing to serve the first request and logs the following error in Event log.&lt;/p&gt;  &lt;blockquote&gt;   &lt;div&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;The worker process failed to initialize correctly and therefore could not be started. The data is the error.

&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Event&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/win/2004/08/events/event&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;System&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Provider&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Microsoft-Windows-IIS-W3SVC-WP&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Guid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;{670080D9-742A-4187-8D16-41143D1290BD}&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;EventSourceName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;W3SVC-WP&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;EventID&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Qualifiers&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;49152&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;2276&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;EventID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Level&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;2&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Level&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Task&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Task&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Opcode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Opcode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Keywords&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0x80000000000000&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Keywords&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TimeCreated&lt;/span&gt; &lt;span style="color: #ff0000"&gt;SystemTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;2008-02-21T21:43:34.000Z&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;EventRecordID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;36822&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;EventRecordID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Correlation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Execution&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ProcessID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ThreadID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Channel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Application&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Channel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Computer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;CONROE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Computer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Security&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
 &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;System&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;EventData&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Binary&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;05000780&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Binary&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
 &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;EventData&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Event&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the data is the error. This error in words is 80070005. I was one Windows SDK start away from finding out what that means. I searched for this number in the SDK and found out that this is a Standard COM error &amp;quot;E_ACCESSDENIED 80070005 General access denied error.&amp;quot; So I realize I am dealing with a security issue. What was the exact resource that my App Pool was trying to connect and failed? Like Mark Russinovich would do I started Process Monitor to look for more detailed information since the report was totally non comprehensive. Working with Process Monitor is very easy just watch &lt;a href="http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=722" target="_blank"&gt;TechEd IT Forum 2007: The Case of the Unexplained...&lt;/a&gt; movie where Mark shows some more stuff. The most important rule for Process Monitor is know what you are looking for. In my case that was an Access Denied operation result in the Result column. This would be on a process with credentials that my app pool was configured to work with. So I highlighted all processes that have this user credentials. After that it was easy to identify the operation that failed - the selected row on the screenshot. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/e4293fdcc13c_10770/Process%20Monitor_2.png"&gt;&lt;img height="480" alt="Process Monitor" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/e4293fdcc13c_10770/Process%20Monitor_thumb.png" width="637" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The process's that runs my blog had no read access to C:\Windows\System32\inetsrv\config\schema directory. This directory is used by IIS to save its settings. So I changed the security settings to allow my user credentials to read from that directory and voila my blog is up again.&lt;/p&gt;

&lt;p&gt;By the way if you watch the The Case of the Unexplained movie you will hear Mark Russinovich say that he strives to remove all hexadecimal error message from user space. I guess Mark and Microsoft as a whole must treat Event log messages the same as user level MessageBoxes. The event log message was not detailed at all and whoever wrote that COM logging should add the event error description not just writing a simple error code to the log.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Vista-SP1-broke-my-blog.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Vista-SP1-broke-my-blog.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=cdd60966-2e8f-4fb3-8a2c-ec7fcb7dc514</guid>
      <pubDate>Sat, 23 Feb 2008 20:47:55 +0300</pubDate>
      <category>Software Development</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=cdd60966-2e8f-4fb3-8a2c-ec7fcb7dc514</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=cdd60966-2e8f-4fb3-8a2c-ec7fcb7dc514</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Vista-SP1-broke-my-blog.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=cdd60966-2e8f-4fb3-8a2c-ec7fcb7dc514</wfw:commentRss>
    </item>
    <item>
      <title>Cropper - updated</title>
      <description>&lt;p&gt;Back in &lt;a href="http://www.blagoev.com/Blog/post/Taking-screenshots-including-the-mouse-pointer-programmatically.aspx" target="_blank"&gt;November&lt;/a&gt; last year I have updated the excellent screen capture tool &lt;a href="http://www.codeplex.com/cropper" target="_blank"&gt;Cropper&lt;/a&gt; to have the ability to include the mouse pointer in the screenshots you take. I emailed the changes to the author Brian Scott and asked him to update the tool so anyone can take advantage of this new functionality. Unfortunately Brian haven't released a new version by now. May be he is busy finishing some other great tool. Anyway I decided to post the changes here so you can download it. &lt;/p&gt;  &lt;p&gt;And here it is. Download the &lt;a id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:4b000498-0e30-42a0-bd92-95d6a4b7e4fa" href="http://blagoev.com/Blog/file.axd?file=WindowsLiveWriter/Cropperupdated_C24A/Cropper_2.zip"&gt;Cropper Source Code (1,91 MB)&lt;/a&gt; or just the compiled binaries &lt;a id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:ed003f36-1b88-4908-9956-3f38b7f5b9bb" href="http://blagoev.com/Blog/file.axd?file=WindowsLiveWriter/Cropperupdated_C24A/Cropper_3.zip"&gt;Cropper.zip (261 KB)&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Now I don't want to start a separate source for Cropper so I will remove these links as soon as Brian releases a new version at Codeplex.&lt;/p&gt;  &lt;p&gt;Just to remind you this version have the ability to capture the mouse independent of the capture plug-in used. So for example you can capture Animated GIFS with the mouse pointer. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Cropperupdated_C24A/image_4.png"&gt;&lt;img height="466" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Cropperupdated_C24A/image_thumb_1.png" width="306" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There is an option to disable this functionality in the the options pane.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Cropperupdated_C24A/image_2.png"&gt;&lt;img height="367" alt="image" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Cropperupdated_C24A/image_thumb.png" width="274" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Enjoy! &lt;/p&gt;  &lt;p&gt;Lubo.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Cropper---updated.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Cropper---updated.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=146a91f3-ab75-4a5a-8ca3-edc6c6b5e00e</guid>
      <pubDate>Wed, 30 Jan 2008 15:49:00 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=146a91f3-ab75-4a5a-8ca3-edc6c6b5e00e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=146a91f3-ab75-4a5a-8ca3-edc6c6b5e00e</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Cropper---updated.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=146a91f3-ab75-4a5a-8ca3-edc6c6b5e00e</wfw:commentRss>
    </item>
    <item>
      <title>Team Building through Bodybuilding</title>
      <description>&lt;p&gt;If you are like me you most probably spent you day sitting in front of a computer doing a constant conversation with it, trying to negotiate what's needed to be done and how. If you are like me you will definitely agree that times goes by very fast while computing. So fast that sometimes you realize that you haven't stand up from your chair at all or you have stand up just couple of times. You will definitely agree with me that this is very bad. Still we continue to do it like nothing is going to happen us. Well this is not true. It will, and it is going to hurt. Lets face the fact:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h3&gt;&lt;/h3&gt;   &lt;a href="http://www.eurekalert.org/pub_releases/2007-11/uom-msf111907.php" target="_blank"&gt;&lt;font size="4"&gt;MU study finds that sitting may increase risk of disease&lt;/font&gt;&lt;/a&gt;     &lt;h4&gt;MU professor offers solution: just stand up!&lt;/h4&gt;    &lt;p&gt;COLUMBIA, Mo. &amp;#8211; Most people spend most of their day sitting with relatively idle muscles. Health professionals advise that at least 30 minutes of activity at least 5 days a week will counteract health concerns, such as cardiovascular disease, diabetes and obesity that may result from inactivity. Now, researchers at the University of Missouri-Columbia say a new model regarding physical activity recommendations is emerging. New research shows that what people do in the other 15 and a half hours of their waking day is just as important, or more so, than the time they spend actively exercising. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That's very disturbing. Don't you think? To prove my point just read the &lt;a href="http://www.hanselman.com/blog/TeamHanselmanAndDiabetesWalk2007.aspx" target="_blank"&gt;Scott Hanselman's&lt;/a&gt; first hand experience. I read this couple of months ago but just recently have thought more seriously about it. As said in the post don't just read it, but step ahead and donate. During Christmas I received an $80 amazon gift from my employer. There are some troubles purchasing goods from amazon and shipping them to Bulgaria so I haven't decided what to do with them since today. I intend to donate all of it to the cause to FIGHT DIABETES.&lt;/p&gt;  &lt;p&gt;Personally what can we do to fight diabetes. There is one simple, very strong word that can fight any disease. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sport!&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Jogging, Swimming, Climbing, Cycling, Surfing you name it. Pick the &lt;a href="http://en.wikipedia.org/wiki/List_of_sports" target="_blank"&gt;name of the game&lt;/a&gt; and stick with it. For me this is &lt;a href="http://en.wikipedia.org/wiki/Bodybuilding" target="_blank"&gt;Bodybuilding&lt;/a&gt;. Yeah baby! Go hard or go home!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TeamBuildingthroughBodybuilding_DBA7/Go%20Hard...%20Or%20Go%20Home_2.png"&gt;&lt;img height="296" alt="Go Hard... Or Go Home" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TeamBuildingthroughBodybuilding_DBA7/Go%20Hard...%20Or%20Go%20Home_thumb.png" width="451" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next time you wonder where to do your &lt;a href="http://en.wikipedia.org/wiki/Team_building" target="_blank"&gt;Team Building&lt;/a&gt; - do it in the gym. That's what I call Team Building through Bodybuilding.&lt;/p&gt;  &lt;p&gt;Stop wasting your time right now or you will end up at the forefront of the evolution chain.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TeamBuildingthroughBodybuilding_DBA7/evolution%20of%20modern%20man_2.jpg"&gt;&lt;img height="398" alt="evolution of modern man" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/TeamBuildingthroughBodybuilding_DBA7/evolution%20of%20modern%20man_thumb.jpg" width="296" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But if you are there already it is not late. It is never late. &amp;quot;Just stand up!&amp;quot;. &lt;/p&gt;  &lt;p&gt;See you at the gym.&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Team-Building-through-Bodybuilding.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Team-Building-through-Bodybuilding.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=629ba3bc-a8e5-41c6-9c1a-94aea1f98079</guid>
      <pubDate>Fri, 25 Jan 2008 17:40:26 +0300</pubDate>
      <category>Misc</category>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=629ba3bc-a8e5-41c6-9c1a-94aea1f98079</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=629ba3bc-a8e5-41c6-9c1a-94aea1f98079</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Team-Building-through-Bodybuilding.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=629ba3bc-a8e5-41c6-9c1a-94aea1f98079</wfw:commentRss>
    </item>
    <item>
      <title>Windows Vista Developer Guidelines - A Must Read.</title>
      <description>&lt;p&gt;As a software developer you should have noticed that Windows Vista requires special attention. Even if you are building application targeted for Windows XP you should always test your code against the new operating system since it is very likely that your app will be used on Vista. That's why you should do the effort and read the Windows Vista Developer Guidelines:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa185848.aspx"&gt;User Experience Articles&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa511258.aspx"&gt;Windows Vista User Experience Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb931724.aspx"&gt;Windows Vista Developer Story&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Great articles, really great. I can't never express enough my feelings when I read these very well prepared, highly detailed articles for Windows development. This is the reason why I am a Microsoft Windows Developer and that I am very excited about it. Having such articles in your hands simplifies things, makes your job easier and produces beautiful results.&lt;/p&gt;  &lt;p&gt;If you don't have the time and desire to read all of them you can always come back later and use them as reference in your work. Still I highly recommend reading the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb530410.aspx"&gt;Windows Vista Application Development Requirements for User Account Control Compatibility&lt;/a&gt;. Taking into account the User Account Control is mandatory for any Windows Vista development. UAC is one of the most discussed feature of Vista. &lt;/p&gt;  &lt;p&gt;Recently I was reading through the UAC compatibility guidelines and I noticed one thing. An application is blocked if it requires elevation on user logon.&lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;Elevations are blocked in the User's Logon Path&lt;/h5&gt;    &lt;p&gt;Applications that start when the user logs on and require elevation are now blocked in the logon path. Without blocking applications from prompting for elevation in the user's log on path, both standard users and administrators would have to respond to a User Account Control dialog box on every log on. Windows Vista notifies the user if an application has been blocked by placing an icon in the system tray. The user can then right-click this icon to run applications that were blocked from prompting for elevation as the user logged on. The user can manage which startup applications are disabled or removed from this list by double-clicking on the tray icon.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you ever want to start an application with elevated privileges at logon you should use Vista's Task Scheduler. In the UAC article there is a sample which shows how to do that programmatically. Manually scheduling an application is very simple. If you select the checkbox labeled &lt;b&gt;Run with highest privileges&lt;/b&gt;, Task Scheduler will run the task using an elevated privileges token rather than a least privileges (UAC) token. This way you will not even receive prompt for consent since Task Scheduler is already elevated.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Howtostartelevatedapplicationonwindowsv_FDFB/image_2.png"&gt;&lt;img height="332" alt="Create elevated task" src="http://blagoev.com/Blog/image.axd?picture=WindowsLiveWriter/Howtostartelevatedapplicationonwindowsv_FDFB/image_thumb.png" width="443" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.blagoev.com/Blog/post/Windows-Vista-Developer-Guidelines---A-Must-Read.aspx</link>
      <author>lubo</author>
      <comments>http://www.blagoev.com/Blog/post/Windows-Vista-Developer-Guidelines---A-Must-Read.aspx#comment</comments>
      <guid>http://www.blagoev.com/Blog/post.aspx?id=520155fd-f482-4f16-86c2-9c4bd87c9b21</guid>
      <pubDate>Sun, 20 Jan 2008 02:56:56 +0300</pubDate>
      <dc:publisher>lubo</dc:publisher>
      <pingback:server>http://www.blagoev.com/Blog/pingback.axd</pingback:server>
      <pingback:target>http://www.blagoev.com/Blog/post.aspx?id=520155fd-f482-4f16-86c2-9c4bd87c9b21</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.blagoev.com/Blog/trackback.axd?id=520155fd-f482-4f16-86c2-9c4bd87c9b21</trackback:ping>
      <wfw:comment>http://www.blagoev.com/Blog/post/Windows-Vista-Developer-Guidelines---A-Must-Read.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.blagoev.com/Blog/syndication.axd?post=520155fd-f482-4f16-86c2-9c4bd87c9b21</wfw:commentRss>
    </item>
  </channel>
</rss>