<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fugato &#187; Rant</title>
	<atom:link href="http://fugato.net/category/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://fugato.net</link>
	<description>Gunnlaugur Þór Briem</description>
	<lastBuildDate>Tue, 01 May 2012 13:18:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Diffing at 37,000 feet</title>
		<link>http://fugato.net/2007/04/18/diffing-at-37000-feet/</link>
		<comments>http://fugato.net/2007/04/18/diffing-at-37000-feet/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 11:37:14 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[Team Foundation]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/04/18/diffing-at-37000-feet/</guid>
		<description><![CDATA[A brief feature comparison: in mid-flight I am impertinent enough to want to diff my checked-out code to see the changes I have made. Under (the free-of-charge and open-source) Subversion, that would have been &#8220;Sure, here you go.&#8221; Under (the $3,000 proprietary) Team Foundation Server, it is &#8220;be thankful I&#8217;m letting you work at all. [...]]]></description>
			<content:encoded><![CDATA[<p>A brief feature comparison: in mid-flight I am impertinent enough to want to diff my checked-out code to see the changes I have made.</p>
<p>Under (the free-of-charge and open-source) Subversion, that would have been &#8220;Sure, here you go.&#8221;</p>
<p>Under (the $3,000 proprietary) Team Foundation Server, it is &#8220;be thankful I&#8217;m letting you work at all. And when you get online, go download a separate utility and ask it politely to sort out which files you have changed.&#8221;</p>
<p>And here I was trying to break the rant habit. Dagnabbit!</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/04/18/diffing-at-37000-feet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The incomprehensible failure of disco</title>
		<link>http://fugato.net/2007/02/22/the-incomprehensible-failure-of-disco/</link>
		<comments>http://fugato.net/2007/02/22/the-incomprehensible-failure-of-disco/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 13:00:24 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/02/22/the-incomprehensible-failure-of-disco/</guid>
		<description><![CDATA[Suddenly my MSBuild fails because somebody deleted Reference.cs and there&#8217;s only a Reference.map in the Web References\LT folder. So I try changing the reference&#8217;s URL Behavior from Dynamic to Static (just to make any change, to see if Visual Studio regenerates Reference.cs). That yields the error dialog pictured here. Pop quiz, hotshot: what is the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="floatright" style="float: right; padding-left: 20px; padding-bottom: 20px;" src='http://fugato.net/wp-content/uploads/2007/02/disco-failed.png' alt='Disco failed' /></p>
<p>Suddenly my MSBuild fails because somebody deleted <code>Reference.cs</code> and there&#8217;s only a <code>Reference.map</code> in the <code>Web References\LT</code> folder.</p>
<p>So I try changing the reference&#8217;s URL Behavior from Dynamic to Static (just to make <em>any</em> change, to see if Visual Studio regenerates <code>Reference.cs</code>). That yields the error dialog pictured here.</p>
<p>Pop quiz, hotshot: what is the difference between OK and Cancel in this dialog?</p>
<p>None, apparently. I click OK and the property does change to Static. When I repeat the experiment, this time clicking Cancel, the property also changes to Static. Don&#8217;t know what else might be happening behind this error dialog &#8230;</p>
<p>&#8230; and that&#8217;s exactly the point. Where, pray tell, should I go to troubleshoot this error?</p>
<p>Well, silly, I&#8217;m a tech guy. I should figure it out for myself, rather than expect my tools to make it easy to find. Which brings me to my next question &#8230;</p>
<p>&#8230; how much did we pay for this IDE again?</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/02/22/the-incomprehensible-failure-of-disco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting your sights low</title>
		<link>http://fugato.net/2007/02/10/setting-your-sights-low/</link>
		<comments>http://fugato.net/2007/02/10/setting-your-sights-low/#comments</comments>
		<pubDate>Sat, 10 Feb 2007 13:16:58 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/02/10/setting-your-sights-low/</guid>
		<description><![CDATA[I reported the Winforms Designer issue as a bug on Microsoft Connect. They swiftly marked it resolved &#8220;by design.&#8221; What&#8217;s by design, exactly? Here are the actual and expected results from my bug report: Actual Results A dialog box saying &#8220;Specified cast is not valid&#8221; with an OK button, displayed three times, and then information [...]]]></description>
			<content:encoded><![CDATA[<p>I reported the <a href="http://fugato.net/2007/02/08/quoth-winforms-designer-error-hresult-e_fail-from-a-call-to-a-com-component/">Winforms Designer issue</a> as a bug on <a href="http://connect.microsoft.com/">Microsoft Connect</a>. They swiftly marked it resolved &#8220;by design.&#8221;</p>
<p>What&#8217;s by design, exactly? Here are the actual and expected results from my bug report:</p>
<blockquote><h4>Actual Results</h4>
<p>A dialog box saying &#8220;Specified cast is not valid&#8221; with an OK button, displayed three times, and then information lost about control instances within the form.</p>
<h4>Expected Results</h4>
<p>A clear, specific indication of the invalid typecast problem encountered while saving the form. And minimal information loss when the form is saved anyway.</p></blockquote>
<p>So it is &#8220;by design&#8221; that instead of a clear, specific indication of the problem, we get a dialog box with only the exception message, and not even a mention that this message is coming from our own code? Just a quick and cheap <code>MessageBox.Show(ex.Message)</code> and their work is done?</p>
<p>Here is Microsoft&#8217;s exact response:</p>
<blockquote><p>I&#8217;m afraid this is largely a byproduct of the way in which the windows forms designer works. It is setting the properties on a live object. If this object throws an exception, the designer has the choice of either letting the object throw (which would crash Visual Studio) or catching the exception. When it catches the exception, it displays the Message from the exception. The message you&#8217;re describing is the typical one for invalid cast. Hooking up a debugger will find what line the exception happens on, which would make it easy to see what the exact issue is (not just type information, but values, state, etc.)</p>
<p>UIFX Team</p></blockquote>
<p>This misses the point completely.</p>
<p>I know full well that the designer works on live objects, and that bugs in controls therefore must cause problems. My complaint is about <em>how</em> those problems are handled, not <em>that</em> they come up. What&#8217;s &#8220;by design&#8221; is <em>that</em> they come up, sure. <em>How</em> they are handled is <em>not</em> &#8220;by design&#8221; (we should hope!) &#8212; it is a real usability issue that remains to be resolved. But Microsoft just shrugs it off, &#8220;you can attach a debugger to help find it.&#8221;</p>
<p>My point is that the exception they catch contains valuable information about the problem (the stack trace), and they do not give it to us.</p>
<p>Should we be grateful that at least we get a line number on compiler errors, without having to attach a debugger?</p>
<p>This product desperately needs competition.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/02/10/setting-your-sights-low/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quoth Winforms Designer: Error HRESULT E_FAIL from a call to a COM component</title>
		<link>http://fugato.net/2007/02/08/quoth-winforms-designer-error-hresult-e_fail-from-a-call-to-a-com-component/</link>
		<comments>http://fugato.net/2007/02/08/quoth-winforms-designer-error-hresult-e_fail-from-a-call-to-a-com-component/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 18:53:29 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/02/08/quoth-winforms-designer-error-hresult-e_fail-from-a-call-to-a-com-component/</guid>
		<description><![CDATA[Eerie. This designer thing seems to know when I&#8217;m under schedule pressure and pull out all its tricks. Now I get &#8220;Error HRESULT E_FAIL has been returned from a call to a COM component.&#8221; Never seen this before, don&#8217;t know what it means, don&#8217;t know what caused it, and don&#8217;t know how to find out. [...]]]></description>
			<content:encoded><![CDATA[<div class="floatright" style="float: right; padding-left: 20px; width: 460px;"><img src='http://fugato.net/wp-content/uploads/2007/02/call-to-a-com-component.png' alt='Call to a COM component' /></div>
<p>Eerie. This designer thing seems to know when I&#8217;m under schedule pressure and pull out all its tricks.</p>
<p>Now I get &#8220;Error HRESULT E_FAIL has been returned from a call to a COM component.&#8221;</p>
<p>Never seen this before, don&#8217;t know what it means, don&#8217;t know what caused it, and don&#8217;t know how to find out.</p>
<p><strong>Yes</strong>, my changes were lost.<br />
<strong>No</strong>, I couldn&#8217;t repeat it by making (what I believe to be) the same changes again.<br />
<strong>Yes</strong>, I&#8217;m happy about being able to make the changes after all.<br />
<strong>No</strong>, I&#8217;m not happy about having no idea when this will happen again, or whether it might happen at runtime.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/02/08/quoth-winforms-designer-error-hresult-e_fail-from-a-call-to-a-com-component/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quoth Windows Forms Designer: Specified Cast Is Not Valid</title>
		<link>http://fugato.net/2007/02/08/quoth-windows-forms-designer-specified-cast-is-not-valid/</link>
		<comments>http://fugato.net/2007/02/08/quoth-windows-forms-designer-specified-cast-is-not-valid/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 10:02:06 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/02/08/quoth-windows-forms-designer-specified-cast-is-not-valid/</guid>
		<description><![CDATA[Let&#8217;s say you have a UserControl with a property like this: public double DoubleValue { get { return (double)NestedControl.EditValue; } set { Control.EditValue = value; } } where NestedControl.EditValue is of type object. Yeah, that&#8217;s careless handling of a possible typecast. But c&#8217;est la vie, sometimes that&#8217;s what you have, and you don&#8217;t know it, [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have a <code>UserControl</code> with a property like this:</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ --></p>
<pre class="csharpcode">
<span class="kwrd">public</span> <span class="kwrd">double</span> DoubleValue
{
    get { <span class="kwrd">return</span> (<span class="kwrd">double</span>)NestedControl.EditValue; }
    set { Control.EditValue = <span class="kwrd">value</span>; }
}</pre>
<p>where <code>NestedControl.EditValue</code> is of type <code>object</code>. Yeah, that&#8217;s careless handling of a possible typecast. But c&#8217;est la vie, sometimes that&#8217;s what you have, and you don&#8217;t know it, and that control is used in somebody else&#8217;s form that you&#8217;ve never seen before, and you are editing that form with the Windows Forms designer.</p>
<div class="floatright" style="float: right; padding-left: 20px; width: 225px;"><img src='http://fugato.net/wp-content/uploads/2007/02/specified-cast-is-not-valid.png' alt='Specified cast is not valid' /></div>
<p>The designer will work merrily until you close it and say &#8220;yes, save for me please.&#8221; At this point it will present you with a dialog box saying simply &#8220;Specified cast is not valid&#8221; and inviting you to misrepresent your feelings by clicking &#8220;OK.&#8221;</p>
<p>When you do, it will give you the same dialog box again. You will click &#8220;OK&#8221; again, even less truthfully. And you will get that dialog box once again.</p>
<p>After the third time, tender mercies: the designer lets you off the hook and closes, saving your form. Phew, you think, maybe that wasn&#8217;t so bad. That&#8217;s until you discover that the designer has thrown out all the information associated with the problematic control instance, its name, text, tooltip text, sizing information, everything.</p>
<p>When you set out to find the cause of the problem, what do you have to go on? &#8220;Specified cast is not valid.&#8221; And which control instances got messed up. There may be dozens of them, with dozens of properties each. Happy hunting.</p>
<p>The lesson: when I write a tool for developers, and do it under a schedule crunch, and write a catch-all handler to display unanticipated errors &#8230; I pledge to include whatever specific contextual information I can. At least the exception stack trace. Surely that&#8217;s the least I could do.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/02/08/quoth-windows-forms-designer-specified-cast-is-not-valid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Impressions of that splash screen spec</title>
		<link>http://fugato.net/2007/02/07/impressions-of-that-splash-screen-spec/</link>
		<comments>http://fugato.net/2007/02/07/impressions-of-that-splash-screen-spec/#comments</comments>
		<pubDate>Wed, 07 Feb 2007 23:24:32 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Visuals]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/02/07/impressions-of-that-splash-screen-spec/</guid>
		<description><![CDATA[Microsoft has posted a splash screen spec for the Orcas version of Visual Studio, asking for our impressions. And here I was determined to start taking a more positive tack in my tech blog. Dear me. My impressions are as follows: The triviality They wrote a nine-page specification complete with &#8220;Microsoft Corporation Technical Documentation License [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has posted a <a href="http://blogs.msdn.com/buckh/archive/2007/02/06/how-many-people-do-we-have-working-on-orcas.aspx">splash screen spec</a> for the Orcas version of Visual Studio, asking for our impressions.</p>
<p>And here I was <a href="http://fugato.net/2006/12/15/an-observation-on-the-presentation-of-criticism/">determined to start taking a more positive tack</a> in my tech blog. Dear me.</p>
<p>My impressions are as follows:</p>
<h3>The triviality</h3>
<p>They wrote a nine-page specification complete with &#8220;Microsoft Corporation Technical Documentation License Agreement (Standard)&#8221; and stamp of approval from Microsoft Law And Corporate Affairs and table of contents and overview and context and definitions and appeal-to-stereotype Elvis arguments &#8230;</p>
<p>&#8230; for a drop-shadow and rounded corners and <em>no</em> other changes?</p>
<p>And thought it would be a good idea to post it publicly?</p>
<h3>The specious claims</h3>
<blockquote><p>&#8220;[the splash screen] is <strong>no less critical</strong> than <strong>any</strong> other part of the Visual Studio User Experience.&#8221;</p></blockquote>
<p>They lost me right there on the front page. Let me rephrase this statement while retaining the precise meaning:</p>
<p>&#8220;There is <strong>no</strong> part of the Visual Studio User Experience that is <strong>more critical</strong> than the splash screen.&#8221;</p>
<p>Gee, I could have sworn there were a couple.</p>
<p>We don&#8217;t even <em>interact</em> with this thing. It&#8217;s not a <em>User</em> Experience, it&#8217;s a <em>Viewer</em> Experience. And that&#8217;s if we even bother to View it, instead of fetching a cup of coffee while Visual Studio loads, or starting it with <code>/nosplash</code>.</p>
<p>How could it possibly be <em>as critical as any other part</em> of the User Experience?</p>
<p>This is the kind of text that comes out when you are thinking &#8220;what would sound impressive here?&#8221; instead of &#8220;what&#8217;s the plain and useful truth here?&#8221;</p>
<blockquote><p>&#8220;The Splash Screen typifies some of the worst aspects of the Visual Studio User Experience.&#8221;</p></blockquote>
<p>No no no. The worst aspects of said User Experience are, unsurprisingly, things we Use. Such as:</p>
<ul>
<li><a href="http://fugato.net/2006/10/12/fixed-size-dialog-boxes/">tiny fixed-size dialog boxes around huge tabular data</a>.</li>
<li><a href="http://fugato.net/2006/09/25/team-shaky-foundation/">A source control client that blocks the entire IDE while waiting for the server</a>, and <a href="http://fugato.net/2006/11/30/ah-blessed-days-of-subversion/">hangs on Cancel</a>.</li>
<li><a href="http://fugato.net/2006/12/05/whats-in-a-rename/">A source control system that takes 38 <em>blocking</em> seconds to rename a file.</a></li>
<li><a href="http://fugato.net/2007/02/08/quoth-windows-forms-designer-specified-cast-is-not-valid/">A GUI designer that chokes on buggy nested controls with cryptic error messages.</a></li>
</ul>
<p>It&#8217;s OK to exaggerate the importance of your work in order to motivate yourself. But don&#8217;t go overboard.</p>
<h3>The singularly clueless marketing stereotype banter</h3>
<blockquote><p>When Elvis first heard about Visual Studio Orcas being released, he wasn&#8217;t convinced that it was worth upgrading to, especially since he felt as though he had just purchased a copy of Visual Studio 2005.</p>
<p>So, like any frugal developer, Elvis went and downloaded a trial copy of Orcas to test drive.</p>
<p>Elvis could see that Visual Studio Orcas was new and different from the moment he started the application. The changes in the Splash Screen suggested to him immediately that this release was, indeed, different.</p></blockquote>
<p>Well, wasn&#8217;t that a nice story.</p>
<p>Really, this Mort-and-Elvis stuff has to go. It pains me to see dinky little stories of these contrived stereotypes masquerading as product marketing wisdom.</p>
<h3>The inattention</h3>
<p>Chapter 6, &#8220;Feature Decisions / Q&#038;A&#8221; is not just blank; it consists entirely of the placeholder text from the document template: &#8220;Include a quick description [...] describe decisions and rationale here [...] We will do so and so&#8221;</p>
<p>This is the document equivalent of:</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ --></p>
<pre class="csharpcode">
<span class="rem">/// &lt;summary&gt;</span>
<span class="rem">/// Insert summary description here</span>
<span class="rem">/// &lt;/summary&gt;</span>
<span class="kwrd">public</span> <span class="kwrd">class</span> Class1
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Construct a new Class1 instance.</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">public</span> Class1()
    {
        <span class="rem">// Add initialization code here</span>
    }
}</pre>
<p>Do we post this kind of code for public review? For private review? Do we even check it in?</p>
<h3>The implied background</h3>
<p>One can&#8217;t help wondering whether this spec gives a glimpse of some contorted in-house dynamic, where people have to participate in a ritual Product Marketing dance by writing a Mort or Elvis &#8220;scenario&#8221; for every feature spec, and inflating the importance of their work with baseless hyperbole.</p>
<p>It sounds like the <code>FeatureSpec.dot</code> document template contained the placeholder text &#8220;Insert scenario involving Mort and Elvis here,&#8221; as a hoop for each feature spec writer to jump through.</p>
<p>It may not really be that way, but we&#8217;re talking impressions here.</p>
<h3>Summary</h3>
<p>Why did nobody&#8217;s nonsense detector go wild and prevent this embarrassment from publication? The splash screen improvements themselves are nice and understated, and should have been put in place without a word.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/02/07/impressions-of-that-splash-screen-spec/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Just because others say it doesn&#8217;t mean you should</title>
		<link>http://fugato.net/2007/01/26/just-because-others-say-it-doesnt-mean-you-should/</link>
		<comments>http://fugato.net/2007/01/26/just-because-others-say-it-doesnt-mean-you-should/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 12:04:14 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Language]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://fugato.net/2007/01/26/just-because-others-say-it-doesnt-mean-you-should/</guid>
		<description><![CDATA[May I kindly request that we outlaw this construction: Just because S1 doesn&#8217;t mean S2 (where S1 and S2 are sentences) from the English language? Just because this construction doesn&#8217;t mean anything sensible. Examples: Just because you&#8217;re paranoid, doesn&#8217;t mean they&#8217;re not after you Just because someone is cold doesn&#8217;t mean they don&#8217;t have feelings [...]]]></description>
			<content:encoded><![CDATA[<p>May I kindly request that we outlaw this construction:</p>
<blockquote><p>Just because <em>S<sub>1</sub></em> doesn&#8217;t mean <em>S<sub>2</sub></em></p></blockquote>
<p>(where <em>S<sub>1</sub></em> and <em>S<sub>2</sub></em> are sentences)</p>
<p>from the English language?</p>
<p>Just because this construction doesn&#8217;t mean anything sensible.</p>
<p><a href="http://www.google.com/search?q=%22just+because+*+doesn't+mean%22">Examples</a>:</p>
<blockquote>
<table class="rcl">
<tr>
<td class="r">Just because you&#8217;re paranoid,</td>
<td>doesn&#8217;t mean they&#8217;re not after you</td>
</tr>
<tr>
<td class="r">Just because someone is cold</td>
<td>doesn&#8217;t mean they don&#8217;t have feelings</td>
</tr>
<tr>
<td class="r">Just because it&#8217;s ‘green’</td>
<td>doesn&#8217;t mean it&#8217;s smart</td>
</tr>
<tr>
<td class="r">Just because it&#8217;s a cliche</td>
<td>doesn&#8217;t mean it didn&#8217;t hurt</td>
</tr>
<tr>
<td class="r">Just because it&#8217;s reliable</td>
<td>doesn&#8217;t mean it&#8217;s believable</td>
</tr>
<tr>
<td class="r">Just because something contains something</td>
<td>doesn&#8217;t mean it&#8217;s about something</td>
</tr>
<tr>
<td class="r">Just because something&#8217;s popular</td>
<td>doesn&#8217;t mean it&#8217;s good</td>
</tr>
<tr>
<td class="r">Just because something&#8217;s legal</td>
<td>doesn&#8217;t mean it&#8217;s right</td>
</tr>
<tr>
<td class="r">Just because he roars</td>
<td>doesn&#8217;t mean that he really will attack an intruder</td>
</tr>
<tr>
<td class="r">Just because someone&#8217;s excommunicated</td>
<td>doesn&#8217;t mean she&#8217;s the bad guy</td>
</tr>
</table>
</blockquote>
<p>Nyargh.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2007/01/26/just-because-others-say-it-doesnt-mean-you-should/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To complete the installation, you must reboot your computer.</title>
		<link>http://fugato.net/2006/12/15/to-complete-the-installation-you-must-reboot-your-computer/</link>
		<comments>http://fugato.net/2006/12/15/to-complete-the-installation-you-must-reboot-your-computer/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 13:08:02 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/12/15/to-complete-the-installation-you-must-reboot-your-computer/</guid>
		<description><![CDATA[You can choose to reboot now or later. Note that your computer may not function correctly until the reboot. As far as I know, I did not agree to install any operating system updates. If there weren&#8217;t any, why is a reboot necessary? If there were, why wasn&#8217;t I told in advance?]]></description>
			<content:encoded><![CDATA[<blockquote><p>You can choose to reboot now or later. Note that your computer may not function correctly until the reboot.</p></blockquote>
<p>As far as I know, I did <em>not</em> agree to install any operating system updates.</p>
<p>If there weren&#8217;t any, why is a reboot necessary?</p>
<p>If there were, why wasn&#8217;t I told in advance?</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/12/15/to-complete-the-installation-you-must-reboot-your-computer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Still on that dagnabbed installation</title>
		<link>http://fugato.net/2006/12/15/still-on-that-dagnabbed-installation/</link>
		<comments>http://fugato.net/2006/12/15/still-on-that-dagnabbed-installation/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 12:58:49 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/12/15/still-on-that-dagnabbed-installation/</guid>
		<description><![CDATA[My ongoing multi-hour installation stopped (without notification) to ask me, once again: Do you want to install Microsoft Visual Studio 2005 Team Explorer &#8211; ENU Service Pack 1 (KB926601) on Microsoft Visual Studio 2005 Team Explorer &#8211; ENU? &#8220;Gee, hey, I&#8217;m feeling wild, I think I&#8217;ll just skip this part of my 432MB installation, and [...]]]></description>
			<content:encoded><![CDATA[<p>My ongoing multi-hour installation stopped (without notification) to ask me, once again:</p>
<blockquote style="width: 40em;"><p>Do you want to install Microsoft Visual Studio 2005 Team Explorer &#8211; ENU Service Pack 1 (KB926601) on Microsoft Visual Studio 2005 Team Explorer &#8211; ENU?</p></blockquote>
<p>&#8220;Gee, hey, I&#8217;m feeling wild, I think I&#8217;ll just skip this part of my 432MB installation, and see what breaks!&#8221;</p>
<p>Suggestion for future lengthy installations: either ask right at the beginning, or don&#8217;t ask at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/12/15/still-on-that-dagnabbed-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moore&#8217;s Law Premier Partner Edition for Software Developers &#8211; ENU Service Pack 1 RTM</title>
		<link>http://fugato.net/2006/12/15/moores-law-premier-partner-edition-for-software-developers-enu-service-pack-1-rtm/</link>
		<comments>http://fugato.net/2006/12/15/moores-law-premier-partner-edition-for-software-developers-enu-service-pack-1-rtm/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 12:10:35 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/12/15/moores-law-premier-partner-edition-for-software-developers-enu-service-pack-1-rtm/</guid>
		<description><![CDATA[Do you want to install Microsoft Visual Studio 2005 Team Edition for Software Developers &#8211; ENU Service Pack 1 (KB926601) on Microsoft Visual Studio 2005 Team Edition for Software Developers &#8211; ENU? (Wait, didn&#8217;t it just finish doing that? Oh, nono, that wasn&#8217;t Team Edition for Software Developers, that was Premier Partner Edition. Silly me.) [...]]]></description>
			<content:encoded><![CDATA[<blockquote style="width: 38em;"><p>Do you want to install Microsoft Visual Studio 2005 Team Edition for Software Developers &#8211; ENU Service Pack 1 (KB926601) on Microsoft Visual Studio 2005 Team Edition for Software Developers &#8211; ENU?</p></blockquote>
<p class="afterthought" style="width: 37.7em;">(Wait, didn&#8217;t it just finish doing that? Oh, nono, that wasn&#8217;t Team Edition for Software Developers, that was Premier Partner Edition. Silly me.)</p>
<p>After about 15 minutes, this installation is still at 50% of the step &#8220;Gathering required information.&#8221;</p>
<p>So it&#8217;s time for Moore&#8217;s law 2005 Premier Partner Edition for Software Developers &#8211; ENU Service Pack 1 RTM:</p>
<p>Every 18 months, the following metrics double:</p>
<ul>
<li>Memory</li>
<li>CPU speeds</li>
<li>Hard disk capacity</li>
<li>Microsoft product names</li>
<li><a href="http://fugato.net/2006/12/05/whats-in-a-rename/">Microsoft SCM file rename time</a></li>
<li>Microsoft developer tools installation time</li>
<li>The sum of time intervals I spend waiting for my computer each day</li>
<li>The seriousness with which I wish I had stayed with the previous platform and development environment</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/12/15/moores-law-premier-partner-edition-for-software-developers-enu-service-pack-1-rtm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s in a rename?</title>
		<link>http://fugato.net/2006/12/05/whats-in-a-rename/</link>
		<comments>http://fugato.net/2006/12/05/whats-in-a-rename/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 11:14:54 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Team Foundation]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/12/05/whats-in-a-rename/</guid>
		<description><![CDATA[Yeah, Team Foundation again. When we started using Subversion at work (AnkhSVN in alpha and no VisualSVN yet), I managed Subversion adds and commits and updates manually using the excellent TortoiseSVN, and left Visual Studio out of it. The downside of that was moving and renaming files. Doing it in Visual Studio left Subversion unaware [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah, Team Foundation again.</p>
<p>When we started using <a href="http://subversion.tigris.org/">Subversion</a> at work (<a href="http://ankhsvn.tigris.org/">AnkhSVN</a> in alpha and no <a href="http://www.visualsvn.com/">VisualSVN</a> yet), I managed Subversion adds and commits and updates manually using the excellent <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>, and left Visual Studio out of it.</p>
<p>The downside of that was moving and renaming files. Doing it in Visual Studio left Subversion unaware of the change, and doing it in Subversion left Visual Studio unaware of the change. Either way, one of them ended up seeing one file missing, and another file popping up that they knew nothing about.</p>
<p>Generally I renamed in Subversion and then manually edited the <code>.csproj</code> project file accordingly. Not everybody is happy doing that, and if you happen to do it when Visual Studio has unsaved changes to the project file, then it gets a little messy.</p>
<p>So moving to Team Foundation (and hence SCM integration) should have made file renames less painful.</p>
<p>Indeed, renaming a file is now a single operation in Solution Explorer. <strong>But it takes a full minute.</strong></p>
<p>I&#8217;m not pulling that number out of anywhere dark and unhygienic. I measured just now. 78 seconds.</p>
<p><strong>78 seconds renaming a file!</strong></p>
<p>Okay, two files. It&#8217;s a workflow class file with a <code>.Designer.cs</code> sidecar file. But still. Renaming one file took 38 seconds, measured just now.</p>
<p><strong>38 seconds renaming a file!</strong></p>
<p>And these are files that haven&#8217;t even been checked in yet. They&#8217;ve just been added. And it&#8217;s not auto-updating references to the class name in my solution, because there aren&#8217;t any.</p>
<p>It&#8217;s like that every time, even late at night when I&#8217;m alone in the building. It&#8217;s not because of load. Team Foundation is set up on <del datetime="2006-12-14T17:06:27+00:00">a virtual machine in one of my company&#8217;s VMware container machines</del> a dedicated monster machine with 6 CPUs and silly amounts of RAM, serving maybe 60 or so developers. Our Subversion server was a wee VMware machine also running <a href="http://trac.edgewall.org/">Trac</a> and some other stuff, and was plenty fast enough (but to be fair, it was only serving about 15 people). Our admins assure us that the machine is not overloaded. If it&#8217;s a matter of &#8220;killing it with iron,&#8221; then TF sure needs a heck of a lot of iron.</p>
<p>The clincher: it took me <em>less time</em> to do the rename manually (flipping out to Explorer, renaming in TortoiseSVN, editing the project file in a text editor, reloading the project in Visual Studio) than it now takes Visual Studio to do the rename automatically.</p>
<p>And, of course, Visual Studio is completely locked up during the operation, so my work gets to wait. Because, you know, background operations are just too much to ask.</p>
<p>OK, I feel better now. Just had to vent. Sorry.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/12/05/whats-in-a-rename/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Team Foundation again</title>
		<link>http://fugato.net/2006/12/04/team-foundation-again/</link>
		<comments>http://fugato.net/2006/12/04/team-foundation-again/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 15:18:08 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Team Foundation]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/12/04/team-foundation-again/</guid>
		<description><![CDATA[My Visual Studio output window just now, showing output from Source Control &#8211; Team Foundation. All files are up to date. All files are up to date. All files are up to date. Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Implicitly suggested course of action: [...]]]></description>
			<content:encoded><![CDATA[<p>My Visual Studio output window just now, showing output from Source Control &#8211; Team Foundation.</p>
<blockquote style="font-family: courier new, courier, monospace; font-size: 11px;"><p>All files are up to date.<br />
All files are up to date.<br />
All files are up to date.<br />
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
</p></blockquote>
<p>Implicitly suggested course of action: reboot, followed by ignore-it-and-hope-for-the-best?</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/12/04/team-foundation-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ah, Blessed Days of Subversion</title>
		<link>http://fugato.net/2006/11/30/ah-blessed-days-of-subversion/</link>
		<comments>http://fugato.net/2006/11/30/ah-blessed-days-of-subversion/#comments</comments>
		<pubDate>Thu, 30 Nov 2006 13:57:16 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Team Foundation]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/11/30/ah-blessed-days-of-subversion/</guid>
		<description><![CDATA[&#8230; are over, because we moved our source code to Team Foundation. Yea, verily I say unto thee, that is a modal dialog box. So my Visual Studio is locked up &#8212; completely &#8212; until somebody gives the server the kick it deserves. I did try clicking cancel &#8212; but, of course, the cancel operation [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; are over, because we moved our source code to Team Foundation.</p>
<p><img id="image373" src="http://fugato.net/wp-content/uploads/2006/11/teamfoundationinaction.png" alt="Team Foundation Inaction" /></p>
<p>Yea, verily I say unto thee, that is a modal dialog box.</p>
<p>So my Visual Studio is locked up &#8212; completely &#8212; until somebody gives the server the kick it deserves.</p>
<p>I did try clicking cancel &#8212; but, of course, the cancel operation hangs too.</p>
<p>This costs thousands of dollars. Thousands! The usability is <em>less</em> grievous than SourceSafe (and that&#8217;s not saying much) &#8212; but the reliability, at least in my experience here, is <em>worse</em>. Fancy that.</p>
<p>I miss my Subversion.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/11/30/ah-blessed-days-of-subversion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fixed-size dialog boxes</title>
		<link>http://fugato.net/2006/10/12/fixed-size-dialog-boxes/</link>
		<comments>http://fugato.net/2006/10/12/fixed-size-dialog-boxes/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 13:19:13 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/10/12/fixed-size-dialog-boxes/</guid>
		<description><![CDATA[I know, I know, priorities, cost-benefit, concentrate on features, etc. But still. It&#8217;s 2006. Eight years of development and four major versions released. Why does a 250-billion-dollar company&#8217;s flagship development product still squeeze large, frequently used, tabular user interfaces into non-resizable dialog boxes? Tables with tens of thousands of rows, some of them containing astounding [...]]]></description>
			<content:encoded><![CDATA[<p>I know, I know, priorities, cost-benefit, concentrate on features, etc. But still.</p>
<p>It&#8217;s 2006. Eight years of development and four major versions released. Why does a 250-billion-dollar company&#8217;s flagship development product <em>still</em> squeeze large, frequently used, tabular user interfaces into non-resizable dialog boxes?</p>
<div style="text-align: center;">
<img id="image360" src="http://fugato.net/wp-content/uploads/2006/10/fixed-size-dialog.png" alt="Fixed-size dialog box 1" />
</div>
<p>Tables with tens of thousands of rows, some of them containing astounding stretches of text such as <code>TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckins.CompareWithWorkspaceVersion</code> (honestly!) &#8212; squished in a 374&#215;49-pixel porthole quivering in its puniness in the center of my 1920&#215;1200-pixel screen. Who perpetrates this kind of obscenity?</p>
<div style="text-align: center;">
<img id="image361" src='http://fugato.net/wp-content/uploads/2007/02/fixed-size-dialog2b.png' alt='Fixed-size dialog box 2' /></p>
<p><img id="image362" src="http://fugato.net/wp-content/uploads/2006/10/fixed-size-dialog3.png" alt="Fixed-size dialog box 3" />
</div>
<p>In that last one, how do we tell the four different ActiveDirectory exceptions apart? Well, we can mouse over them to get a tool tip. Or we can drag the eminently draggable-looking column separator line such that the checkbox columns disappear off the right edge.</p>
<p>I don&#8217;t doubt that this product got usability tests up the wazoo. Some triaging group meeting must have reviewed the (surely inevitable) suggestions of resizable dialog boxes, and concluded: &#8220;nah.&#8221;</p>
<p>Hey, maybe in late 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/10/12/fixed-size-dialog-boxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team [Shaky] Foundation</title>
		<link>http://fugato.net/2006/09/25/team-shaky-foundation/</link>
		<comments>http://fugato.net/2006/09/25/team-shaky-foundation/#comments</comments>
		<pubDate>Mon, 25 Sep 2006 19:19:48 +0000</pubDate>
		<dc:creator>GÞB</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Team Foundation]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://fugato.net/2006/09/25/team-shaky-foundation/</guid>
		<description><![CDATA[Fishy hang. My Visual Studio 2005 hung completely, out of the blue. Did not respond to any mouse clicks or keyboard events, though it did redraw. I tried firing up another VS2005 to debug it, but that hung too and then closed. So I tried firing up a VS2003 and attaching the native debugger to [...]]]></description>
			<content:encoded><![CDATA[<div class="floatright" style="float: right; padding-left: 20px; width: 240px;"><img id="image356" src="http://fugato.net/wp-content/uploads/2006/09/stuff-hanging.jpg" alt="Fishy hang" width="240" height="320" />
<p>Fishy hang.</p>
</div>
<p>My Visual Studio 2005 hung completely, out of the blue. Did not respond to any mouse clicks or keyboard events, though it did redraw.</p>
<p>I tried firing up another VS2005 to debug it, but that hung too and then closed. </p>
<p>So I tried firing up a VS2003 and attaching the native debugger to the hung VS2005. And the debugg<em>er</em> crashed.</p>
<p>I sent the crash data to Microsoft, and tried again; same results several times, with the crashed VS2003 restarting automatically each time.</p>
<p>Finally closed the VS2003 manually, started a new one and attached, successfully. By this time the VS2005 window was gone, but the process was still there. Got <a id="p353" href="/wp-content/uploads/2006/09/devenv-hang.zip" title="VS2005 hang minidump">a minidump of the hung VS2005</a> if anybody wants it.</p>
<p class="afterthought">(Incidentally, one of the process modules jumped out at me with the name <code>custsat.dll</code> &#8230; that might stand for &#8220;customer satisfaction,&#8221; which, taken in context, is a wee bit amusing.)</p>
<p>Detached and killed the VS2005 process and started a new one, but nothing came of that.</p>
<p>Finally resorted to a reboot, but the shutdown was interrupted by a VS2005 window appearing, with a modal dialog with this message:</p>
<blockquote><p>TF30331: Team Explorer could not connect to the Team Foundation server source<br />
used during your last session. The server may be offline or the network is unavailable.<br />
Contact your Team Foundation Server administrator to confirm that the server is available<br />
on the network. Use the Connect to Team Foundation Server command on the Tools menu to<br />
reconnect to your previous server.</p>
<p>The server returned the following error: The operation has timed out</p></blockquote>
<p>Figures that it was the Team Foundation server, because the same mess was going on on a co-worker&#8217;s machine at the same time.</p>
<p>But &#8230; the server catches a flu <strong>and the whole IDE hangs?</strong></p>
<p>Closed the modal dialog and the studio window, rebooted, and started up VS2005 again.</p>
<p>It seems to be working now &#8230; but I don&#8217;t need this kind of aggravation. I have work to do, and I miss my VS.Net 2003 (!) and the trusty, robust, never-hanging Subversion we were using along with it.</p>
<p>I googled the error message and got nothing. So if this were Eclipse or NetBeans or IntelliJ (or, indeed, Subversion) hanging, I would go file a bug and attach the minidump to it and feel all warm and fuzzy about helping out. And I would cheerfully expect a new version fixing the problem. In less than two years&#8217; time, even.</p>
<p>But it is a Microsoft product; I do not know of a public bug database, and I do not feel inclined to go telephone the uninvitingly-named &#8220;Professional Support Services&#8221; and stay on hold while all of their customer representatives are currently busy assisting other callers and will answer my call in the order in which it was received, and then try to convince one of them that I&#8217;m honestly not that big an idiot (a relatively small-framed one, in fact) and that there really is a problem. No thanks. So last-millennium.</p>
<p>That kind of prejudice &#8212; while indicating the image Microsoft still has, despite the best efforts of MSDN bloggers &#8212; begs to be proven wrong and unfair. I <em>want</em> it to be proven wrong and unfair. And sure enough: after a little spelunking, <a href="https://connect.microsoft.com/VisualStudio">here is the place</a> to submit feedback, without hanging around on the phone at all. I&#8217;ll go do that instead of whining like a crybaby.</p>
<p>All right, after signing in with my Passport login, and then signing up with name and email and age and all that (<em>yet again</em> &#8212; now, what was Passport for, again?), I spent about 20 minutes carefully describing what happened, providing exact product and add-in versions and the like, and then submitted. Kabloom:</p>
<p><img id="image355" src="http://fugato.net/wp-content/uploads/2006/09/bug-submission-failed.png" alt="Bug submission failure" width="690" height="498"/></p>
<p>And yes, that does repeat when I back up and retry the bug submission several times.</p>
<p>Ah well. I did give it a try. And I&#8217;m glad they have it. Just look forward to trying it out when it&#8217;s feeling better.</p>
<p><acronym title="End Of Rant">EOR</acronym></p>
]]></content:encoded>
			<wfw:commentRss>http://fugato.net/2006/09/25/team-shaky-foundation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

