<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Developer Tools</title>
        <link>http://geekswithblogs.net/urig/category/3023.aspx</link>
        <description>Developer Tools</description>
        <language>en-US</language>
        <copyright>urig</copyright>
        <managingEditor>uri.goldstein@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>When did Open Source Software become so friendly?</title>
            <link>http://geekswithblogs.net/urig/archive/2006/12/14/101124.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;I've just finished installing &lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;MediaWiki 1.8.2&lt;/a&gt; (the same wiki engine that powers &lt;a href="http://en.wikipedia.org/wiki/Main_Page"&gt;Wikipedia&lt;/a&gt;) on my machine at work. MediaWiki requires three things to be present on the machine prior to installing: A web server, A database server and the PHP engine.  &lt;p&gt;In my case that meant that I had to install &lt;a href="http://httpd.apache.org/"&gt;Apache Http Server 2.2.3&lt;/a&gt;, &lt;a href="http://www.mysql.com/"&gt;MySQL 5.0.27 Community Server&lt;/a&gt; and &lt;a href="http://www.php.net/"&gt;PHP 5.2.0&lt;/a&gt;&amp;nbsp;- all from scratch.  &lt;p&gt;The point of this post is that I was surprised at how easy it was to obtain and install these 4 (counting MediaWiki) pieces of server software. With the exception of MediaWiki, I was able to download and install within minutes. The setup programs are robust, user-friendly and most importantly - almost intuitive.  &lt;p&gt;The one exception was MediaWiki which required me to read through its &lt;a href="http://meta.wikimedia.org/wiki/Help:Installation"&gt;online installation guide&lt;/a&gt; and tackle one undocumented issue during the process (It requires MySQL to run with Strict Mode set to off - I'll post about that in the near future).  &lt;p&gt;It is almost amazing to me how open source software could come this far in providing a free, easy to use alternative to commercial software. The power to all the people developing these wonderful tools of our trade!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101124"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101124" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/101124.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/12/14/101124.aspx</guid>
            <pubDate>Thu, 14 Dec 2006 21:20:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/101124.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/12/14/101124.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/101124.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/101124.aspx</trackback:ping>
        </item>
        <item>
            <title>Workaround: How to set an ASP.Net Image's NavigateUrl property without having it HTMLEncoded.</title>
            <link>http://geekswithblogs.net/urig/archive/2006/09/19/91610.aspx</link>
            <description>&lt;p&gt;Just bumped into another one of ASP.Net's annoying quirks. When setting the NavigateUrl property of an &amp;lt;asp:image&amp;gt;,
ASP.Net automatically "HTMLEncodes" the value assigned. So if you'd try to pass a query string in the url, like so:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;code&gt;&amp;lt;asp:image id=&amp;quot;imgExample&amp;quot; runat=&amp;quot;server&amp;quot; navigateurl = &amp;quot;example.jpg?foo=bar&amp;amp;bar=bie&amp;quot; /&amp;gt;&lt;/code&gt;&lt;br /&gt;
you'll end up with something like this on the client side:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;code&gt;&amp;lt;img id=&amp;quot;imgExample&amp;quot; src=&amp;quot;example.jpg?foo=bar&amp;amp;amp;bar=bie&amp;quot; /&amp;gt;&lt;/code&gt;&lt;br /&gt;
which will thoroughly break your query string.&lt;/p&gt;
&lt;p&gt;Note that this also happens when you try to set the NavigateUrl property programmatically.&lt;/p&gt;
&lt;p&gt;The workaround I've come up with is to replace the &amp;lt;asp:image&amp;gt; with an &amp;lt;img&amp;gt; tag. It's not as obvious as it sounds
when you're trying to set the url from the server side.&lt;/p&gt;
&lt;p&gt;If you want to programmatically set the src attribute on an &amp;lt;img&amp;gt; tag from the server side, you'll need to know three things:
&lt;ol&gt;
&lt;li&gt;To make the &amp;lt;img&amp;gt; tag a proper server side control you'll need to add a runat="server" attribute to it.&lt;/li&gt;
&lt;li&gt;On the server side, &amp;lt;img&amp;gt; tags are represented as System.Web.UI.HtmlControls.HtmlImage objects instead of the usual System.Web.UI.WebControls.Image object.&lt;/li&gt;
&lt;li&gt;The HtmlImage object has the property &lt;em&gt;Src&lt;/em&gt; instead of the Image object's &lt;em&gt;NavigateUrl&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;Good luck!&lt;br /&gt;
urig&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91610"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91610" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/91610.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/09/19/91610.aspx</guid>
            <pubDate>Tue, 19 Sep 2006 21:30:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/91610.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/09/19/91610.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/91610.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/91610.aspx</trackback:ping>
        </item>
        <item>
            <title>CustomValidator will validate empty controls - but only in ASP.Net 2.0.</title>
            <link>http://geekswithblogs.net/urig/archive/2006/09/19/91585.aspx</link>
            <description>&lt;p&gt;A while back I &lt;a href="http://geekswithblogs.net/urig/archive/2006/07/27/86434.aspx"&gt;ranted&lt;/a&gt; about ASP.Net's CustomValidator behaving badly - When the control it is set to validate is empty, CustomValidator will (surprisingly) perform no validation.&lt;/p&gt;

&lt;p&gt;Now I've learned that the good people at Microsoft have resolved this issue, but only in ASP.Net 2.0. The CustomValidator now has a new property called &lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.validateemptytext.aspx" target="_blank"&gt;ValidateEmptyText&lt;/a&gt;. As the name implies, when this property is set to true empty controls &lt;strong&gt;will be&lt;/strong&gt; validated by the CustomValidator. &lt;/p&gt;

&lt;p&gt;Too bad this solution is only implemented in ASP.Net 2.0. What does Microsoft expect us to do in projects that are in ASP.Net 1.1? Upgrade??&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/91585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/09/19/91585.aspx</guid>
            <pubDate>Tue, 19 Sep 2006 18:27:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/91585.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/09/19/91585.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/91585.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/91585.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.Net CustomValidator is useless for empty controls</title>
            <link>http://geekswithblogs.net/urig/archive/2006/07/27/86434.aspx</link>
            <description>&lt;p&gt;For years I've been living with the unsettling feeling that there's something mysteriously wrong with ASP.Net's CustomValidator control. Every time I made the courageous decision to tackle this elusive control and try to harness it for my use, something would go wrong. Something I couldn't quite put my finger on until now.&lt;/p&gt;

&lt;p&gt;I've just discovered the terrible secret behind the CustomValidator control: it doesn't fire if the control to be validated has an empty value. Here it is, in black on white, from the MSDN Library:&lt;br /&gt;
&lt;br /&gt;
&lt;q&gt;&lt;strong&gt;Note&lt;/strong&gt; If the input control is empty, no validation functions are called and validation succeeds. Use a RequiredFieldValidator control to require the user to enter data in the input control.&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;WTF?! Who ever came up with *that* constraint? And why did I take so long to find this out? (answer: I should have been more patient and read the documentation through.)&lt;/p&gt;

&lt;p&gt;The problem is that it's easy to imagine a scenario where checking whether a control is empty is an essential part of a more complex logic which warrants a CustomValidator. What then?&lt;/p&gt;

&lt;p&gt;In my current scenario, I attached the CustomValidator to a TextBox to see whether it was empty or not, in conjuction with checking whether a DropDownList had a specific value. When I did that, the CustomValidator simply would not fire - not on the client nor on the server. Luckily for me, I was able to attach to the DropDownList instead of the TextBox and then the control would fire properly.&lt;/p&gt;

How did some of you overcome this limitation of ASP.Net's CustomValidator?&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=86434"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=86434" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/86434.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/07/27/86434.aspx</guid>
            <pubDate>Thu, 27 Jul 2006 20:17:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/86434.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/07/27/86434.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/86434.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/86434.aspx</trackback:ping>
        </item>
        <item>
            <title>Force Explorer to Start With the Folder You Want</title>
            <link>http://geekswithblogs.net/urig/archive/2006/07/19/85638.aspx</link>
            <description>&lt;p&gt;How many times a day do you click the Windows Explorer shortcut in your Quick Launch toolbar and then navigate to the folder where you do most of your work?&lt;/p&gt;

&lt;p&gt;Here's a tip from the wonderful &lt;a href="http://www.annoyances.org/" target="_blank"&gt;Windows Annoyances&lt;/a&gt; website that saves me the trouble of navigating the same path over and over again - I &amp;quot;&lt;a href="http://www.annoyances.org/exec/show/article01-419" target="_blank"&gt;Force Explorer to Start With the Folder You Want&lt;/a&gt;&amp;quot;.&lt;/p&gt;

&lt;p&gt;Make me mad to think why Microsoft fail to provide easy documentation of explore.exe's command line options.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85638"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=85638" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/85638.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/07/19/85638.aspx</guid>
            <pubDate>Wed, 19 Jul 2006 13:18:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/85638.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/07/19/85638.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/85638.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/85638.aspx</trackback:ping>
        </item>
        <item>
            <title>The neatest Notepad trick ever.</title>
            <link>http://geekswithblogs.net/urig/archive/2006/07/10/84586.aspx</link>
            <description>&lt;P&gt;Who knew the old Notepad.exe still had secrets hiding among its modest codebase?&lt;/P&gt;
&lt;P&gt;Try this: Open a new text file with Notepad. On the first line type .LOG (in capital letters). Save the file and exit Notepad.&lt;/P&gt;
&lt;P&gt;Now, every time you open the file in Notepad, it will be opened on the last line and a time stamp will appended to it just before that. The file is effectively a poor man's journal. How neat is that? :)&lt;/P&gt;
&lt;P&gt;via &lt;A href=http://www.gadgetopia.com/post/5398 target="_blank"&gt;Gadgetopia&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=84586"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=84586" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/84586.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/07/10/84586.aspx</guid>
            <pubDate>Mon, 10 Jul 2006 20:09:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/84586.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/07/10/84586.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/84586.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/84586.aspx</trackback:ping>
        </item>
        <item>
            <title>Gliffy - Free online graphs and diagrams editor </title>
            <link>http://geekswithblogs.net/urig/archive/2006/06/28/83403.aspx</link>
            <description>&lt;p&gt; With &lt;a href="http://www.gliffy.com/" target="_blank"&gt;Gliffy&lt;/a&gt; around, who needs Microsoft Visio anyhow?&lt;/p&gt;

&lt;p&gt;Credit to &lt;a href="http://www.digg.com/" target="_blank"&gt;digg&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=83403"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=83403" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/83403.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/06/28/83403.aspx</guid>
            <pubDate>Wed, 28 Jun 2006 16:56:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/83403.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/06/28/83403.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/83403.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/83403.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Prompt - Free (!) IntelliSense for Microsoft SQL Server Management Studio</title>
            <link>http://geekswithblogs.net/urig/archive/2006/05/23/79313.aspx</link>
            <description>&lt;p&gt;...and for the old Enterprise Manager and Query Analyzer and for Visual Studio 2003 and 2005 and for UltraEdit and EditPlus (!)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="http://red-gate.com/products/SQL_Prompt/index.htm" target="_blank"&gt;SQL Prompt&lt;/a&gt;&lt;/em&gt; is a freeware from &lt;a href="http://red-gate.com/" target="_blank"&gt;Red Gate Software&lt;/a&gt;. It's a stand-alone app that sniffs the text you type into your IDE and beautifies and auto-completes it as you go. I've tried it and I recommened it.&lt;/p&gt;

&lt;p&gt;It's a memory hog though. It's taking up over 30MB of RAM on my machine even though it only has to store 4 DB schemas right now.&lt;/p&gt;

&lt;p&gt;Thanks go to &lt;a href="http://blogs.microsoft.co.il/blogs/shahar/archive/2006/05/21/502.aspx" target="_blank"&gt;Shahar&lt;/a&gt; for the referral. His blog is in Hebrew.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79313"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79313" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/79313.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/05/23/79313.aspx</guid>
            <pubDate>Tue, 23 May 2006 14:43:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/79313.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/05/23/79313.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/79313.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/79313.aspx</trackback:ping>
        </item>
        <item>
            <title>.Net 2.0 SqlParameter rounds DateTime values (?)</title>
            <link>http://geekswithblogs.net/urig/archive/2006/05/21/79115.aspx</link>
            <description>&lt;p&gt;Just ran into a bit of nastiness with the &lt;em&gt;SqlParameter&lt;/em&gt; class in .Net 2.0.&lt;/p&gt;

&lt;p&gt;The scenario: I have a &lt;em&gt;DateTime&lt;/em&gt; with a value of '05/30/2006 23:59:59.999' (that's 999 milliseconds). When I save it to a (Microsoft SQL Server 2005) DB using a stored procedure invoked by &lt;em&gt;SqlHelper.ExecuteNonQuery()&lt;/em&gt;, the value surprisingly changes to '05/31/2006 00:00:00.000'.&lt;/p&gt;

&lt;p&gt;A bit of step-by-step debugging led me to the culprit. When the &lt;em&gt;DateTime&lt;/em&gt; is stored in a &lt;em&gt;SqlParameter&lt;/em&gt; to be passed to &lt;em&gt;SqlHelper.ExecuteNonQuery()&lt;/em&gt;, the &lt;em&gt;SqlParameter&lt;/em&gt; stores the original value in its &lt;em&gt;Value&lt;/em&gt; property, but stores a rounded value in its &lt;em&gt;SqlValue&lt;/em&gt; property. My best guess is that what's actually passed to Microsoft SQL Server is the &lt;em&gt;SqlValue&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So how come &lt;em&gt;SqlParameter&lt;/em&gt; does this rounding? Is it justified? Why is it not documented? And curiously - is this behavior new to .Net 2.0? You see there's no reference to a &lt;em&gt;SqlValue&lt;/em&gt; property in the Visual Studio 2003 documentation for &lt;em&gt;SqlParameter&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If anyone can shed some more light on this, I'd greatly appreciate it. :)&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79115"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79115" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/79115.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/05/21/79115.aspx</guid>
            <pubDate>Sun, 21 May 2006 20:52:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/79115.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/05/21/79115.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/79115.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/79115.aspx</trackback:ping>
        </item>
        <item>
            <title>Error in VS2005 Documentation: FinishNavigationTemplate CommandName for "Finish" button</title>
            <link>http://geekswithblogs.net/urig/archive/2006/05/16/78585.aspx</link>
            <description>&lt;p&gt;I've been messing around with an ASP.Net 2.0 Wizard Server Control, trying to customize a FinishNavigationTemplate. &lt;/p&gt;

&lt;p&gt;I followed the instructions in the the Microsoft Visual Studio 2005 Documentation page for FinishNavigationTemplate (ms-help link &lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref16/html/P_System_Web_UI_WebControls_Wizard_FinishNavigationTemplate.htm#seeAlsoToggle" target="_blank"&gt;here&lt;/a&gt;) which said:

&lt;blockquote&gt;The FinishNavigationTemplate object that is contained in the FinishNavigationTemplate property must contain two IButtonControl controls, one with its CommandName property set to "MoveFinish" and the other with its CommandName property set to "MovePrevious", to enable the navigation feature.&lt;/blockquote&gt;

&lt;p&gt;And yet, when I clicked the Finish button on my Finish Step, the Wizard would not proceed to the Complete Step.&lt;/p&gt;

&lt;p&gt;Then I had an epiphany - maybe I can get some help from the VS2005 Designer. I swithced to design mode, right clicked the control and clicked "Reset FinishNavigationTemplate". That removed my malfunctioning template, so I right clicked again and clicked "Convert to FinishNavigationTemplate". &lt;/p&gt;

&lt;p&gt;That generated a new template for me and voila, it worked. The problem? The VS2005 Documentation is wrong. The "Finish" button should have its CommandName property set to "MoveComplete" and not "MoveFinish". That makes perfect sense as we are already in the "Finish" step and trying to move to the "Complete" step.&lt;/p&gt;

&lt;p&gt;Turns out that in the &lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.wizard.finishnavigationtemplate.aspx" target="_blank"&gt;the online version of the page&lt;/a&gt; the error has been corrected but I used the "Send comments about this topic to Microsoft" feature to send MS an email about it anyway.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=78585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=78585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/78585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Uri Goldstein</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/05/16/78585.aspx</guid>
            <pubDate>Tue, 16 May 2006 19:18:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/78585.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/05/16/78585.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/78585.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/78585.aspx</trackback:ping>
        </item>
    </channel>
</rss>