Gene Weingarten, a humor writer for the Washington Post, has a piece titled "The joys of writing your own Wiki-bio" (carried by several other papers, including the National Post here in Canada) . In this article he describes a series of edits he made to his own biography on Wikipedia, testing whether the fact police of Wikipedia -- a nebulous group of usually young males with an excess of free time -- would catch and retract his distortions.
He was creating a "Wikiality".
We don't have to take his word for it -- look at the edits yourself (Gene's edits are apparently the ones coming from 69.255.218.128 - he didn't set up an account, or attempt to create even a cursory history of credibility). While Gene starts off small, he very quickly resorts to making outrageous claims.
By the end of his experiment, he had made a string of absurd changes, including "In 1984 and again in 1986, Weingarten competed in the Alaskan Iditarod, each time assembling a team of mongrel dogs rescued from local shelters, and one very large house cat. He finished third and sixth, respectively.".
27 hours later, a Wikipedia defender reverted his vandalism. Seeing even the last edit, it was painfully apparent that it was vandalism, so they just reverted back prior to that user's string of alterations.
Gene ends off his article with the paragraph "All in all, the system worked. I'm impressed, and a little disappointed. There was more that I wanted my biography to say."
Gene is hardly the first to perform such an experiment, distorting Wikipedia with outrageous (or widely publicized, as in the Stephen Colbert episode) changes, then declaring that the "system works", and that the wisdom of crowds concept has been proven out.
This has proven nothing of the sort.
In essence it's a TSA inspector declaring that homeland security works because they couldn't carry a poseidon missle on their shoulders through airport security. Using examples like this for a sense of security, or accuracy, is grotesquely misleading.
It's no secret that I'm not a big believer in the wisdom of crowds, at least in the form commonly demonstrated online today.
Most of the "online democracy" sites are easily manipulated by vote stuffing (only necessary at the outset, after which inertia and follow-the-leader behaviour takes over). Where it isn't obvious manipulation, the sort of content that rises to the top is generally comforting and non-challenging to the impatient reader's world view, and the percentage of clearly fictitious (but presented as fact) content is disturbingly high.
If an article or entry can't be digested in seconds, and if it challenges the stereotypes or agendas of the majority reader, it will usually sit unloved at the bottom of the pile.
It's a common tactic in the software development blog domain, for instance, to affirm that each reader is special, and must represent the cream of the crop, while pinning all of the problems in the industry/the world on "the others" (managers, dumb programmers who can't code FizzBuzz -- the other 99%, customers, architects, big oil, Republicans, white middle-aged guys, etc). An array of pond-skimmers always superficially treading the shallowest depths of technology, non-challenging to the reader's status quo.
"Oh you're just jealous that this entry won't be on the front page of [Some Meme Site]!" a naysayer might pronounce.
Aha! And that is exactly where a real-world conversation led recently: I was decrying a popular blog that I felt had descended from informative, credible information, down into Pablum-like, predigested, low barrier-to-entry prattle. This change seriously compromised the author's technical credibility, and marked a tremendous decline in the quality of the entries, yet it perplexingly came with a massive spike in their readership counts.
After expressing my frustration at this destructive influence on online content, my conversation partner asked whether I just had sour grapes because I haven't seen any such traffic spikes for a while.
After a couple of popular entries a while back, I had a natural desire to keep things rolling -- there was no real gain for me whether this sees 10 readers a day or 100,000, but it was sort of neat seeing some big numbers in the stats -- but there was a limit to how low I would sell-out. I was more interested in making a small number of peers in the industry think "this guy really knows his stuff!" than having a large number of ADD drive-by meme site users think "YES! This is exactly the simplistic, layman worldview that I want to push into other people's faces through my votes".
A gauntlet had been thrown down! I declared that I could intentionally author pieces with the specific purpose of doing well on the meme sites, and that if I did follow through they would do very well indeed. My peer disagreed. A friendly wager was made.
Over the coming period, I am going to attempt to do "well" (open to interpretation, but generally meaning >50,000 hits in a single 24-hour period) with a couple of pieces.
Due to conditions of the wager, coupled with my own lack of available time, I am going to spend absolutely minimal time on each entry. Most, if not all, of the entries will be posted on stooge accounts or blogs that I will set up elsewhere (for obvious reasons), although after they have run their course I will post a link pointing back to here and vice versa, and how well each approach and submission tactic did.
The game is afoot! We shall see if the wise crowds are as predictable, and gameable, as I believe!
I've written about energy conservation issues several times on this blog and in its precursor rants section. This is a topic that is pertinent to the economics of the hardware upon which we ply our trade.
I was advocating compact fluorescent lightbulbs six years ago, and have documented my family's power usage along with some of the steps we've taken to reduce it.
We turn off the (100% CF) lights when we don't need them, intelligently bank cooler outdoor air on summer nights to limit air conditioning, and we try to conscientiously reduce the energy we're using. When we buy electronics and appliances, the Energy Star rating tops our criteria list.
This year we even marginally supplemented our food purchases with the produce of a humble home vegetable garden (doing our very small part to reduce the energy used to grow and transport it from elsewhere, not to mention that a small patch of once slow-growing grass now hosts fast-growing, carbon-trapping vegetables).
We are far from a great example of a carbon-neutral lifestyle, however. As I write this my wife and children are travelling in our fuel-guzzling, 5000lb 255hp minivan to a children's museum some two hundred kilometers away. We don't forsake modern conveniences like televisions and gaming systems, and of course I wouldn't go without my computers. We live in a suburban home, adding to suburban sprawl, and often commute long distances.
Compared to an urban dweller living in a tiny condo, commuting to work via the foot express, we're gluttonous power pigs. We're lazy environmentalists of convenience.
It's this pragmatism that has me questioning a lot of the enviro-nonsense that has become a religion as of late. Many, it seems, feel a perverse, corrupting need to polarize their position -- as has sadly become the norm in many areas of debate -- simplistically categorizing everything into absolute right or wrongs.
Often there are only grays.
Buying local, for instance, is a meme that has taken hold in enviro-circles. Simply ensuring that whatever plastic junk you're buying wasn't shipped overseas, and that your strawberries didn't come from California (or, if you're in California, that they didn't come from wherever else grows strawberries) and you're doing your part to save the Earth, the meme goes.
Is that true?
If one only considers final shipment, then local farmers have an obvious enviro-advantage. Yet that energy analysis seems simplistic: What if the alternative is grown on larger farms with a longer, more suitable growing season? What if the economy of scale of remote growers allows for increased automation and efficiency?
Is it really saving the environment if you're buying from small, labour- and energy-intensive farms where crops have to be coerced through the short growing season via considerable energy and chemical assistance? Where the ill-suited soil needs continuous supplementation?
I'm not providing answers -- I don't have the numbers -- but the energy that goes into making the foods that you eat and the products that you buy is much more complex than simply measuring the fuel that went into the boat or truck that it rode to your grocery store. Given the low cost of large plastic toys from China, for example, it's clear by simple economics that very little energy was necessary to ship it across the ocean (and that might reduce further as shipping companies look to save costs).
Automobiles are another area of the whole environment debate that seems to be much more complex than often perceived. Consider the media's coverage of Al Gore the IIIrd, son of Al Gore the IInd, getting caught speeding down a California freeway at 100mph in a Toyota Prius. Many of the news reports described the car as "environmentally friendly", and this has been a recurring description when describing hybrid vehicles.
The Prius is "environmentally friendly" only by the same confused logic that would deem a lit M-80 "hand friendly" relative to a stick of dynamite.
The Prius still requires roadways (and contributes to the clogging of the same) and parking lots and rubber tire factories and mines. The perceived moral righteousness of the Prius and its ilk might even exacerbate the problem of urban sprawl, making people feel almost heroic to commute 40km to work in their "environmentally friendly" hybrid car. Worse, it still requires copious amounts of energy to move its 3000lbs around -- not least of which is a giant array of batteries -- often with a smug driver as the lone occupant, contributing to the growing trend of smug pollution (as South Park hilariously characterized it).
The sort of absurd moralism about hybrid cars -- the kind that has the media declaring a 3000lb car "environmentally friendly", and the rich and powerful can gain environment credibility by being sighted in a hybrid (just ignore the numerous mansions and private jets...they were seen in a Prius!) -- is how you end up with absurdist theater like this.
The Prius is but one example (and I don't mean to pick on hybrid cars. All else remaining the same they're a definite improvement. Definitely better than the hilarious large older car I saw roaring down the highway yesterday, prominent "Boycott Gas!" sticker on the back). Many recent stories have praised absurdly high mileage vehicles, deep in the article noting that much of the vehicle's energy was supplied via an unmeasured draw from a household electric socket. That's akin to claiming that your 1984 Chevy Citation gets great mileage by going half of its kilometers slung on the back of a tow truck. That sort of energy-fraud is becoming far too common.
Consider also how the so-called law of unintended consequences rears its head when you improve the operating costs (both economic and moral) of an activity: A driver of a fuel-guzzling SUV is likely more apprehensive about long drives, knowing how the exorbitant fuel costs will punish their wallet. Reduce the moral and economic costs, however, by replacing their vehicle with a more efficient model, and suddenly longer commutes and family drives become acceptable again, completely negating any energy savings.
Here in Ontario the power grid's supply barely exceeds normal consumption: Decades of Not-In-My-Backyardism and cost cutting has the province importing power during peak loads. To reduce demand, reducing imports and staving off the building of expensive new power plants, the province has been offering rebates on energy star appliances, and direct rebates on things like LED Christmas lights. The latter makes for an interesting study: I suspect the super-efficient LED lights have many consumers bulking their Christmas display up with more lights, and then leaving them on longer. That is the rough conclusion of some small studies done on behalf of the utility, coming to the conclusion that the programs did nothing to reduce consumption. But it did help make for a more colourful Christmas display.
I don't pretend to know the answers, or to have all of the numbers to declare basic truths about energy consumption (other than "less overall is better than more overall"), but I do know enough to know that it's much more complex than the superficial, naive analysis commonly repeated.
Stuck in traffic a few days back, my idle mind wandered to the technical feasibility of pervasive, real-time traffic flow monitoring, and how this information could be communicated and utilized.
Such perfect, real-time information could help to redistribute the roadway load for the benefit of all (or, more realistically, let the suckers boil in the midday sun while the information insiders zip around congestion points), reducing transit times and energy use, and perhaps providing emergency services with optimized transport mapping, improving their efficacy.
Something had to be better than the sparse, time-lagged reporting of the radio station, or blindly rolling down an onramp, curious why a string of cars were dangerously reversing up the shoulder, to find the entire highway at a standstill, as I had that Friday afternoon.
There are quite a few implementation options apparent to a traffic layman like myself: Cameras with AI counting cars and estimating their speed. Underground (or overhead) magnetic sensors, or underground weight sensors. Laser relays for single lane roads.
The basic problem with such solutions, however, is that they tend to be expensive to install and maintain, and from that they tend to be infrequently deployed, at best spaced at distances that greatly reduce their utility (e.g. "between highway marker 70 and 112 there is some sort of disturbance"). Add to that the communications network required to relay these telemetrics.
Having worked in the telemetrics/remote monitoring industry before (in the late-90s), I was contemplating how cellular data technologies were just become feasible for such remote monitoring communications when the thought occurred to me: Most every cell phone now is constantly communicating digitally with its base station. Further, every cell phone can be either triangulated to a location, or more recently knows its precise position with the use of GPS. A tremendous percentage of cars on the road have at least one cell phone in them, the phone company (or anyone listening in on the conversation) capable of tracking location and speed, easily overlaying that over a mapping system to determine roadway flow.
Imagine an entire roadway system that overlaid the millions of cell phones moving around, easily visualization slow downs and congestion. It would be similar to the medical procedure where they inject radioactive particles into a patient's blood system, determining flow throughout the body by measuring their movement.
It turns out that I'm not the first to think of this. A quick Google search upon getting home made it apparent that there are several commercial products that do something similar. Nonetheless I thought it a fascinating example of passive data collection, deriving secondary advantages out of widely deployed technologies like cell phones.
One of my PCs is a bit of a Frankenstein, having gone through countless small upgrades over the years.
A video card here. Some memory modules there. A replacement primary harddrive here (thank you g4u). A supplementary hard drive there. Half a dozen different CD and then DVD and then Dual-Layer DVD burners.
Every now and then it'd see a larger upgrade that mandated a motherboard replacement alongside a new CPU. Often that would require new memory modules as well. Maybe even a new power supply as connection standards changed.
Motherboard replacements have always been the most disruptive, and it's been interesting to watch as each has negated the need for some add-in or other. First the USB+firewire board got punted, having been replaced by onboard functionality. Then the network card. Then the Soundblaster card. The only true add-in card usually needed nowadays is the video card, and I'm sure it's only a matter of time before the on-board video reaches a credible level of performance, eliminating even that.
I've pursued this piecemeal approach to upgrading primarily because it minimized the software disruption in my life, usually requiring just a quick module swap, some driver updates, and it's up and running again. I actually enjoy the modular, hybrid-PC pursuit, individually scoping out and replacing components with the best bang-per-dollar option available at the time. It's a bit of a hobby.
[Clearly I'm not alone: A local "Tiger Direct" store opened recently in my town, featuring a huge floorspace stocked with esoteric power supplies, mod cases, and other components for DIY builders. I'm surprized that the demand is still there, having thought that the self-builder was an endangered species]
I've been negligent, however. Over the past while this PC had seen little attention. Running on an extremely dated Athlon XP 1800+ (overclocked to equal a 2200+), with a "measly" 1GB of DDR1 RAM and a dated collection of complimentary components, it had fallen so far behind the times that it has dropped far off the current CPU charts. While it served its casual gaming task well (the video card is quite contemporary, and given that few games are constrained by the CPU, it held its own), and admirably provided the network storage for photos and videos, its anemic standings were a bit embarrassing. Sure, it didn't need to be decent given the various home and business laptops -- powerful, modern units that saw most of my computing activity -- but I felt like I was letting it down.
So following up the entry from a couple of weeks ago, I finally got around to ordering a new CPU and motherboard on Tuesday, ordering a retail boxed Intel Core 2 Quad Q6600 2.4Ghz processor from Direct Canada for the extraordinarily low price of $279.99 CAD. I'd been directed to their site from a search-engine yielded link to "Shopbot.ca", so I was a bit wary placing my order with this unfamiliar provider, but at 1pm the next day the box arrived at my door, amazingly delivered less than 24 hours after I ordered, coming from a shop 3000km away. I'm very satisfied with the price and speed. (I received no considerations for that comment, and know nothing about the shop beyond the fact that they sold me a killer piece of hardware at a great price, delivering it very quickly. Your mileage may vary.)
In the end I discovered that some new memory modules would be in order to fully yield the speed (going with 2GB to correlate with the oft claimed speed advantage that often flies in complete contradiction to actual memory usage metering). Oh, and a new case as it might make the whole process a little easier.
In the end, the only legacy pieces that made the migration to the "upgraded" box are the hard drives, and the video card.
Minutes later the full-retail copy of Windows was running the right drivers, and after a quick re-activation it was storming along.
I booted up.
In a word (and a punctuation) - Wow!
What a tremendous amount of computational power on the cheap. Day to day activity really feels no different than it did before -- browsing is the same fast browsing that it was before, and given that I don't try to use Excel as a warehousing database, Office seems the same as well. Battlefield 2 plays the same given that I have the same video card, albeit now with absolutely zero stutters or hiccups as other threads demanding timeslices are generally satisfied by one of the other cores.
For the things that actually keep me waiting -- encoding a home video from the MiniDV, or building firefox from CVS, as I do regularly -- the improvement is enormous. Not only are these operations massively sped up by the four cores available to them, better still I can configure them to only use one, two, or three threads of parallel executions (via the -j build option for Firefox, for instance), constraining them as a coarse fix for the deficiencies of the Windows scheduler. I can now run a full Firefox 3 build in just 12 minutes with full parallelism, or run it (or other demanding applications) with little or no impact in the usability and functionality of this PC for other tasks.
The build continued to speed up with more possible parallel operations, albeit with a decreased rate of return, with the fastest test build occuring in just over 12 minutes with the highest option tested: -j12. Having more parallel operations than cores can yield benefits when it increases the time utilization of a saturated resource, which in this case was the hard drive. At this point the cores were left twiddling their thumbs waiting for the storage to catch up.
Limiting the build process to two cores via the process CPU affinity had it CPU starved beyond -j2, yielding no benefit via more parallelism.
You can find a stacked graph detailing core processor usage for the above -j4 run (on 4 cores) at http://www.yafla.com/dforbes/images/Firefox_build_j4_4core.png. You can also look at a chart of building Firefox using the -j4 option, but setting the processor affinity to only allow the build access to two cores.
Not only is the build performance fantastic, but better still I can throttle it back to only run at most two parallel operations (-j2), getting a build in a still impressive 17 minutes while leaving two cores completely available for other tasks, like browsing the web with full responsiveness. I can even launch Battlefield 2, and remarkably it plays flawlessly...despite the fact that a full-scale, parallel build is going on in the background.
(Sidenote: Threads can still be left stalled, stranded waiting for a shared resource like the limited memory bandwidth and I/O paths, for instance. In the sample above my build was on a second harddrive -- a configuration that I recommend for all power users -- and clearly the other shared resources didn't impact the game to a perceivable degree)
What a revolution in computer usage. What a discount-priced computational powerhouse.
I recently opted to throw together my own blog software (after going through the standard Build or Buy analysis), expediting deployment as a means of forcing follow-thru. The goals of this micro-project were to improve the authoring and content management experience, to improve searchability of the content (without having to cast content out from the blog to a static form), and to improve the usability and navigation from the user's perspective (for instance the classic "date" navigator common on most blogs is something that I've opted to remove).
Despite having close to no time to allocate to this task, my tendency to over-engineer still showed through: The easiest option would have been a content-management system defined entirely in code (it's as easy for me to change and deploy code than it is to change templates and metadata), and of course to build it for a single author. Instead it supports many blogs through the same URLRedirector, blog aggregations (where a blog is a publication of a set of blogs, each with distinct authors) each using its own templates and configurations.
Which brings me to templates -- failing to find a decent Smarty-type templating system for .NET (basic ASPX is really a templating system, but I'm speaking more towards something that can enumerate sections, retrieving data based upon an object structure of relationships and containment).
So I had to build a basic templating system, yielding the templates that follow. The first for HTML output--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<title>{#blog.Title} {#docTitle}</title>
<link rel="stylesheet" type="text/css" media="screen, projection"
href="http://www.yafla.com/dforbes/style/css/blog.css"></link>
<script type="text/javascript" src="http://www.haloscan.com/load/dforbes"> </script>
</head>
<body>
<div class="clsHeader">
<div class="clsBlogHeader"><a href="{#blog.BaseUrl}">{#blog.Title}</a></div>
<div class="clsSubheader">{#blog.Description}</div>
</div>
<div class="clsBody">
{foreach $entry in $entries}
<div class="clsEntry">
<div class="clsDate">{#entry.EntryContent.PublishDateUTC|dddd, MMMM dd yyyy}</div>
<div class="clsTitle"><a href="{#entry.Permalink}">{#entry.EntryContent.EntryTitle}</a></div>
<div class="clsBody">{#entry.EntryContent.EntryContent}</div>
<div class="clsKeywords">{foreach $keyword in $entry.EntryKeywords}
<a href="{#blog.BaseUrl}{#keyword.KeywordText|escape}">{#keyword.KeywordText}</a> {/foreach}
</div>
<div class="clsPermalink">
<a href="javascript:HaloScan('{#entry.MappingId}');" target="_self">
<script type="text/javascript">postCount('{#entry.MappingId}'); </script></a>
<a href="{#entry.Permalink}">permalink</a>
</div>
{foreach $relatedentry in $entry.RelatedEntries}
{ifcond $LoopFirst = "True"}
<center>
<div class="clsRelatedEntries">
Related Entries
{/ifcond}
<div class="clsRelatedEntry">
<a href="{#relatedentry.Permalink}">{#relatedentry.EntryContent.EntryTitle}</a>
</div>
{ifcond $LoopLast = "True"}
</div>
</center>
{/ifcond}
{/foreach}
</div>
{/foreach}
<div class="clsAdBlock">
{#adBlockHorizontal}
</div>
<div class="clsNavigator">
<span class="clsNavigateEarlier">{#moveEarlier}</span><span class="clsNavigateLater">{#moveLater}
</span>
</div>
</div>
<br/>
<div class="clsAttribution">
<a href="mailto:{#entry.EntryContent.ContentAuthor.EmailAddress}">
{#entry.EntryContent.ContentAuthor.Name}
</a> -
{#entry.EntryContent.ContentAuthor.Description}
</div>
</body>
</html>
The next template is for RSS consumers--
<rss version="2.0">
<channel>
<title>{#blog.Title|escape}</title>
<link>{#blog.BaseUrl}</link>
<description>{#blog.Description|escape}</description>
<lastBuildDate>{#buildDate|r}</lastBuildDate>
<language>en-us</language>
{foreach $entry in $entries}
<item>
<title>{#entry.EntryContent.EntryTitle|escape}</title>
<link>{#entry.Permalink}</link>
<guid>{#entry.Permalink}</guid>
<pubDate>{#entry.EntryContent.PublishDateUTC|r}</pubDate>
<description><![CDATA[{#entry.EntryContent.EntryContent}]]></description>
</item>
{/foreach}
</channel>
</rss>
All in all, I think it works pretty good, and I can successfully run the W3C validations on the vast majority of generated pages and get the comforting green checkmark.
Some recent hardware upgrades left one of my PCs in a fragile state: While I had managed to avoid the time sucking irritation of an OS reinstall over generations of hardware changes, the latest hardware swaps -- or rather wholesale migrations -- pushed the crufty stack of refusing-to-vacate legacy drivers and confused minibuses over the edge.
It had become a fragile platform, with frequent crashes and unexplained behaviour.
Not surprising, given that the OS install had seen the platform go through a myriad of trasitions, including from a VIA chipset to an nforce chipset to a VIA chipset and then back to an nforce chipset; from nvidia to ATI to nvidia graphics.
Really it had dealt with change remarkably well, at least relative to the tradition of Windows being tightly bound to the installation hardware, with the slightest deviation demanding a reinstall.
Like many users, I'd been avoiding Vista. Actually that isn't entirely true: It wasn't that I was avoiding Vista, but rather that the benefits it offered just weren't compelling. Not compelling enough to reinstall a working system, or even to deal with the inevitable dev team just had to move stuff around to set their fingerprint search for traditional features.
When Flip 3D is a highlighted feature, you know that things can't be that great.
Nonetheless, given that a rebuild was in order anyways, and given that a professional in this field should generally ride the leading the edge of technology (though nothing like the days of old -- once upon a time we had to eagerly consume every Microsoft beta as a necessity for job security, whereas nowadays technologies like WPF are a complete and utter non-issue in the general tech industry), I figured I'd force myself to embrace Vista, warts and all.
I'd eat my industry's dog food.
To make things more interesting, I decided to go full bore and install the x64 version of Vista. I had a fully 64-bit capable processor, and despite only having 2GB of RAM (with two slots eagerly waiting to be populated), it would nonetheless allow me to start playing around with the extended x64 instructions and registers.
x64 is much, much more than just bigger pointers, so I wanted to play around with them in my favourite development environment (like many such transitions, it will take a few years before the benefits of x64 are fully realized, though in the .NET world the 64-bit runtime immediately takes advantage of the new features for platform neutral assemblies.)
The install and transition went very well. While I had to disable UAC quickly to make the experience marginally pleasant (I'd experienced Vista enough in dual-boots and virtual machines to quickly learn to despise this security "feature"), generally it just went well.
On the modern nforce4-based motherboard (featuring onboard sound and networking, all drivers installed by the single package of nvidia drivers), with a Q6600 quad-core processor and contemporary nvidia video card, everything simply worked after running a couple of driver packages. Even my dual-layer DVD burner just worked. All of the attached Canon printers, including the multifunction with faxing and scanning, auto-installed and immediately worked. Visual Studio 2005 worked great with the Vista patch, and while it's a 32-bit app it capably generates great 64-bit builds. Awesome!
Now I had IIS 7 to play around with, getting ready for the same in the server sphere. The integrated pipeline and web.config based configuration really is a wonderful step forward for the platform.
Several things didn't work. CameraWindow won't work with my Canon Digital Rebel XT, though by switching to PictBridge on the camera I found that Vista itself did a great job downloading and organizing the photos (and Windows Photo Gallery is a universe better than the terrible "Picture and Fax Viewer", not just for navigating and organizing photos, but moreso because the venerable XP viewer did a horrible job resizing photos for display at monitor resolutions, managing to make great shots look terrible). The bundled burning software that came with my DVD drive wouldn't install, but I was delighted to find that Vista actually had pretty decent burning capabilities built in, competently writing 9GB backups to my DL discs.
I hadn't really exploited the benefits of the 64-bit address space at this point, but then I booted up a copy of Battlefield 2 for some late night mental-diversion fragging.
Imagine my surprise when this game that ran very well on a vastly less powerful 1GB XP system now yielded frequent stutters while significant memory paging occurred. Despite having twice the RAM to draw from in the rebuilt machine (if you add in the system baseline, it really had about 2.7x as much RAM to draw from), somehow it was now hitting the ceiling on a machine that was almost completely dedicated to it.
So I grabbed 2GB more PC6400 DDR2 from a local retailer, plugged it in, and with 4GB everything is running pretty smoothly. Another $120 to upgrade the memory to have the same experience that I had with 1/4 the memory in XP.
Vista was hardly a surprise to me given that I'd been playing with it in various forms since the Longhorn days, and the technical feature list is entirely underwhelming compared to the early vaporware promises, however it isn't the travesty many are making it out to be. While it definitely needs work, it isn't going anywhere, and Microsoft isn't going to rollback to XP.
If you have modern, supported hardware, Vista x64 is a solid choice.