<?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>Daniel Smedegaard Buus &#187; Windows</title>
	<atom:link href="http://danielsmedegaardbuus.dk/category/tech-stuff/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielsmedegaardbuus.dk</link>
	<description>Home of the BeatsMeException</description>
	<lastBuildDate>Tue, 11 Oct 2011 20:39:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Boosting Windows 7 File Move Performance by Up to 10,000%</title>
		<link>http://danielsmedegaardbuus.dk/2011-05-30/boosting-windows-7-file-move-performance-by-up-to-10000-percent/</link>
		<comments>http://danielsmedegaardbuus.dk/2011-05-30/boosting-windows-7-file-move-performance-by-up-to-10000-percent/#comments</comments>
		<pubDate>Mon, 30 May 2011 13:26:35 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Funny/Weird Things on the Net]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WTFs]]></category>

		<guid isPermaLink="false">http://danielsmedegaardbuus.dk/?p=900</guid>
		<description><![CDATA[I&#8217;m currently moving about a whole bunch of smaller files in Windows 7 (about 400,000 files). I was getting frustrated with the abysmal rate at which Windows is able to move files around. Even moving just one folder into another one causes Explorer to start &#8220;discovering&#8221; the entire source dir, which is utterly pointless in [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I&#8217;m currently moving about a whole bunch of smaller files in Windows 7 (about 400,000 files). I was getting frustrated with the abysmal rate at which Windows is able to move files around. Even moving just one folder into another one causes Explorer to start &#8220;discovering&#8221; the entire source dir, which is utterly pointless in the first place as there&#8217;s just one node to consider and to relink in the MFT. One wonders why it always does that. It didn&#8217;t do so before Vista.</p>
<p>Anyway &#8211; adding injury to insult, these files need to be imported in and processed by an application which is rather poorly written, making it run out of memory when it is fed much more than 4,000 files at a time. So, I have to move batches of about 4,000 files into separate folders before importing them, and to do this I have to use Explorer. The move operations, as mentioned, are incredibly slow, maxing out at 25 items per second, sometimes dropping to 5 items/sec, generally hovering at about 15 items/sec. I was wondering if the problem was the files lists in the source and target Explorer windows being continually refreshed as items were moved in and out of them, and so tried to navigate away from them, even closing the windows entire, without effect.</p>
<p>Then, by accident, I discovered that if I selected a batch of files from <strong>the bottom</strong> of the list in the source window, the move operation was massively faster, running at 350-500 items/sec! That&#8217;s a performance factor of ~ 14 to 100, in other performing, compared to the previous runs, at between 1,400% and 10,000% effectiveness. Go figure!</p>
<p>Not having access to the Windows source code, one can only guess at what kind of code disaster lies behind this behavior. But regardless, remembering this trick can prove very helpful when you don&#8217;t feel like spending an entire day looking a green bars very slowly moving east.</p>
<p>These issues, and the effect of this trick, seem to happen according to Windows&#8217; current mood, though. Sometimes you get to drag-and-drop a folder with 200,000 files into another folder instantly, at other times it&#8217;ll spend 30 seconds examing a 100-file folder. Similarly, sometimes (about 1 in 4 so far) the forementioned trick has no effect, and you&#8217;re looking at green bars again. Your mileage may vary <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="shr-publisher-900"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-05-30%2Fboosting-windows-7-file-move-performance-by-up-to-10000-percent%2F' data-shr_title='Boosting+Windows+7+File+Move+Performance+by+Up+to+10%2C000%25'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-05-30%2Fboosting-windows-7-file-move-performance-by-up-to-10000-percent%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-05-30%2Fboosting-windows-7-file-move-performance-by-up-to-10000-percent%2F' data-shr_title='Boosting+Windows+7+File+Move+Performance+by+Up+to+10%2C000%25'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-05-30/boosting-windows-7-file-move-performance-by-up-to-10000-percent/&via=danielbuus&text=Boosting Windows 7 File Move Performance by Up to 10,000%&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-05-30/boosting-windows-7-file-move-performance-by-up-to-10000-percent/&via=danielbuus&text=Boosting Windows 7 File Move Performance by Up to 10,000%&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2011-05-30/boosting-windows-7-file-move-performance-by-up-to-10000-percent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leaked Screenshot of Windows Server 9 Login Screen, In-UI Annotations new Design Strategy</title>
		<link>http://danielsmedegaardbuus.dk/2011-04-19/leaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice/</link>
		<comments>http://danielsmedegaardbuus.dk/2011-04-19/leaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 12:00:24 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Off the record]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://danielsmedegaardbuus.dk/?p=883</guid>
		<description><![CDATA[Whoah&#8230;! Today is a great one for me as an individual, and for the Windows community as a whole. It&#8217;s been an amazing couple of months! Windows 7, as it seems, will soon &#8211; or sometime, anyway &#8211; be surpassed by its successor, Windows 8. This has been disclosed officially by Microsoft, discussed all over the [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Whoah&#8230;! Today is a great one for me as an individual, and for the Windows community as a whole.</p>
<p>It&#8217;s been an amazing couple of months! Windows 7, as it seems, will soon &#8211; or sometime, anyway &#8211; be surpassed by its successor, <a href="http://www.google.dk/search?q=Windows+8">Windows 8</a>. This has been disclosed officially by Microsoft, discussed all over the net, and various leaks of functionality and design have been discovered and forwarded to the interwebs, mostly about the Windows 8 Login Screen.</p>
<p>As anyone with half a brain knows, the most important part &#8211; feature-wise &#8211; of an <a href="http://en.wikipedia.org/wiki/Operating_system">operating system</a>, and also the hardest to fake if you were to do that, is the login screen! Especially with regards to Windows, as on an average day, this is the place you&#8217;ll be spending most of your time.</p>
<p>Well. Santa&#8217;s got something in his stocking for you!!! Working closely together with a close friend of mine &#8220;behind the fence&#8221; so to speak (who shall remain unnamed), I&#8217;ve acquired a great deal of info on something very astounding. Even now, months before the release of Windows 8, and <strong>years</strong> before the release of the next iteration of the Redmond series, I am in the fortunate position to be able to reveal a couple of goodies to you. For one, <strong>the successor to Windows 8 will be named &#8220;Windows 9&#8243;</strong>!!!</p>
<p>Secondly, in what seems as a big-brotherly shoulderpat and comradery &#8220;get-well&#8221; gesture from Microsoft to the <a href="http://en.wikipedia.org/wiki/Iceland">daredevils of Europe</a>, the codename has an Icelandic ring to it, specifically &#8220;Eönghörn&#8221;.</p>
<p>And as if that isn&#8217;t enough to get your panties shaking, I&#8217;ve even managed to acquire a leaked and very very hush-hush <strong>screenshot of the login screen of Windows 9</strong>. This is even from <strong>Windows Server 9</strong>, and shows an entirely new strategy in interface design &#8211; helping the user by using <strong>in-screen annotations</strong>, explaining all those things that are usually really hard to fathom to the average Windows Server administrator.</p>
<p>These are great times, indeed, and if I were Canonical or Apple, I&#8217;d be shitting my pants! Wouldn&#8217;t you?</p>
<p><a href="http://danielsmedegaardbuus.dk/wp-content/windows-9-login-screen-leak.png"><img class="alignleft size-medium wp-image-884" title="windows-9-login-screen-leak" src="http://danielsmedegaardbuus.dk/wp-content/windows-9-login-screen-leak-300x239.png" alt="Leaked Login Screen from Windows Server 9" width="300" height="239" /></a></p>
<div class="shr-publisher-883"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Fleaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice%2F' data-shr_title='Leaked+Screenshot+of+Windows+Server+9+Login+Screen%2C+In-UI+Annotations+new+Design+Strategy'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Fleaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Fleaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice%2F' data-shr_title='Leaked+Screenshot+of+Windows+Server+9+Login+Screen%2C+In-UI+Annotations+new+Design+Strategy'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-19/leaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice/&via=danielbuus&text=Leaked Screenshot of Windows Server 9 Login Screen, In-UI Annotations new Design Strategy&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-19/leaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice/&via=danielbuus&text=Leaked Screenshot of Windows Server 9 Login Screen, In-UI Annotations new Design Strategy&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2011-04-19/leaked-screenshot-of-windows-server-9-login-screen-in-ui-annotations-new-design-choice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Users More Generous than their Paying Mac and Windows Counterparts?</title>
		<link>http://danielsmedegaardbuus.dk/2011-04-19/linux-users-more-generous-than-their-paying-mac-and-windows-counterparts/</link>
		<comments>http://danielsmedegaardbuus.dk/2011-04-19/linux-users-more-generous-than-their-paying-mac-and-windows-counterparts/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 05:58:24 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Funny/Weird Things on the Net]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Off the record]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://danielsmedegaardbuus.dk/?p=878</guid>
		<description><![CDATA[So, the Electronic Frontier Foundation wants me to buy the &#8220;Humble Bundle&#8221; &#8211; a pay-what-you-think-is-fair financed bundle of computer games. Not only that, but you get a choice of who to pay, too. I went to the site and started reading &#8211; primary concern being, of course, &#8220;will it run on Linux?&#8221; I scrolled down [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>So, the <a href="https://www.eff.org/">Electronic Frontier Foundation</a> wants me to buy the &#8220;<a href="http://www.humblebundle.com/">Humble Bundle</a>&#8221; &#8211; a pay-what-you-think-is-fair financed bundle of computer games. Not only that, but you get a choice of <strong>who</strong> to pay, too.</p>
<p>I went to the site and started reading &#8211; primary concern being, of course, &#8220;will it run on Linux?&#8221; I scrolled down and a pie chart caught my eye. The statistics for the previous Humble Bundle installment. An event that apparently resulted in the raising of $500,000 to EFF:</p>
<p style="text-align: left;"><img class="size-full wp-image-879" title="humble-bundle-payment-stats" src="http://danielsmedegaardbuus.dk/wp-content/humble-bundle-payment-stats.png" alt="Payment Statistics for the Humble Bundle, Show Linux Users as Being Exceptionally Generous" width="756" height="279" /></p>
<p style="text-align: left;">Now, while Windows as a platform is the largest contributor, per user paying it&#8217;s also the smallest one, as you can see by the average purchase price by platform to the left. Actually, on average, a Linux user has coughed up about <strong>three times the amount a Windows user </strong>has. And about <strong>twice as much as the average Mac user</strong>.</p>
<p style="text-align: left;">Now, why is that? Well, I&#8217;d like to think that we&#8217;re just better people, but that would be stretching it a bit <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Either way, with more than 132,000 purchases it&#8217;s damn hard to dismiss as statistical error. Given that any PC these days is hard to get without Windows pre-installed, it&#8217;s not like we have the extra money left to spend that we didn&#8217;t use on the OS. What do you think?</p>
<div class="shr-publisher-878"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Flinux-users-more-generous-than-their-paying-mac-and-windows-counterparts%2F' data-shr_title='Linux+Users+More+Generous+than+their+Paying+Mac+and+Windows+Counterparts%3F'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Flinux-users-more-generous-than-their-paying-mac-and-windows-counterparts%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-19%2Flinux-users-more-generous-than-their-paying-mac-and-windows-counterparts%2F' data-shr_title='Linux+Users+More+Generous+than+their+Paying+Mac+and+Windows+Counterparts%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-19/linux-users-more-generous-than-their-paying-mac-and-windows-counterparts/&via=danielbuus&text=Linux Users More Generous than their Paying Mac and Windows Counterparts?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-19/linux-users-more-generous-than-their-paying-mac-and-windows-counterparts/&via=danielbuus&text=Linux Users More Generous than their Paying Mac and Windows Counterparts?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2011-04-19/linux-users-more-generous-than-their-paying-mac-and-windows-counterparts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stacking Turds &#8211; Or How I Learned that Homeless People are More Fortunate than ASP.NET Professionals</title>
		<link>http://danielsmedegaardbuus.dk/2011-04-14/stacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals/</link>
		<comments>http://danielsmedegaardbuus.dk/2011-04-14/stacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 13:37:05 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://danielsmedegaardbuus.dk/?p=853</guid>
		<description><![CDATA[DISCLAIMER: What you&#8217;re about to read may contain harsh language. It contains stories of feces-throwing gorillas and crying children. Opinions will be biased. Proceed at your own risk! Education is usually a very quiet thing, a thing without big feelings, outbursts and whatnot. It&#8217;s about immersing oneself in new and unchartered territory. About curiosity, longing, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><strong>DISCLAIMER</strong>: What you&#8217;re about to read may contain harsh language. It contains stories of feces-throwing gorillas and crying children. Opinions will be biased. Proceed at your own risk!</p>
<p><span id="more-853"></span>Education is usually a very quiet thing, a thing without big feelings, outbursts and whatnot. It&#8217;s about immersing oneself in new and unchartered territory. About curiosity, longing, and yes, sometimes even passion. More often than not, it&#8217;s a stressful thing, sure, but that&#8217;s usually attributed to the effort it takes to focus, concentrate and create abstractions in one&#8217;s mind, synthesize and understand things, their perspective and impact, on a larger scale.</p>
<p>Then again, sometimes it&#8217;s just plain boring. But, just once in awhile you get carried away in that great flow of passion when you actually feel your horizon widen, your perception deepen and your entire world becoming more detailed, more finely grained, and yet still more focused.</p>
<p>I&#8217;d never thought education would one day actually enrage me. Until today, that is.</p>
<p>I&#8217;m attending a six-week course in ASP.NET version 4, which will enable me to cough up some more dough for the &#8220;70-515&#8243; exam earning me a title of &#8220;Microsoft Certified Technology Specialist&#8221; in &#8220;Web Applications Development with Microsoft .NET Framework 4&#8243;. As weeks go by, this title is starting to feel more and more like a misnomer, actually being more equivalent to a &#8220;Web Professional Turd Stacker&#8221;.</p>
<p>So why am I so angry? What&#8217;s wrong? Is my teacher an idiot? Possibly, but if so he&#8217;s doing a mighty good job of hiding it. Well, are your classmates idiots then? No, I don&#8217;t believe they are, no. Well, then, are Microsoft idiots? Well, for the love of all that&#8217;s good and true in this world, and for their sakes if they believe in any type of after-life purgatory, I hope that they are. Because if they&#8217;re not, they&#8217;re simply just evil. Although I believe that actually both may apply.</p>
<p>I&#8217;ve been developing web solutions for a while now. It&#8217;s a trade that can be very tricky in practice, as many actors are involved in defining the playgrounds, with differing ideas about how the web should be expressed and interpreted. Well, maybe not <strong>that</strong> differing &#8211; it&#8217;s been more like a lot of serious actors trying to come to an agreement while one monolithic retarded gorilla decided to defecate on all the initiatives of others and poison the interwebs with non-standard, buggy and poorly written junk applications that have plagued our profession for about a decade or so. Unless, of course you were Certified by that particular retarded feces throwing gorilla in which case you&#8217;d just be one more minion wrapping more turds in IP packets.</p>
<p>Even though the retarded gorilla was very rich indeed, as luck would have it, its massive ineptitude prevented it from actually inventing anything new, and over time, people started discovering cuddly chimpanzees, apes of a more intelligent and friendly nature, throwing tasty bananas instead of turds. Lovable and patient panda bears took on the daunting task of catching the flying feces mid-air, churning it through a magic waste management processing plant, and presenting it as beautiful flowers. The crap gorilla&#8217;s iron grip was loosening, storm clouds were dissolving and the tears on the cheeks of the Earth&#8217;s children were licked off by purring kittens.</p>
<p>Well, okay&#8230; I may get carried away a bit here, but it helps calm my rage talking about kittens, so that&#8217;s how the story went. Anyway, the evil retarded gorilla found he had to listen to these annoying little wise-ass chimpanzees and start doing things more like every other ape with a quarter of a brain was doing it, so he put on a diaper and started dealing in bananas, too! They weren&#8217;t as yellow and ripe as the chimpanzees&#8217; bananas, and every once in a while you&#8217;d find a shard of broken glass or a little strychnine in your banana, but all in all it was a step up from having feces thrown at you all day.</p>
<p>So, basically that&#8217;s where we are today. The future will tell how wide rips HTML5 will put in the retarded gorilla&#8217;s diaper and consequently how much feces it&#8217;ll manage to pollute that with, but things in general are looking up.</p>
<p>So, starting this course a while back now, I was actually looking forward to seeing what the big gorilla was up to these days. My roads have mostly been tread with a backpack full of Ruby on Rails, RESTful interfaces, PHP, jQuery, AJAX, XML/XS(D|LT), SOAP, etc., so I&#8217;ve been exceedingly religious about doing things the &#8220;right&#8221; way, be it either using proven design patterns or utilizing the infrastructure that&#8217;s already there, the way it&#8217;s supposed to be used, rather than piling some &#8220;Not Invented Here&#8221; custom crap on top of the stack.</p>
<p>I&#8217;ve previously used Visual Studio for hacking a bit on the DC++ application, and in the mid-2000s used VS.NET to create a backup application in C# for Windows Mobile devices for the company <a title="Bullguard Internet Security" href="http://www.bullguard.com/">Bullguard</a>. The latter experience was really good &#8211; I found C# to be a pretty nicely constructed language, coming from C++ and Java it was pretty much self-explanatory, and Visual Studio itself was about the best IDE I had ever used. Never mind that the actual development for the mobile devices was a nightmare in marshaling Outlook DLLs and juggling low-level SIM stuff, what I came out with was a good feeling of VS, .NET and C#. Given the recent boost in adherence to standards by the gorilla, things were looking up!</p>
<p>Until the gorilla&#8217;s diaper started bursting on the first day. Lesson 1. Create a new project, what do you get? An html page with a form. Now, any web developer that&#8217;s not completely beyond salvation would utter out a little, &#8220;Eeck!&#8221;, jump in his (or her) chair, and immediately delete that atrocity until he actually needs it. Bad idea. If you do, you can pretty much forget about doing anything else with your project. The form is what was there at the dawn of time, for Windows applications. The form is what people know. The form is omnipotent. The form is good. Praise the fooooorrrmmm. Everything goes in the form. And by default, everything you do will POST feces around your site, unless you actively stop it.</p>
<p>Not just your own feces, mind you &#8211; remember the gorilla &#8211; the &#8220;viewstate&#8221; object will drag things around everywhere, requiring pretty much any interaction with the server to be a complete POST of your data, the frameworks&#8217;s data, and who know how many layers of monkeys&#8217; data in order to keep up the facade that is ASP.NET.</p>
<p>Now, keeping state is of course of grave importance in any web application. And there are many ways to do it &#8211; Lord knows, it&#8217;s not always pretty, especially when hives of AJAX are thrown in the game, with page sections, modules and templates being refreshed and causing state changes on their very own. It&#8217;s not an easy task keeping state like this (especially across sessions), even with a defined domain and reduced business logic. Imagine trying to keep state invisibly in a framework like .NET not knowing the application and its domain. Yeah, that&#8217;s not gonna be easy, unless you&#8217;re completely indifferent to standards, performance, simplicity of code, or anything else that keeps developers and the internet in general sane.</p>
<p>So what do you do in this scenario when realizing you&#8217;re about to break patterns and standards in order to support a monolithic and opaque framework? You could either,</p>
<ol>
<li>Pay attention to the fact that you&#8217;re creating developer tools, choose to respect the developers and empower them, and force them to <strong>learn</strong> how the internet works, which would result in faster, better, more standards-compliant web applications.</li>
<li>Assume that only idiots would develop for Gorilla Inc., wrap everything in familiar turds and leave it for the &#8220;idiots&#8221; to stack them so that on the surface, things still work (but don&#8217;t look underneath, oooooh, please don&#8217;t).</li>
</ol>
<p>Apparently, option 2 was chosen, and once that rip was torn in the gorilla&#8217;s diaper, the stench amassed. Right after this sucker punch to the face, we were set to drag-and-drop first a &#8220;Label Control&#8221; to our page (which was rendered as a span, thank you very much), then a &#8220;Calendar Control&#8221;, which rendered as a table-in-table monstrosity with in-line css in every cell, defaulting to round-trip to the server onclick, and leaving any designer to throw away her CSS knowledge and get a copy of Visual Studio to start making hideous &#8220;design templates&#8221; in it. Hello, early 1990s.</p>
<p>This was on day one. Over the weeks, to keep me from going insane and &#8220;professionally aggressive&#8221;, I&#8217;ve started phasing out a bit I must admit. But today, I actually got really angry. We were doing jQuery and web services.</p>
<p>Okay, jQuery I know very well (it&#8217;s fantastic, absolutely beautiful, as is Javascript), and web services I&#8217;ve written, so the first thing that pops in to my mind is, &#8220;Well&#8230; jQuery doesn&#8217;t connect with web services, at least not without a plugin, so what do they really mean?&#8221; Fair enough, the lesson is about getting some JSON from ASP.NET using jQuery, so I&#8217;m just assuming we&#8217;re using the term loosely here, the same way we&#8217;re using the term AJAX for any kind of DHTML that fades or moves around or whatever, regardless of whether server interaction is taking place.</p>
<p>Things start to get strange when the example tells us to query the example &#8220;web service&#8221; using jQuery .ajax notation like this,</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p853code4'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8534"><td class="code" id="p853code4"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// [...]</span>
  type <span style="color: #339933;">:</span> <span style="color: #3366CC;">'POST'</span><span style="color: #339933;">,</span>
  url <span style="color: #339933;">:</span> <span style="color: #3366CC;">'Service.masx/HelloWorld'</span><span style="color: #339933;">,</span>
  data <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;{'a':230,'b':0}&quot;</span><span style="color: #339933;">,</span>
<span style="color: #006600; font-style: italic;">// [...]</span></pre></td></tr></table></div>

<p>Anyone who knows jQuery would wonder why that data object is quoted &#8211; that would just send an anonymous string containing the JSON payload as cleartext while its members should&#8217;ve made up the key/value pairs in the request. Obviously a typo, right? Obviously, this is not piercing a turd, is it? Clearly the gorilla is not defecating on our jQuery, too?</p>
<p>Well. Yes. Yes, he is. The gorilla is lose and on the crapper. And when you look at the response from the web service, returned in C# in the method like,</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p853code5'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8535"><td class="code" id="p853code5"><pre class="csharp" style="font-family:monospace;">  <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #666666;">&quot;Hello World.&quot;</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p>It becomes, as a JSON response,</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p853code6'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8536"><td class="code" id="p853code6"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;d&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Hello World.&quot;</span><span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>D? Is this Boyz n the Hood? &#8220;D, motherfucker, D!!!!!&#8221;? What&#8217;s with that &#8216;d&#8217;? Which, coincidentally, is presented to us course takers as &#8220;jQuery notation&#8221; WTF?! Dark rain clouds once again appeared, mothers leapt for safety while crying children were at the mercy of wolves on the prowl&#8230;</p>
<p>The dirty, rotten truth is that the feces-throwing retarded gorilla is stacking more turds on top of its pile of shit. Its mental capacity was just adequate enough to somehow put an erroneous equality mark between SOAP web services and an AJAJ request. Now how do we accomodate that? Well, we smear some more feces on our turd pile that is the web service stack, make it require being POSTed to, have it expect its parameters as a string containing JSON encoded data and then just crap out mangled JSON in return (if you&#8217;re lucky, because the equivalent jQuery code using .post() will actually result in XML output even if all your POST request headers are correct &#8211; XML that doesn&#8217;t represent the same objects as the mangled JSON, BTW).</p>
<p>Why on earth would a web service, no matter how mangled and raped, ever want its input as a string containing JSON? Why on earth would you not use the HTTP standard way of using key/value pairs that every friendly banana dealing chimpanzee has been using for <strong>decades</strong>? Why on earth would you wrap your response in an object assigning the return value to a single member, &#8216;d&#8217;?</p>
<p>Because you&#8217;re living on a pile of turds, and you just gotta keep stacking them, that&#8217;s why. If you took away that .d, the entire framework would be shedded.</p>
<p>I walked away with an adrenaline overload and gorilla feces all over me. My professional pride is stung. It&#8217;s not so much that someone would do these things, it&#8217;s that some big gorilla would have hundreds of thousands of minions do it with him. I&#8217;ve often wondered what makes some developers so weird, so utterly bitter, anti-social and dysfunctional. Well, having to work with this framework professionally would definitely do that to me.</p>
<p>This gorilla is not just retarded and feces-throwing, he&#8217;s also destroying all that&#8217;s good about development, taking away all the joy, taking away all the power of the people involved. I used to think that IntelliSense was the best auto-completion I&#8217;d ever seen. Now it&#8217;s just apparent that it&#8217;s not about quickly auto-completing code that you were about to write, it&#8217;s about navigating you through a dark, cold and confusing cave filled with HIV-ridden needles and bear traps.</p>
<p>This is why I&#8217;d rather be homeless than working as an ASP.NET developer. It&#8217;s not thinking, it&#8217;s not creating, it&#8217;s stacking turds like you were once stacking Lego blocks. Except, if my mother were ever to complement me on my stacking of ASP.NET turds, I&#8217;d want to go crying in the shower.</p>
<p>As Homer Simpson once said, &#8220;Kids &#8211; just avoid eye contact and very slowly walk away.&#8221;</p>
<p>2011-04-15: The gorilla keeps crapping: <a title="Groklaw: Microsoft Cloud Services Aren't FISMA Certified" href="http://yro.slashdot.org/story/11/04/14/2129252/Groklaw-Microsoft-Cloud-Services-Arent-FISMA-Certified">Groklaw: Microsoft Cloud Services Aren&#8217;t FISMA Certified</a></p>
<div class="shr-publisher-853"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-14%2Fstacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals%2F' data-shr_title='Stacking+Turds+-+Or+How+I+Learned+that+Homeless+People+are+More+Fortunate+than+ASP.NET+Professionals'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-14%2Fstacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-04-14%2Fstacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals%2F' data-shr_title='Stacking+Turds+-+Or+How+I+Learned+that+Homeless+People+are+More+Fortunate+than+ASP.NET+Professionals'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-14/stacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals/&via=danielbuus&text=Stacking Turds - Or How I Learned that Homeless People are More Fortunate than ASP.NET Professionals&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-04-14/stacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals/&via=danielbuus&text=Stacking Turds - Or How I Learned that Homeless People are More Fortunate than ASP.NET Professionals&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2011-04-14/stacking-turds-or-how-i-learned-that-homeless-people-are-more-fortunate-than-asp-net-professionals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Cleartype to Work with WINE and Winetricks</title>
		<link>http://danielsmedegaardbuus.dk/2011-02-01/getting-cleartype-to-work-with-wine-and-winetricks/</link>
		<comments>http://danielsmedegaardbuus.dk/2011-02-01/getting-cleartype-to-work-with-wine-and-winetricks/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 16:40:07 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://danielsmedegaardbuus.dk/?p=783</guid>
		<description><![CDATA[If you&#8217;re anything like me, you&#8217;re probably frustrated that the usual hints and tricks to enable sub-pixel hinting, i.e. &#8220;cleartype&#8221; in Redmond terms, under WINE is usually futile. The problem often is that the default Windows XP font is Tahoma, and this font isn&#8217;t included with WINE. So even if you have enabled cleartype, Tahoma [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>If you&#8217;re anything like me, you&#8217;re probably frustrated that the usual hints and tricks to enable sub-pixel hinting, i.e. &#8220;cleartype&#8221; in Redmond terms, under WINE is usually futile.</p>
<p>The problem often is that the default Windows XP font is Tahoma, and this font isn&#8217;t included with WINE. So even if you have enabled cleartype, Tahoma will render using some fallback system font without subpixel hinting.</p>
<p>Solution? Just install tahoma. Example, installing uTorrent with winetricks:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p783code8'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p7838"><td class="code" id="p783code8"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">env</span> <span style="color: #007800;">WINEPREFIX</span>=~<span style="color: #000000; font-weight: bold;">/</span>.wine-utorrent winetricks utorrent fontfix fontsmooth-rgb tahoma</pre></td></tr></table></div>

<p>There ya go <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="shr-publisher-783"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-02-01%2Fgetting-cleartype-to-work-with-wine-and-winetricks%2F' data-shr_title='Getting+Cleartype+to+Work+with+WINE+and+Winetricks'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-02-01%2Fgetting-cleartype-to-work-with-wine-and-winetricks%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2011-02-01%2Fgetting-cleartype-to-work-with-wine-and-winetricks%2F' data-shr_title='Getting+Cleartype+to+Work+with+WINE+and+Winetricks'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-02-01/getting-cleartype-to-work-with-wine-and-winetricks/&via=danielbuus&text=Getting Cleartype to Work with WINE and Winetricks&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2011-02-01/getting-cleartype-to-work-with-wine-and-winetricks/&via=danielbuus&text=Getting Cleartype to Work with WINE and Winetricks&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2011-02-01/getting-cleartype-to-work-with-wine-and-winetricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Rants, Part 2: Abandoning Linux, Network Performance, and Bye-Bye Redmond (Back in the Fold)</title>
		<link>http://danielsmedegaardbuus.dk/2010-02-17/windows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond/</link>
		<comments>http://danielsmedegaardbuus.dk/2010-02-17/windows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 19:16:35 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.danielsmedegaardbuus.dk/?p=477</guid>
		<description><![CDATA[In my previous post I gave Windows 7 quite a beating. If you&#8217;ve read anything that even resembles a review on my blog, it should be pretty apparent by now that if I muster up the effort to get behind the keyboard and actually express my opinion about something, it&#8217;s usually because I hate it. [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In my <a href="http://www.danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/">previous post</a> I gave Windows 7 quite a beating. If you&#8217;ve read anything that even resembles a review on my blog, it should be pretty apparent by now that if I muster up the effort to get behind the keyboard and actually express my opinion about something, it&#8217;s usually because I hate it. That&#8217;s not to say I hate everything, just think of it this way: if I&#8217;m not publicly dissing it, I <strong>love</strong> it <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I didn&#8217;t bash your favorite movie? It&#8217;s because it&#8217;s the best&#8230; movie&#8230; <strong>ever</strong>!</p>
<p>Anyway, obviously I&#8217;m writing about something right now, so obviously I hate it. Yup, it&#8217;s my battle with Windows, Windows 7 this time. If you read the previous installment, you&#8217;ll know that I was using Windows 7 as it came with my newly purchased ASUS laptop. Since then I&#8217;ve had the unfortunate experience that my workstation at work (Kubuntu Karmic) had grown exceedingly quirky. As in the same crap I ranted about last time with disk IO being prioritized so highly that even moving the mouse wasn&#8217;t possible when files were being moved about. Install a kernel update, and forget about using the computer for several minutes. That kind of prioritization. Add to that that at an otherwise critical point in time (we were moving servers) my Eclipse PDT install started completely barfing on PHP5.3, the new VPN solution in our company didn&#8217;t work with any Kubuntu installment since Feisty, and Firefox started crashing on every file upload, attempt to use Firebug, and attempt to use our time-tracking software&#8217;s web interface (which is a study in WTFs, by the way, so I can&#8217;t really blame it). Google results mentioned incompatibilities between <strong>64-bit Linuxes</strong> and current Firebug, and I seriously needed to use the VPN as I had to work from at home during the weekend. All in all, it seemed like there was really not a lot of options. I turned my head and asked my colleague if perhaps there was an extra Windows 7 Professional license I could use.</p>
<p>Now this may seem like nothing special, but for me it was quite tragic, really. I hate a lot of things, and I do hate computers and OSes in particular (great career choice then, eh?), and I really hate OS fan boys regardless of their color and shape, because to be honest: <strong>All OSes suck</strong>. I just found Linux to suck the least, and adding to that, when it sucks, it&#8217;s always because of a legimate bug, a technical shortcoming or a missing piece of software. It&#8217;s never the Apple way of &#8220;you&#8217;ll take what we give you, and only what we give you, up the ass and you&#8217;ll look trendy while you smile&#8221; or the Microsoft one of &#8220;we don&#8217;t care if it&#8217;s the simplest task ever invented, we will easily turn it into the most intertwined, non-standard, and complicated equivalent, then we&#8217;ll make it partly work and give you a billion irrelevant and incomprehensible options to configure it, minus the ones that you actually need, oh, and we&#8217;ll fix the bugs once we&#8217;re finished making new software&#8221;. With Linux, I&#8217;ve always felt completely free and empowered, no matter what crappy thing made me shout at my monitor in frustration.</p>
<p>So, really, making this decision felt utterly awful, I may sound like a drama queen, but my girlfriend can attest to the fact that I was literally depressed following that. But, you win some, you lose some, and so I ventured back into Redmond from whence long ago I so joyfully departed.</p>
<p>Oh, such a long introduction such a short story! <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Well, if it&#8217;s a rant, it&#8217;s a rant <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  But, that was the story of my abandoning Linux on my workstation at work, let&#8217;s get to the next part: The bitching about Windows 7. This time: Network performance.</p>
<p>Let&#8217;s see&#8230; Any Eclipse user out there knows that the IDE is quite fond of messing about with files in its projects. It&#8217;s a necessity for doing all the wonderful things it does in the background, such as validating your code, analyzing it to offer magical code assist features, and all sorts of funky stuff that makes it just that bit more fun to be a developer. Also, being a web developer, I&#8217;m pretty sure I won&#8217;t be the first of my kind to be having his or her project code on a network share, as a local installation of LAMP will rarely suffice as the backbone of a development environment.</p>
<p>This means that there&#8217;s gonna be a whole lot of network traffic going on when a developer of my breed is working in Eclipse (or any equivalent derivate, for that matter). Which also means that network performance is pretty crucial for being productive. You can&#8217;t afford to wait too long for your searches, saves, loads, check ins and outs, whatever, to complete, or your groove is gonna be seriously disturbed.</p>
<p>At first I didn&#8217;t notice the problems with networking in Windows 7. I had to move a lot of documents from my XFS partition to my NTFS drive, and I did that by way of a network share, since I had to clear out my /home partition to be able to increase the size of the NTFS partition so that there was actually <strong>room</strong> for all my files there. Obviously Windows doesn&#8217;t access XFS partitions. It&#8217;s a gigabit tether, so putting them up there went at the speed of my aging 2.5&#8243; HDD, and getting them back went pretty fast, too, nothing made me wonder at that time.</p>
<p>It seems, though, that this was mainly because of the size of the files. Moving large files in Windows 7 to or from a network share is sufficiently fast (like 15-20 MBps, not the 30-something that Kubuntu provided, but still plenty speed for what you need a network share for in the first place). It&#8217;s when you start juggling small files that things start to smell, well, &#8230;fishy&#8230;</p>
<p>Now, what is typically the nature of files in a programming project directory? That&#8217;s right, they&#8217;re small. Like &lt;10k. And then there&#8217;s the subversion metafiles, tons of stuff in each .svn directory. You really need a network stack capable of pushing those babies through like slugs from a minigun. Well, maybe I&#8217;ve spoiled in Linux, but I really don&#8217;t think so &#8211; my other OS X colleagues don&#8217;t feel spoiled either, when we pull 710 MB of these small files from the network share in 6½ minutes. Or when a fresh Subversion checkout takes 1-2 minutes tops. Or &#8220;Refreshing workspace&#8221; completes in 15 seconds.</p>
<p>To tell the truth, I&#8217;ve actually been kinda pissed about that kind of delays. I even wrote a PHP script based on inotify that enabled me to keep a local copy of my projects which were mirrored onto the network share transparently and on-the-fly triggered by file changes. Something that Microsoft actually made some kind of implementation of in Windows 7, called &#8220;Transparent Caching&#8221;. Except it doesn&#8217;t work. Wonder if I should mail them my script?</p>
<p>Anyway, my jaw slowly (very slowly) dropped to the floor when I checked out ~3MB of project files from SVN in Eclipse on my fresh Windows 7 installation and it took more than two hours. Following that, I tried copying the same 710 MB of development files as mentioned before, and Explorer&#8217;s finish estimate just continued to climb. The time used to stat the directories was more than 10 minutes, and the transfer speed once it finished that ranged from 11 kBps to 20-something kBps. I soon killed the process and attempted a 7-zip &#8220;Store&#8221; operation on the directory, as I&#8217;ve previously experienced extremely crappy transfer speeds with early Vistas and USB drives which were caused by Explorer, and alleviated when using either a command prompt or 7-zip or any other 3rd party application. I let it run for awhile until it seemed pretty certain that the process would take 7 hours, give or take a few minutes. <strong>7 hours</strong>. Compare that to the 6½ minutes in Kubuntu, and I suddenly understood why my 3MB checkout in Eclipse took more than two hours.</p>
<p>Obviously, something was very wrong, and I started googling for solutions. Lots of posts by other users with exactly the same problem, or with the same sort of problem only related to external devices. My return to searching for solutions to problems with Windows just brought me back to a long-forgotten hell hole. People asking legitimate questions about legitimate problems with their crappy Redmond-based OS being met by fan boy idiots telling them that Microsoft isn&#8217;t at fault for their hardware vendors not providing proper drivers, idiots suggesting them to format and reinstall&#8230; WTF? I thought that was a joke by now?</p>
<p>I tried all the shebangs, disabling all kinds of crap, uninstalling antivirus software, upgrading my network adapter drivers from the vendor, but to no avail. Then I tested my colleague&#8217;s computer, and it exhibited the exact same problem. It became apparent to me that Windows definitely still wasn&#8217;t ready for the desktop, and I kinda went into a dark place where I had to find some kind of solution besides Windows or Linux, and so I tried to install FreeBSD and PC-BSD. Both would either kernel panic when booting the installation CDs (both were FreeBSD 8.0-RELEASE based, so I guess the problem lies there somewhere), or continue (seemed to happen if I didn&#8217;t interact with the computer unless absolutely required, go figure). PC-BSD would fuck up my partition table, recreating every partition it touched resulting in &#8220;partition does not end on a cylinder boundary&#8221; warnings from fdisk, and it would always fail at some point in the installation with errors. Both, however, would succeed in installing as such, only their boot loaders would leave me with some weird prompt because it couldn&#8217;t find the boot code. Sucks.</p>
<p>So, to finish up&#8230; What I did was go back to where I&#8217;ve never been really let down, and that was with Kubuntu. I knew by experience that the Karmic Koala wouldn&#8217;t help me even if bribed with lots of eucalyptus leaves, so I got the Lucid Lynx Alpha 2 cd and tried that instead. Seriously beta. Well, no, not even that as it&#8217;s alpha, but still seriously beta <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Either way, it failed to install grub, so I had to go with LILO. I also switched back from XFS to my old friend ReiserFS. Let me tell you: Either the Linux kernel just got a serious refurbishing or all my troubles with user responsiveness are really founded in XFS. Because the Lucid Lynx on ReiserFS is faster and more responsive than any OS I&#8217;ve ever tried. No more stutters with the mouse or interface, even when mirrordir&#8217;ing 12 GB to my drive while installing 470+ updates via apt-get. Not&#8230; one&#8230; Everything felt like a rocket had been shoved into my old laptop&#8217;s bong hole. I&#8217;m gonna try installing with XFS and Reiser on my own laptop and do some comparisons, so that I can maybe confirm (hopefully) that the responsiveness issues I&#8217;ve been experiencing over the last few years are to blame on XFS, not the kernel. That would make the next post indeed <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Either way, that&#8217;s my rant for now. Hope it was waaayyy to long for ya <img src='http://danielsmedegaardbuus.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="shr-publisher-477"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-17%2Fwindows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond%2F' data-shr_title='Windows+7+Rants%2C+Part+2%3A+Abandoning+Linux%2C+Network+Performance%2C+and+Bye-Bye+Redmond+%28Back+in+the+Fold%29'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-17%2Fwindows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-17%2Fwindows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond%2F' data-shr_title='Windows+7+Rants%2C+Part+2%3A+Abandoning+Linux%2C+Network+Performance%2C+and+Bye-Bye+Redmond+%28Back+in+the+Fold%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2010-02-17/windows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond/&via=danielbuus&text=Windows 7 Rants, Part 2: Abandoning Linux, Network Performance, and Bye-Bye Redmond (Back in the Fold)&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2010-02-17/windows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond/&via=danielbuus&text=Windows 7 Rants, Part 2: Abandoning Linux, Network Performance, and Bye-Bye Redmond (Back in the Fold)&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2010-02-17/windows-7-rants-part-2-abandoning-linux-network-performance-and-bye-bye-redmond/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 7 Rants, Part 1: Hunting for Font Settings &amp; Automatic Updates</title>
		<link>http://danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/</link>
		<comments>http://danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 21:45:36 +0000</pubDate>
		<dc:creator>Daniel Smedegaard Buus</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.danielsmedegaardbuus.dk/?p=473</guid>
		<description><![CDATA[Ok, so I recently bought an ASUS U30 laptop which came preinstalled with Windows 7. I&#8217;m mainly a Kubuntu person myself, so I resized that Windows partition to fit and put Kubuntu on the rest of the drive. The recent years of kernel development, scheduling in particular, seem to have brought an increasingly annoying trend: [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, so I recently bought an ASUS U30 laptop which came preinstalled with Windows 7. I&#8217;m mainly a Kubuntu person myself, so I resized that Windows partition to fit and put Kubuntu on the rest of the drive.</p>
<p>The recent years of kernel development, scheduling in particular, seem to have brought an increasingly annoying trend: prioritizing IO operations in favor of user interaction responsiveness. While the KDE desktop has never been more attractive (beats Windows 7 by lengths, IMHO), that doesn&#8217;t matter a whole lot if you can&#8217;t move your mouse because updates are being installed or you&#8217;re copying some large file over the network.</p>
<p>Add to that a bunch of annoyances such as generally being completely unable to get vertical sync to work on any output, using any media player, on any graphics card. Or, the KDE 4.x branch in general being a Windows 95 story in rewriting in terms of beta-ish stability. Or, the inability to properly configure my multi-touch touchpad, negative 1 or 2 hours on the battery when compared to W7, going from sleep to operational every time causing a second sleep for no apparent reason then presenting an &#8220;Error 1 when suspending&#8221; or something like that, the WiFi constantly disconnecting sometimes needing an rmmod &amp;&amp; modprobe to come back up, and so on and so forth in a seemingly endless array of problems that seem to be increasing in numbers rather than decreasing.</p>
<p>Quite frankly, Linux in my experience is getting worse, not better.</p>
<p>So, as heart-breaking as it is, I&#8217;ve decided to opt out of Kubuntu on my laptop for a while, and try out that Windows 7 thing that came with the thing in the first place.</p>
<p>As Windowses go, this one certainly looks better. OOB it performs way better than Vista, it seems to have fixed a few of the most idiotic usability flaws while still retaining others that were introduced with Vista; like hunting for where to change system fonts&#8230; Now where would that logically reside? Well, affordance tells us that we&#8217;d right-click the desktop, choose Properties and go to the appearance tab or whatever. Well, affordance counts for nothing, so there&#8217;s no Properties there anymore. There&#8217;s a Personalize, though, but nothing in there hints at anything about fonts&#8230; Well, maybe &#8220;Display&#8221; does a bit. But that&#8217;s not it. Although there&#8217;s an Andjust ClearType Text in there. Not it either. Set Custom Text Size (DPI)? Nope. Change Display Settings! Sorry, donuts all out. Hmmm&#8230; Try again, back. Let&#8217;s try the search input at the top. It looks like what we know from Mac OS X and KDE. Certainly, searching for &#8220;font&#8221; gives results, yay! Oh, there&#8217;s a whole section of font-related options! &#8220;Preview, delete, or show and hide fonts&#8221;, &#8220;Change Font Settings&#8221;, and &#8220;View installed fonts&#8221;. There&#8217;s also a &#8220;Display&#8221; group, but we&#8217;ve already tried those, and they didn&#8217;t do us any good. So, of course, the &#8220;Change Font Settings&#8221; <strong>must</strong> be it, it&#8217;s pretty much named after what we&#8217;re trying to accomplish, right? Well, not quite&#8230; This pane just allows us to chose whether or not to &#8220;Hide fonts based on language settings&#8221; (Huh? You can do that? I mean, what the hell does that even do?) or to &#8220;Allow fonts to be installed using a shortcut (advanced)&#8221;. Well, apart from being completely incomprehensible settings, why the hell would you even make a Control Panel page for these settings? This sounds like something that belongs in a registry setting, safely tucked away from tired eyes trying to find a <strong>useful</strong> settings page. So, the &#8220;Change Font Settings&#8221; page wasn&#8217;t actually a page to change anything sensible about fonts. I won&#8217;t bore you any further with exploring the last two options returned by our control panel &#8220;font&#8221; search word, suffice it to say they are equally useless.</p>
<p>So where the hell do you change the size or type or fonts used in Windows? Searching for it helps not, neither does common logic. Well, stupid, how dumb are you? Use your brain! It&#8217;s &#8220;Control Panel&#8221;, then &#8220;Appearance and Personalization&#8221;, then &#8220;Personalize&#8221;, then &#8220;Window Color&#8221;, then &#8220;Advanced Appearance Settings&#8221;! You should know that <strong>fonts are a type of window color</strong>! Sheeesh&#8230;</p>
<p>As mindbafflingly stupid that user interaction has been designed, luckily I haven&#8217;t spend enough time here yet to stumble upon other equally retarded annoyances. If I had, I&#8217;d probably be smoking crack right now trying to calm my nerves.</p>
<p>I have, on the other hand, just experience the glorious genius of the &#8220;Recommended&#8221; and default settings for automatic updates. The epic fail quality of the genius is two-fold, the first one destroying your work, the second one potentially destroying your computer. Please read on.</p>
<p>1) The default behavior is to download updates, install them, and restart the computer. Just. Like. That.</p>
<p>Don&#8217;t leave that thing unattended if you were actually doing something important before picking up the phone, checking how the dinner was coming along, taking a trip to the crapper, or anything other that normal people do every once in a while.</p>
<p>Windows 7 seems to say,</p>
<p>&#8220;Hey, there&#8217;s these purdy important updates that I needs to gets. I&#8217;m just gonna install those for ya, then I&#8217;m gonna be restarting, but never you worry, once I&#8217;m back, all dem Explory windows is gonna be aaaalll right back, see?&#8221;</p>
<p>&#8220;Sure, alright, but what about that Windows AIK instance that was open with all my changes to the WIM that I&#8217;d been preparing that I wanted to export once I had finished it?&#8221;</p>
<p>&#8220;Oooh, you needed that? Really? It&#8217;s just&#8230; You weren&#8217;t there, so I figured&#8230;&#8221;</p>
<p>&#8220;Yeah, that&#8217;s fantastic, great! What about the x264 process that was running along transcoding at 4 hours, with 4 more hours to finish? You gonna bring that back, too?&#8221;</p>
<p>&#8220;Uh, well, see, I kinda figured that wasn&#8217;t important, seeing as how it was just using pretty much all the CPU. Ya know, it kinda looked like a runaway process and all&#8230;&#8221;</p>
<p>&#8220;Or, an intensively hard-working process, not to be disturbed? Well, one final question. The Putty instance with an open SSH connection to my Kubuntu box where I was running an SFV batch process on 1.2 TB of data in the session that was killed when you rebooted my computer&#8230; I&#8217;d like to see you bring that back?&#8221;</p>
<p>2) Believe it or not, but the automatic updates are also triggered when sleeping. That is, when your laptop&#8217;s sleeping, not the flatline brain activity kind of sleep that is the logic behind Windows 7&#8242;s automatic updates. Yes, that&#8217;s right. This entire process can and will happen when you&#8217;ve put your computer into sleep mode. That means do a little work, close the lid so your laptop sleeps, and stow it away. Someplace safe, like where you&#8217;d usually put it. Like a carrying bag or sleeve. You know the kind that obstructs air intake? The kind you&#8217;d never dream of putting you laptop in if it were on? Because if you did, you&#8217;d probably end up damaging it severely as it overheats until the battery&#8217;s drained, or the CPU or some other vital component like the graphics card fries and shuts it down? Yup, this is the comfy cramped little place your laptop would suddenly awaken to install updates and do a reboot. A reboot which could end anyplace, really. At a BIOS password prompt, for instance. A boot manager screen. A hard drive encryption password prompt, or simply the login prompt of your favorite window manager.</p>
<p>So thank you, Microsoft, for once again proving that stupidity comes in many forms. Oh, and for still not having fixed the auto-hiding task bar so that overlapping windows actually <strong>don&#8217;t</strong> get to be placed on top of it. But of course, it&#8217;s only been 15 years since that issue was first reported. And it&#8217;s not like the other operating systems don&#8217;t have that same problem. Oh yeah, sorry, that&#8217;s right, they <strong>don&#8217;t</strong>.</p>
<div class="shr-publisher-473"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-11%2Fwindows-7-rants-part-1-hunting-for-font-settings-automatic-updates%2F' data-shr_title='Windows+7+Rants%2C+Part+1%3A+Hunting+for+Font+Settings+%26+Automatic+Updates'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-11%2Fwindows-7-rants-part-1-hunting-for-font-settings-automatic-updates%2F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fdanielsmedegaardbuus.dk%2F2010-02-11%2Fwindows-7-rants-part-1-hunting-for-font-settings-automatic-updates%2F' data-shr_title='Windows+7+Rants%2C+Part+1%3A+Hunting+for+Font+Settings+%26+Automatic+Updates'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/&via=danielbuus&text=Windows 7 Rants, Part 1: Hunting for Font Settings & Automatic Updates&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/&via=danielbuus&text=Windows 7 Rants, Part 1: Hunting for Font Settings & Automatic Updates&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://danielsmedegaardbuus.dk/2010-02-11/windows-7-rants-part-1-hunting-for-font-settings-automatic-updates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

