<?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>A Modest Construct &#187; Windows</title>
	<atom:link href="http://heliologue.com/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://heliologue.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 17:18:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Desktop Linux revisited</title>
		<link>http://heliologue.com/2008/06/20/desktop-linux-revisited/</link>
		<comments>http://heliologue.com/2008/06/20/desktop-linux-revisited/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 21:15:49 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2078</guid>
		<description><![CDATA[About 2 years ago I wrote a piece called Five things that Desktop Linux really needs, attempting to air out my five biggest grievances with Desktop Linux. If you follow FOSS news, every year is heralded as &#8220;The Year of the Linux Desktop,&#8221; although such a thing clearly hasn&#8217;t happened yet. Now, two years later, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/img/tech/tux.png" alt="Tux" class="right" /></p>
<p>About 2 years ago I wrote a piece called <a href="http://heliologue.com/2006/08/03/five-things-that-desktop-linux-really-needs/">Five things that Desktop Linux really needs</a>, attempting to air out my five biggest grievances with Desktop Linux.  If you follow FOSS news, every year is heralded as &#8220;The Year of the Linux Desktop,&#8221; although such a thing clearly hasn&#8217;t happened yet.  Now, two years later, I thought it would be interesting to revisit those five problems and see what kind of progress has been made in two years.</p>
<p><span id="more-2078"></span></p>
<h3>Linux needs a good CD ripper</h3>
<p>When I last wrote, the favorite CD ripper for the GNOME environment was <a href="http://nostatic.org/grip/">grip</a>, which had the benefit of being extremely customizable, even if its ripping was plain-Jane <code>cdparanoia</code>.  Grip is still used, I imagine, but the default ripper with the GNOME desktop is Sound Juicer, which is a gstreamer-based ripper/encoder that abstracts everything quite heavily and gives damn few options.</p>
<p>The good news is that the semi-abandoned <code>cdparanoia</code> project at least saw a maintenance release that fixed some bugs;  the bad news is that the promised further revisions have failed to materialize, meaning that there&#8217;s still no compelling cd ripper available for Linux.  The Exact Audio Copys and the dBpoweramps remain Windows-only tools.</p>
<p><a href="/img/albums/Software/rubyripper.png" title="A screenshot of RubyRipper" rel="lightbox"><img src="/img/albums/Software/rubyripper_thumb.png" alt="A screenshot of RubyRipper" class="right" /></a></p>
<p>Also in these past two years, however, a new ripper has emerged:  RubyRipper, a Ruby/GTK2 program that tries to emulate EAC&#8217;s approach to ripping;  that is, it reads segments multiple times and compares them using Ruby&#8217;s checksum matcher.  While there are some audiophiles at <a href="http://hydrogenaudio.org">HydrogenAudio</a> who insist that this isn&#8217;t a perfect approach to ripping (of course it isn&#8217;t), it&#8217;s still far more than any of the desktop-standard rippers can come up with.  Ideally, it will eventually feature AccurateRip support, though this is tentative.</p>
<p>So, I&#8217;m happy to report that <em>some</em> progress has been made in this area, though Linux is still a second-class citizen when it comes to CD ripping.</p>
<h3>Linux needs good and consistent font rendering</h3>
<p>You wouldn&#8217;t think it, compared to issues like multimedia codecs, but font rendering is awash in legal issues.  Be it Apple&#8217;s patent for BCI (byte code interpreter) or Microsoft&#8217;s patent on TrueType (both of which are legally dubious), it&#8217;s legal threats and not technical problems that keep the default font smoother for most distros from producing nice, clean, antialiased fonts.  The code already exists in the upstream source code for TrueType, but it&#8217;s disabled by default.  Ubuntu finally made the decision to enable it by default in their distribution, for which I applaud them.  Packages exist for many other distributions, which is still a damn sight better than the typical &#8220;compile it yourself&#8221; response, which always strikes me as utterly absurd.</p>
<p>In my previous post, I highlighted the discrepancy between various <em>types</em> of programs in Linux when it comes to font rendering.  I can say without hesitation that the situation has improved since then, though I&#8217;m not entirely sure where the responsibility for the fixes lie.</p>
<p><a href="/img/albums/Software/font_rendering.png" title="Font rendering in Ubuntu Linux 8.04" rel="lightbox"><img src="/img/albums/Software/font_rendering_thumb.png" alt="Font rendering in Ubuntu Linux 8.04" class="center" /></a></p>
<p>What you see is my blog in Firefox 3.0, some source code in Netbeans 6.1, and the template picker in OpenOffice 2.4.  Notice that the font rendering is pretty similar in all three of them.  I can tell you that Netbeans looks that good because I&#8217;m running it with the Java 6 JDK, which finally added decent font antialiasing.  Running it with Java 5 produces some pretty obnoxious font quality.  As to OpenOffice, they either fixed font rendering on their end, or else OpenOffice benefits from the larger system font smoothing included in Ubuntu.</p>
<h3>Linux needs better inter-distro compatibility and less dependence on repositories</h3>
<p>My choice of Linux is Ubuntu;  this decision is spurred largely by some &aelig;sthetic choices, and the truly orgasmic package management system.  If it were not for this, I might very well be running OpenSUSE, which has greatly improved its package management with v11.0.  One of OpenSUSE&#8217;s more compelling features is that they&#8217;re more willing (and the community is more willing) to add new software to the repositories.  It&#8217;s significantly easier for me to get the latest and greatest software for openSUSE, often by dint of either Pacman&#8217;s wonderful repository or the openSUSE build service, which Ubuntu has responded to with the Personal Package Archive (read: build service).</p>
<p>The one benefit of the Ubuntu&#8217;s approach is that packages <em>tend</em> to play nicely with each other, whereas with openSUSE and <em>it&#8217;s</em> build service, there are sometimes overlapping dependencies.</p>
<p>But there are still a bunch of different package types and packages managers;  even among package types, there are incompatible versions.  And because of the shared nature of Linux libraries, each distribution&#8217;s release will likely have a narrow slice of software versions that will work for that particular library.  Say what you will about the Windows approach, but when I install the latest FileZilla on Windows, I don&#8217;t get bitched at by my system for needing newer wxWidgets libraries (and therefore necessitating that I either compile my own version or wait 6 month until somebody does it for me).  Similarly, installing new graphics drivers doesn&#8217;t mean I have to also set up the latest kernel headers and reconfiguring my display configuration file so that it doesn&#8217;t fail spectacularly when I reboot.</p>
<p>Initiatives like LSB, FreeDesktop, and PackageKit have made bold steps to make Linux play well with itself.  But there&#8217;s no middle ground with Linux:  you either let distributions do all the work for you, and limit yourself to the particular software, and the particular versions, that they feel like offering you, <em>or</em> you can do everything yourself, compiling and installing your software manually.</p>
<h3>Linux needs better multimedia</h3>
<p>OK, multimedia on Linux still sucks, and it still sucks hard.  Even providing that you&#8217;ve enabled extra (legally dubious) repositories for your installation and downloaded all of the plugins and codecs that are available to you (after, of course, you&#8217;ve decided to use either GStreamer or Xine as a video engine), you still have the unfortunate issues of video in Linux being slower and of an inferior quality to video on Windows.  Is there a reason that rendering with Totem-GStreamer is blocky and awful, and rendering with The KMPlayer is picture-perfect?  Even <code>xine</code> is far from perfect.  </p>
<p>Then there&#8217;s the age-old problem of the X server and the graphics stack on Linux being shit to begin with.  Compiz is great, and I&#8217;ve spent a fair amount of time watching my windows wobble and painting fire on my screen, but is there a reason that emulators perform so much worse in Linux?  Is there a reason that I can&#8217;t switch tabs in Firefox with a several-second delay before the page contents are written to the screen?  Is there a reason that the X server breaks at the slightest provocation?  Is there a reason that the graphics stack offers so little to developers when compared to DirectX on Windows?  Is there a reason that all the good-looking audio players on Linux can&#8217;t offer me anywhere near the same functionality that foobar2000 does on Windows?  </p>
<p>I see individual programs making great progress, but there are fundamental flaws in the Linux approach to multimedia that aren&#8217;t going to be solved no matter how many widgets we give our apps.  Multimedia on Linux still has a long way to go.</p>
<h3>Linux needs disk image mounters</h3>
<p>I&#8217;m pleased to report that since I last talked about this issue, there have been a couple of programs written to provide just this functionality.  Programs like Daemon Tools or Alcohol 52% on Windows provide a way to mount virtual copies of CD or DVD images, allowing the computer to interact with them as though they were physical discs sitting in the drive.</p>
<p>On Gnome, there&#8217;s the <a href="http://www.marcus-furius.com/?page_id=14">Furius ISO Mount</a>;  on KDE, there&#8217;s <a href="http://www.acetoneiso.netsons.org/">AcetoneISO</a>, which is also gaining burning support <i>a la</i> Alcohol 120%.  Both of these programs function pretty much exactly how you would expect them to.  Of the five issues I highlighted last time, this appears to be the most completely resolved;  unfortunately, it was also the least important of the issues, and has gotten even less important to me personally since my previous writeup.</p>
<h3>Conclusion</h3>
<p>My biggest problem is that although the open source community continues to produce extremely compelling software, it suffers from the same fundamental flaws it did years ago:  its X server and graphics layer are slow and difficult to work with, which is why you&#8217;ll find much better software emulators, games, and video playback on Windows than you will on Linux;  its distro-centric repositories are both a boon to the end-user and a version lock-in that eliminates the &#8220;Go to the vendor site and download an .exe&#8221; ease of Windows.  Linux is still a &#8220;Do It Yourself&#8221; operating system, meaning that despite all of the work being done, there&#8217;s not necessarily a complete and versatile environment for developers to program against.  Certainly, there isn&#8217;t a <em>consistent</em> environment, and things are constantly changing in the world of Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/06/20/desktop-linux-revisited/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Windows XP SP3</title>
		<link>http://heliologue.com/2008/04/29/windows-xp-sp3/</link>
		<comments>http://heliologue.com/2008/04/29/windows-xp-sp3/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 01:51:57 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2050</guid>
		<description><![CDATA[Eh. It&#8217;s good, I suppose, and I&#8217;m sure its much-vaunted performance is there, but this is very much a service pack dealing with O/S guts, and not a massive feature pack a la SP2. I can&#8217;t immediately tell any difference. In other news, Hardy Heron is released! And its software is already out of date.]]></description>
			<content:encoded><![CDATA[<p><img src="/img/albums/Software/xpsp3.png" alt="Windows XP SP3" class="center" /></p>
<p>Eh.  It&#8217;s good, I suppose, and I&#8217;m sure its much-vaunted performance is there, but this is very much a service pack dealing with O/S guts, and not a massive feature pack <i>a la</i> SP2.  I can&#8217;t immediately tell any difference.</p>
<p>In other news, Hardy Heron is released!  And its software is already out of date.  </p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/04/29/windows-xp-sp3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fatuous criticisms of Linux</title>
		<link>http://heliologue.com/2008/04/04/fatuous-criticisms-of-linux/</link>
		<comments>http://heliologue.com/2008/04/04/fatuous-criticisms-of-linux/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 20:27:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2031</guid>
		<description><![CDATA[I love Jeff Atwood&#8217;s blog, and can even accept that he&#8217;s drank of the Microsoft Kool-Aid seemingly for both desktop and server because he&#8217;s a great writer and a great programmer. But I admit to being troubled by his recent post. I might think it to be an April Fool&#8217;s Day joke, except the post [...]]]></description>
			<content:encoded><![CDATA[<p>I love Jeff Atwood&#8217;s blog, and can even accept that he&#8217;s drank of the Microsoft Kool-Aid seemingly for both desktop and server because he&#8217;s a great writer and a great programmer.</p>
<p>But I admit to being troubled by his recent post.  I might think it to be an April Fool&#8217;s Day joke, except the post is dated 31 March 2008. After quoting a couple of Linux upgrade horror stories from a software-engineer-turned-club-owner, he concludes:</p>
<blockquote cite="http://www.codinghorror.com/blog/archives/001089.html" title="Coding Horror &sect; Let That Be a Lesson To You, Son: Never Upgrade.">
<p>I can&#8217;t fault Jamie&#8217;s approach. A clean install of an operating system on a new hard drive &#8212; for kiosks running controlled hardware, no less &#8212; that&#8217;s as good as it gets.</p>
<p>Apparently, <strong>Linux is so complex that even a world class software engineer can&#8217;t always get it to work.</strong></p>
<p>I find it highly disturbing that a software engineer of Jamie&#8217;s caliber would give up on upgrading software. Jamie lives and breathes Linux. It is his platform of choice. If he throws in the towel on Linux upgrades, then what possible hope do us mere mortals have? </p>
</blockquote>
<p><span id="more-2031"></span></p>
<p>I see a couple of mistaken assumptions here.  The first is that kiosks are a simple platform for Linux to work on.  In fact, I have no <em>idea</em> what hardware is in these kiosks, and have no idea if there are proprietary hardware bits in them that aren&#8217;t supported well in Linux.  The second poor assumption is that the only necessary step here is simply installing the new O/S.  In fact, the engineer does a <em>lot</em> of custom configuration to his kiosks, and it may be <em>that</em> which is causing the crashiness;  or, it could be bad hardware.  I simply don&#8217;t have enough information to know.  </p>
<p>Atwood places the blame squarely on Linux&#8217;s &#8220;complexity.&#8221;  If Linux was that awful, or if Windows was that great, why hasn&#8217;t Jamie simply gotten the kiosks to run Windows?  I don&#8217;t know for sure, but I&#8217;m guessing they might be just as crashy.  And certainly more expensive.</p>
<p>Finally, as many commenters on Atwood&#8217;s entry have pointed out, a good software engineer != a good sysadmin.  And using Fedora Core is not a good path to stability.  And more importantly, that <strong>anecdotes from one guy, however smart, do not a comprehensive criticism make.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/04/04/fatuous-criticisms-of-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenOffice 2.4.0</title>
		<link>http://heliologue.com/2008/03/25/openoffice-240/</link>
		<comments>http://heliologue.com/2008/03/25/openoffice-240/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 19:13:58 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[aside]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/?p=2022</guid>
		<description><![CDATA[After a number of delays, OpenOffice 2.4.0 has been officially released. Get it here. Check the mirrors for your own OS and localization. OpenOffice 2.4.0 has not quite been released yet. Some major new features include OpenGL transitions for Impress, some major charting improvements for Calc, and block selection for Writer.]]></description>
			<content:encoded><![CDATA[<p><img src="/img/tech/openoffice_tango.png" alt="OpenOffice.org" class="right" /></p>
<p><ins datetime="2008-03-27T13:24:09+00:00">After a number of delays, OpenOffice 2.4.0 has been officially released.  Get it <a href="http://download.openoffice.org/">here</a>.  Check the mirrors for your own OS and localization.</ins>  <del datetime="2008-03-27T13:24:09+00:00">OpenOffice 2.4.0 has not <em>quite</em> been released yet. </del> Some major new features include <a href="http://www.oooninja.com/2008/02/eye-candy-3d-opengl-transitions-impress.html">OpenGL transitions</a> for Impress, some major <a href="http://wiki.services.openoffice.org/wiki/Chart2/Features2.4">charting</a> improvements for Calc, and <a href="http://www.oooninja.com/2007/12/block-selection-mode-new-feature.html">block selection</a> for Writer.  </p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/03/25/openoffice-240/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Size curves for office file formats</title>
		<link>http://heliologue.com/2008/02/15/size-curves-for-office-file-formats/</link>
		<comments>http://heliologue.com/2008/02/15/size-curves-for-office-file-formats/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 20:19:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/2008/02/15/size-curves-for-office-file-formats/</guid>
		<description><![CDATA[Just a few days ago, I compared the relative sizes of Microsoft&#8217;s Office Open XML (OOXML) and OASIS&#8217;s OpenDocument format (ODF). I noticed that while OOXML was smaller for smaller amounts of text, ODF was smaller for larger documents. I was curious as to the turning point for this curve, which I hypothesize has to [...]]]></description>
			<content:encoded><![CDATA[<p>Just a few days ago, I compared the relative sizes of Microsoft&#8217;s Office Open XML (OOXML) and OASIS&#8217;s OpenDocument format (ODF).  I noticed that while OOXML was smaller for smaller amounts of text, ODF was smaller for larger documents.  I was curious as to the turning point for this curve, which I hypothesize has to do with the complexity of OOXML&#8217;s markup.</p>
<p>I ran a brief test using <a href="http://lipsum.com">generated</a> Lorem Ipsum text in approximate amounts (the leftmost column), and recorded its size (in <strong>bytes</strong>) when pasted into Notepad, and then as OpenDocument Text (OpenOffice.org 2.3.1), and then as OOXML (Office 2007 SP1). </p>
<p>After the data table is a graphical representation of the results.  It&#8217;s clear that ODF slips below OOXML somewhere between 300Kb and 400Kb of raw textual data.</p>
<table class="sortable rowstyle-even">
<caption>Comparison of file format sizes</caption>
<thead>
<tr>
<th class="sortable-numeric" scope="col">Size</th>
<th class="sortable-numeric" scope="col">Text</th>
<th class="sortable-numeric" scope="col">OOXML</th>
<th class="sortable-numeric" scope="col">ODF</th>
</tr>
</thead>
<tbody>
<tr>
<td>5k</th>
<td>5030</td>
<td>12209</td>
<td>29408</td>
</tr>
<tr>
<td>25k</th>
<td>25158</td>
<td>14173</td>
<td>29715</td>
</tr>
<tr>
<td>50k</th>
<td>50318</td>
<td>15116</td>
<td>30039</td>
</tr>
<tr>
<td>100k</th>
<td>100638</td>
<td>18020</td>
<td>30616</td>
</tr>
<tr>
<td>200k</th>
<td>201276</td>
<td>24901</td>
<td>31670</td>
</tr>
<tr>
<td>300k</th>
<td>301918</td>
<td>31238</td>
<td>32676</td>
</tr>
<tr>
<td>400k</th>
<td>402558</td>
<td>37594</td>
<td>33634</td>
</tr>
<tr>
<td>800k</th>
<td>805118</td>
<td>61805</td>
<td>37418</td>
</tr>
<tr>
<td>1600k</th>
<td>1610238</td>
<td>110468</td>
<td>44881</td>
</tr>
</tbody>
</table>
<p><a href="/img/albums/Software/filesizes_chart.png" class="center" rel="lightbox" title="Size curves for office file formats"><img src="/img/albums/Software/filesizes_chart_thumb.png" alt="file sizes" /></p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/02/15/size-curves-for-office-file-formats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common compression and corpuses</title>
		<link>http://heliologue.com/2008/01/19/common-compression-and-corpuses/</link>
		<comments>http://heliologue.com/2008/01/19/common-compression-and-corpuses/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 04:43:21 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/blog/2008/01/19/common-compression-and-corpuses/</guid>
		<description><![CDATA[Every so often, I dink around with benchmarking common lossless compressors. One of the best sites for it is, I think, Werner Bergman&#8217;s Maximum Compression, which is a rather comprehensive running benchmark of just about every lossless compression benchmark under the sun. Really, there&#8217;s a lot. What you have to understand about the world of [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often, I dink around with benchmarking common lossless compressors.  One of the best sites for it is, I think, Werner Bergman&#8217;s <a href="http://www.maximumcompression.com/">Maximum Compression</a>, which is a rather comprehensive running benchmark of just about every lossless compression benchmark under the sun.  Really, there&#8217;s a <em>lot</em>.  What you have to understand about the world of compressors is that they are very often academic projects or toys that very smart people play with in their free time.  There are also companies (but not many) who invest in their own proprietary algorithms for lossless compression.</p>
<p>Here&#8217;s the catch, though:  the quality of a compressor isn&#8217;t measured by its final compression ratio.  The <a href="http://en.wikipedia.org/wiki/PAQ">PAQ</a> series of a compressors, for instance, offer great compression and really, truly awful compression times.  The time goes with the highest compression levels of WinRK (a proprietary Win32 format with an accompanying GUI).  But disk is cheap:  nobody <em>really</em> cares about a fraction of a percentage of compression efficiency, do they?  What people really want is for their (inevitable) <a href="http://heliologue.com/free-software/archivers-and-compressors/">archiving GUI</a> to take less time doing what it does.</p>
<p>In this spirit, I have compiled not so much an exhaustive less of possible compression algorithms (I&#8217;ll leave that to Werner, who is very good at what he does), but rather a short list of the most common formats, tested on three different (relatively well-known) corpuses:  the <a href="http://en.wikipedia.org/wiki/Calgary_Corpus">Calgary Corpus</a>, the newer <a href="http://en.wikipedia.org/wiki/Canterbury_Corpus">Canterbury Corpus</a>, and Andrew Tridgell&#8217;s 1999 <a href="http://samba.org/ftp/tridge/large-corpus/">Large Corpus</a>.  The first of these two are corpuses used to test the very kind of academic project which I&#8217;ve avoided.  I dislike using them because they are small in size, which means that there is significantly less opportunity for variations in compression formats to manifest themselves.  In the interest of verifiability, however, I have used them.  I also included Andrew Tridgell&#8217;s large corpus because it&#8217;s been my experience that small test corpuses tend to vary too much too to disk I/O latency and other vagaries of compression algorithms.</p>
<p>What will follow is a data table for each corpus, followed by some brief observations about each.</p>
<p><span id="more-1954"></span></p>
<p>First, a note about the test environment:</p>
<ul>
<li>Windows Vista x64</li>
<li>Intel Q6600 Quad-Core</li>
<li>4GB Corsair PC2 6400</li>
<li>Western Digital Caviar WD1600YS SATAII, 160GB (system drive)</li>
<li><strong>Timer</strong>: Igor Pavlov&#8217;s <a href="http://www.7-zip.org/dl/utils/timer301.zip">timer.exe</a> (times reported are &#8220;Process&#8221; times).</li>
</ul>
<p>Next, a note about compressor versions</p>
<table class="sortable rowstyle-even" summary="Compressors and versions">
<caption>
Compressor versions used<br />
</caption>
<thead>
<tr>
<th class="sortable-text">Compressor</th>
<th class="sortable-numeric">Version</th>
<th>Source</th>
</tr>
</thead>
<tbody>
<tr>
<td>
tar
</td>
<td>
1.13
</td>
<td>
<a href="http://gnuwin32.sf.net">GnuWin32</a>
</td>
</tr>
<tr>
<td>
gzip
</td>
<td>
1.3.12
</td>
<td>
<a href="http://gnuwin32.sf.net">GnuWin32</a>
</td>
</tr>
<tr>
<td>
tar
</td>
<td>
1.0.4
</td>
<td>
<a href="http://gnuwin32.sf.net">GnuWin32</a>
</td>
</tr>
<tr>
<td>
zip/unzip
</td>
<td>
2.32/5.52
</td>
<td>
<a href="http://gnuwin32.sf.net">GnuWin32</a>
</td>
</tr>
<tr>
<td>
7z (32-bit)
</td>
<td>
4.57
</td>
<td>
<a href="7-zip.org">7-Zip</a>
</td>
</tr>
<tr>
<td>
rar
</td>
<td>
3.71
</td>
<td>
<a href="http://rarlabs.com">RarLabs</a>
</td>
</tr>
</tbody>
</table>
<p>Now on to the benchmarks&#8230;</p>
<table class="sortable rowstyle-even" id="calgary-corpus">
<caption>
                Calgary Corpus<br />
            </caption>
<thead>
<tr>
<th class="sortable-text" scope="col">
                        Codec
                    </th>
<th class="sortable-text" scope="col">
                        Setting
                    </th>
<th class="sortable-numeric" scope="col">
                        Enc. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Dec. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Size (b)
                    </th>
<th class="sortable-numeric" scope="col">
                        Ratio
                    </th>
</tr>
</thead>
<tbody>
<tr>
<td>
                        tar
                    </td>
<td>
                    </td>
<td>
                        0.000
                    </td>
<td>
                        0.000
                    </td>
<td>
                        3,265,536
                    </td>
<td>
                        1.000
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        fast
                    </td>
<td>
                        0.171
                    </td>
<td>
                        0.062
                    </td>
<td>
                        1,244,763
                    </td>
<td>
                        0.381
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                    </td>
<td>
                        0.312
                    </td>
<td>
                        0.093
                    </td>
<td>
                        1,070,276
                    </td>
<td>
                        0.328
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        best
                    </td>
<td>
                        0.561
                    </td>
<td>
                        0.062
                    </td>
<td>
                        1,062,584
                    </td>
<td>
                        0.325
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        fast
                    </td>
<td>
                        0.499
                    </td>
<td>
                        0.218
                    </td>
<td>
                        961,633
                    </td>
<td>
                        0.294
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                    </td>
<td>
                        0.514
                    </td>
<td>
                        0.202
                    </td>
<td>
                        891,321
                    </td>
<td>
                        0.273
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        best
                    </td>
<td>
                        0.483
                    </td>
<td>
                        0.218
                    </td>
<td>
                        891,321
                    </td>
<td>
                        0.273
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -1
                    </td>
<td>
                        0.187
                    </td>
<td>
                        0.078
                    </td>
<td>
                        1,244,985
                    </td>
<td>
                        0.381
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                    </td>
<td>
                        0.358
                    </td>
<td>
                        0.078
                    </td>
<td>
                        1,070,495
                    </td>
<td>
                        0.328
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -9
                    </td>
<td>
                        0.516
                    </td>
<td>
                        0.046
                    </td>
<td>
                        1,062,803
                    </td>
<td>
                        0.325
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        1
                    </td>
<td>
                        0.436
                    </td>
<td>
                        0.171
                    </td>
<td>
                        962,460
                    </td>
<td>
                        0.295
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        6
                    </td>
<td>
                        1.996
                    </td>
<td>
                        0.140
                    </td>
<td>
                        856,273
                    </td>
<td>
                        0.262
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        9
                    </td>
<td>
                        2.152
                    </td>
<td>
                        0.140
                    </td>
<td>
                        853,686
                    </td>
<td>
                        0.261
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m1
                    </td>
<td>
                        0.265
                    </td>
<td>
                        0.140
                    </td>
<td>
                        1,167,991
                    </td>
<td>
                        0.358
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m3
                    </td>
<td>
                        1.950
                    </td>
<td>
                        0.140
                    </td>
<td>
                        935,499
                    </td>
<td>
                        0.286
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m5
                    </td>
<td>
                        1.762
                    </td>
<td>
                        0.891
                    </td>
<td>
                        788,671
                    </td>
<td>
                        0.242
                    </td>
</tr>
</tbody>
</table>
<p>The Calgary Corpus dates back to the late 80s.  It&#8217;s become <em>the</em> test to perform, but it may or may not adequately represent the standard compressor workload in 2008.  You&#8217;ll notice that Winrar&#8217;s maximum setting produces the smallest archive, and more quickly than the neighboring 7-zip runs.  Notice, too, that among the lowest values, there tends to be a sort of &#8220;bottoming-out&#8221; point at which the speed of the compressor&#8217;s process in CPU is limited by the speed of the disk.</p>
<table class="sortable rowstyle-even" id="canterbury-corpus">
<caption>
                Canterbury Corpus<br />
            </caption>
<thead>
<tr>
<th class="sortable-text" scope="col">
                        Codec
                    </th>
<th class="sortable-text" scope="col">
                        Setting
                    </th>
<th class="sortable-numeric" scope="col">
                        Enc. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Dec. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Size (b)
                    </th>
<th class="sortable-numeric" scope="col">
                        Ratio
                    </th>
</tr>
</thead>
<tbody>
<tr>
<td>
                        tar
                    </td>
<td>
                    </td>
<td>
                        0.000
                    </td>
<td>
                        0.000
                    </td>
<td>
                        2,821,120
                    </td>
<td>
                        1.000
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        fast
                    </td>
<td>
                        0.140
                    </td>
<td>
                        0.062
                    </td>
<td>
                        872,570
                    </td>
<td>
			0.309
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                    </td>
<td>
                        0.249
                    </td>
<td>
                        0.062
                    </td>
<td>
                        739,066
                    </td>
<td>
			0.262
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        best
                    </td>
<td>
                        1.138
                    </td>
<td>
                        0.062
                    </td>
<td>
                        736,223
                    </td>
<td>
			0.261
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        fast
                    </td>
<td>
                        0.390
                    </td>
<td>
                        0.156
                    </td>
<td>
                        584,964
                    </td>
<td>
			0.207
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                    </td>
<td>
                        0.514
                    </td>
<td>
                        0.171
                    </td>
<td>
                        570,856
                    </td>
<td>
			0.202
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        best
                    </td>
<td>
                        0.390
                    </td>
<td>
                        0.156
                    </td>
<td>
                        570,856
                    </td>
<td>
			0.202
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -1
                    </td>
<td>
                        0.140
                    </td>
<td>
                        0.078
                    </td>
<td>
                        872,795
                    </td>
<td>
			0.309
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                    </td>
<td>
                        0.343
                    </td>
<td>
                        0.062
                    </td>
<td>
                        739,286
                    </td>
<td>
			0.262
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -9
                    </td>
<td>
                        1.170
                    </td>
<td>
                        0.062
                    </td>
<td>
                        736,443
                    </td>
<td>
			0.261
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        1
                    </td>
<td>
                        0.280
                    </td>
<td>
                        0.930
                    </td>
<td>
                        569,953
                    </td>
<td>
			0.202
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        6
                    </td>
<td>
                        1.950
                    </td>
<td>
                        0.124
                    </td>
<td>
                        487,919
                    </td>
<td>
			0.172
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        9
                    </td>
<td>
                        2.199
                    </td>
<td>
                        0.124
                    </td>
<td>
                        485,391
                    </td>
<td>
			0.173
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m1
                    </td>
<td>
                        0.218
                    </td>
<td>
                        0.124
                    </td>
<td>
                        772,369
                    </td>
<td>
			0.274
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m3
                    </td>
<td>
                        1.232
                    </td>
<td>
                        0.093
                    </td>
<td>
                        515,831
                    </td>
<td>
			0.183
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m5
                    </td>
<td>
                        1.170
                    </td>
<td>
                        0.561
                    </td>
<td>
                        427,178
                    </td>
<td>
			0.151
                    </td>
</tr>
</tbody>
</table>
<p>I&#8217;m still not entirely able to figure out the Canterbury Corpus;  it&#8217;s ostensibly an &#8220;update&#8221; to the aging Calgary Corpus.  One would think that having been created more than a decade after it&#8217;s predecessor, and with the express purpose of more accurately representing the compressor workload of 2001, it would at least be <em>larger</em> (hard disks and file sizes <em>have</em> increased in size since 1989, believe it or not), but in fact it&#8217;s not, which was somewhat of a disappointment to me, as I saw entirely the same trends as with the previous corpus.  Is that an accurate determination of the algorithms in question?  Maybe not—read on.</p>
<table class="sortable rowstyle-even" id="tridge-large-corpus">
<caption>
                Large-Corpus<br />
            </caption>
<thead>
<tr>
<th class="sortable-text" scope="col">
                        Codec
                    </th>
<th class="sortable-text" scope="col">
                        Setting
                    </th>
<th class="sortable-numeric" scope="col">
                        Enc. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Dec. Speed (s)
                    </th>
<th class="sortable-numeric" scope="col">
                        Size (b)
                    </th>
<th class="sortable-numeric" scope="col">
                        Ratio
                    </th>
</tr>
</thead>
<tbody>
<tr>
<td>
                        tar
                    </td>
<td>
                    </td>
<td>
                        0.000
                    </td>
<td>
                        0.000
                    </td>
<td>
                        247,933,952
                    </td>
<td>
                        1.000
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        fast
                    </td>
<td>
                        7.347
                    </td>
<td>
                        2.698
                    </td>
<td>
                        65,782,177
                    </td>
<td>
			0.265
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                    </td>
<td>
                        13.072
                    </td>
<td>
                        3.151
                    </td>
<td>
                        53,870,968
                    </td>
<td>
			0.217
                    </td>
</tr>
<tr>
<td>
                        gzip
                    </td>
<td>
                        best
                    </td>
<td>
                        21.855
                    </td>
<td>
                        2.449
                    </td>
<td>
                        53,536,722
                    </td>
<td>
			0.216
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        fast
                    </td>
<td>
                        40.591
                    </td>
<td>
                        9.360
                    </td>
<td>
                        52,791,871
                    </td>
<td>
			0.213
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                    </td>
<td>
                        54.506
                    </td>
<td>
                        10.567
                    </td>
<td>
                        39,372,759
                    </td>
<td>
			0.159
                    </td>
</tr>
<tr>
<td>
                        bzip2
                    </td>
<td>
                        best
                    </td>
<td>
                        54.228
                    </td>
<td>
                        10.935
                    </td>
<td>
                        39,372,759
                    </td>
<td>
			0.159
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -1
                    </td>
<td>
                        6.349
                    </td>
<td>
                        2.208
                    </td>
<td>
                        65,782,411
                    </td>
<td>
			0.265
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                    </td>
<td>
                        12.682
                    </td>
<td>
                        2.527
                    </td>
<td>
                        53,871,197
                    </td>
<td>
			0.217
                    </td>
</tr>
<tr>
<td>
                        zip
                    </td>
<td>
                        -9
                    </td>
<td>
                        21.529
                    </td>
<td>
                        2.433
                    </td>
<td>
                        53,536,951
                    </td>
<td>
			0.216
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        1
                    </td>
<td>
                        19.578
                    </td>
<td>
                        6.608
                    </td>
<td>
                        47,343,400
                    </td>
<td>
			0.191
                    </td>
</tr>
<tr>
<td>
                        7z
                    </th>
<td>
                        6
                    </td>
<td>
                        128.645
                    </td>
<td>
                        4.035
                    </td>
<td>
                        26,373,931
                    </td>
<td>
			0.106
                    </td>
</tr>
<tr>
<td>
                        7z
                    </td>
<td>
                        9
                    </td>
<td>
                        172.677
                    </td>
<td>
                        3.712
                    </td>
<td>
                        24,722,887
                    </td>
<td>
			0.100
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m1
                    </td>
<td>
                        9.016
                    </td>
<td>
                        4.446
                    </td>
<td>
                        48,939,730
                    </td>
<td>
			0.197
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m3
                    </td>
<td>
                        125.128
                    </td>
<td>
                        3.868
                    </td>
<td>
                        31,916,951
                    </td>
<td>
			0.129
                    </td>
</tr>
<tr>
<td>
                        rar
                    </td>
<td>
                        m5
                    </td>
<td>
                        138.435
                    </td>
<td>
                        23.852
                    </td>
<td>
                        29,200,310
                    </td>
<td>
			0.118
                    </td>
</tr>
</tbody>
</table>
<p>Mostly interestingly in the Tridgell&#8217;s &#8220;large-corpus,&#8221; we finally see 7-Zip spring ahead of WinRAR in terms of pure compression ratio (and in speed, too, in some cases).  I&#8217;m not an expert on compression, so I can&#8217;t tell you why certain efficiencies only manifest themselves over large datasets, but clearly 7-Zip wins in more modern cases where large data-sets (mostly text, if Tridgell&#8217;s description is accurate) are present.  </p>
<p>Clearly, the LZMA algorithm (the heart of 7-Zip) is something to be proud of;  not only is it GPL, but it often outperform the popular WinRAR in both pure compression and in efficiency as well.  I&#8217;m a little surprised that the 7-Zip  *nix port, p7zip, hasn&#8217;t gained more traction in Linux, but I suppose that old ways die hard.  The cheapness of disk and bandwidth nowadays rather point to more transparent compression as the ideal rather than whatever archiving format has the best compression in terms of purely numeric results.</p>
<p>For those of you looking for a decent free arching program, check <a href="http://7-zip.org">7-Zip</a> out;  for those of you who lust after data tables of compression benchmarks, give <a href="http://maximumcompression.com">Werner&#8217;s</a> a look:  it&#8217;ll satiate your desire for tabular results in ways you never thought possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2008/01/19/common-compression-and-corpuses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech punditry is hit or miss</title>
		<link>http://heliologue.com/2007/11/29/tech-punditry-is-hit-or-miss/</link>
		<comments>http://heliologue.com/2007/11/29/tech-punditry-is-hit-or-miss/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 18:01:39 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/blog/2007/11/29/tech-punditry-is-hit-or-miss/</guid>
		<description><![CDATA[In Don Reisinger&#8217;s case, it&#8217;s miss. I&#8217;m struck by the inanity of his recent article about Vista, even though I might agree with it in theory. But I digress. Although Windows XP running Service Pack 3 is almost twice as fast as Windows Vista running SP1 and major hardware manufacturers are still selling XP machines [...]]]></description>
			<content:encoded><![CDATA[<p>In Don Reisinger&#8217;s case, it&#8217;s miss.  I&#8217;m struck by the inanity of his recent article about Vista, even though I might agree with it in theory.</p>
<blockquote title="Don Reisinger • Vista won't be abandoned so here's how to fix it" cite="http://blogs.cnet.com/8301-13506_1-9824752-17.html">
<p>But I digress.  Although <a href="http://www.news.com/Windows-XP-outshines-Vista-in-benchmarking-test/2100-1016_3-6220201.html?tag=nefd.pulse">Windows XP running Service Pack 3 is almost twice as fast as Windows Vista running SP1</a> and major hardware manufacturers are still selling XP machines out of desire for once, Microsoft wants to hold on to Vista regardless of where it takes the company.  Will it force the company into a tailspin?  I think it already has.  Will it get worse?  Possibly.  But if Microsoft heeds my warnings and follows some of the tips I will outline below, Windows Vista may not be the utter failure I think it will be if nothing changes.</p>
</blockquote>
<p>Of course Microsoft is going to hang onto Vista.  Does he really think they&#8217;re going to just <em>drop</em> the product, say &#8220;Oh, sorry, guys, that one sucked.  Check back in three years, and we&#8217;ll try to have gotten it right&#8221;?  Here&#8217;s what no one seems to realize:  Microsoft doesn&#8217;t live on the quality of it&#8217;s operating system.  It lives on its entrenched market share and the breadth of software available for the platform.  Vista can be as bad as it wants, but most OEMs bundle it regardless;  those that don&#8217;t will probably do so in the next year.  Most software will work unmodified on Vista;  newer hardware generally has drivers available.  Vista won&#8217;t make or break Microsoft because most people are too lazy to bother switching.  They&#8217;ll upgrade when the time comes or someone else upgrades for them.  Eventually, Microsoft will force the issue, and that&#8217;ll be that.  Perhaps Microsoft&#8217;s 90% grip on the market will lose a couple of percentage points to Apple or Linux, but they&#8217;ll still rake in the dough from people buying Office 2007 (regardless of the Ribbon UI) and the same corporate shills buying bulk licenses of Vista.  It&#8217;s inevitable, and opining about a &#8220;tailspin&#8221; is both lazy and ridiculous.</p>
<p>But Don doesn&#8217;t leave it there.  He offers handy &#8220;tips&#8221; to Microsoft that they&#8217;ll ignore at their peril.</p>
<p><span id="more-1937"></span></p>
<blockquote title="Ibid." cite="http://blogs.cnet.com/8301-13506_1-9824752-17.html">
<p><strong>Tip 1: Go open source</strong></p>
<p>Yes, you read that correctly. As far as I can tell, the only real solution to fixing Windows&#8217; slew of issues is to go open source. Now, contrary to popular belief, open-source software does not mean free software, so Microsoft can continue to sell the OS on an open-source platform without sacrificing its bottom line.</p>
<p>What will this achieve, you ask? It&#8217;s quite simple really: an open-source Vista will allow any and all people to fix the code as they see fit and (for once) create a solid and secure Windows OS. Even better, it&#8217;ll put Apple on notice and help create a possible marketing campaign surrounding the fact that Leopard is the only major OS that doesn&#8217;t allow users to do what they want with a product they have purchased.</p>
</blockquote>
<p>Not a week goes by that some half-wit doesn&#8217;t talk about Windows going open source.  It&#8217;s not going to happen.  It will never happen, and at this point there is very little for Microsoft to gain by doing so.  </p>
<ol>
<li>
Microsoft licenses goodness-only-knows how many proprietary technologies and pays for patent indemnities for its OS.  None of that could be open-sourced, and would have to be stripped out before the source could be released.  You think that&#8217;s going to happen?
</li>
<li>
Vista contains millions of lines of code.  Even if every single bit of it were released under the GPL tomorrow, we wouldn&#8217;t see benefits for years while hackers tried to grok it.  There&#8217;s no guarantee that the smartest programmers would be interested anyway—maybe they still want to hack on Linux or BSD instead.  Remember that Windows hasn&#8217;t won on its technical merits, but on its market share and Microsoft&#8217;s deep pockets.
</li>
<li>
Open-source software does not mean free-as-in-beer software, no, but Microsoft&#8217;s still going to have no revenue from Windows if they do that.  Support&#8217;s a different thing, however.  But their bottom line <em>would</em> change, for the worse.  FOSS is a different business model, period.
</li>
<li>
Open source isn&#8217;t a silver bullet that&#8217;s magically going to fix all the problems in Windows.  Microsoft would still be the arbiter of the codebase, and we all know that trying to get patches accepted to projected headed by protective companies can be touch and go (at best).  Again, it would be <em>years</em> before this new Microsoft/Community relationship would be productive.
</li>
</ol>
<blockquote title="Ibid." cite="http://blogs.cnet.com/8301-13506_1-9824752-17.html">
<p><strong>Tip 2: Eliminate all of those versions and only sell Ultimate</strong></p>
<p>Do we really need a slew of Vista iterations? I certainly don&#8217;t think so. In this realm, Apple has it right: release one version of the software and maintain simplicity. Sure, people like you and me may know what the differences between Vista Home Basic and Vista Ultimate are, but can the same be said for Grandma Jane?</p>
</blockquote>
<p>You know why Microsoft sells so many versions of Windows?  It&#8217;s a way to maximize profit.  You and I might think it odious, but it&#8217;s basic economics:  &#8220;<a href="http://en.wikipedia.org/wiki/Market_segment#Price_discrimination">price discrimination</a>&#8221; extracts from customers the price they are willing to pay.  Thus, someone who is willing to spend $300 for Vista will buy Ultimate, and those only willing to spend $200 will buy Home Premium.  These are the exact same product, remember, bit-for-bit, with some thing simply disabled in the latter.</p>
<p>Again, it&#8217;s a rather sneaky and monopolistic thing to do, but most businesses do it.  It&#8217;s the market.  And while Microsoft may spend fractionally more time determining version, Vista for them is much easier since every version of Windows has the same bits.  Their overhead is greatly reduced as opposed to XP.  Thus, price discrimination makes perfect sense <em>for Microsoft</em>.</p>
<blockquote title="Ibid." cite="http://blogs.cnet.com/8301-13506_1-9824752-17.html">
<p><strong>Tip 4: Ditch Windows 7 and bring Windows online</strong></p>
<p>This industry is moving towards the online space. Period. And so far, most accounts out of Redmond have stated that the next version of Windows will improve on some of the issues with current iterations of the OS, but no mention has been made (or even rumors leaked) that Microsoft will create an online element for Windows.</p>
<p>And it&#8217;s for that reason that it should stop wasting its money on another desktop solution and use its endless supply of cash on something worthwhile&#8211;an online version of Windows. Can you imagine the surprise on the face of Steve Jobs if Microsoft hit the stage at CES in five years and said that Windows will be heading to the Internet? Even I would be excited to see <em>that</em>.</p>
</blockquote>
<p>I become enraged every time I hear someone talk about Windows becoming entirely &#8220;online&#8221;.  They seem to have forgotten what an operating system <em>is</em>;  namely, it&#8217;s an abstraction layer between the userspace and the hardware.  That&#8217;s it.  Widgets are something entirely different, and if Microsoft wants to make people use an online version of Solitaire, then they can go ahead and maybe Don will get all moist.</p>
<p>What would an &#8220;online&#8221; Windows even consist of?  I&#8217;ve seen so-called <a href="http://heliologue.com/2006/07/24/youos-a-screenshot-tour/">online operating systems</a> and failed to be impressed.</p>
<p>Here&#8217;s the thing:  network connectivity is all good and fine, but we don&#8217;t have the software infrastructure <em>or</em> the network infrastructure to offload everything to remote servers.  And nobody wants it.  As much as Don berates Vista for its poor performance, I&#8217;m surprised he thinks that thin clients have anything interesting to offer.</p>
<p>Maybe I&#8217;m a dinosaur, but I <em>like</em> having my programs installed locally.  They&#8217;re faster and more responsive and they&#8217;re under my control.  No one has yet to even speculate as to what an &#8220;online&#8221; Windows would even <em>be</em>, but it hasn&#8217;t stopped pundits like Don from sanctimoniously proclaiming that Microsoft will die unless it offloads Windows into the internet.  In the words of Dilbert:  &#8220;Goodbye paperless;  hello clueless.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2007/11/29/tech-punditry-is-hit-or-miss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Show Stopper!</title>
		<link>http://heliologue.com/2007/09/20/show-stopper/</link>
		<comments>http://heliologue.com/2007/09/20/show-stopper/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 17:59:18 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/blog/2007/09/20/show-stopper/</guid>
		<description><![CDATA[While perusing the (absolutely wonderful: you should be reading it every day) blog of Jeff Atwood, I came across his review of Show Stopper!, and was intrigued enough to check it out myself. I&#8217;m going to immediately confess my ignorance here: this heyday of Microsoft was long before I was ever interested in computers at [...]]]></description>
			<content:encoded><![CDATA[ <dl class="bookitem clearfix">  <dt><a class="right" href="http://heliologue.com/img/albums/books/showstopper.jpg" title="Show Stopper!" rel="lightbox[200746]">  <img src="http://heliologue.com/img/albums/books/showstopper_thumb.jpg" alt="Show Stopper!" /></a>  <cite>Show Stopper!</cite> <span class="book-author">by G. Pascal Zachary</span></dt>  <dd><strong>Publisher:</strong> Free Press </dd>  <dd><strong>Year:</strong> 1994 </dd>  <dd><strong>Pages:</strong> 312 </dd>  </dl>
<p>While perusing the (absolutely wonderful:  you should be reading it every day) blog of <a href="http://www.codinghorror.com/">Jeff Atwood</a>, I came across his review of <a href="http://www.codinghorror.com/blog/archives/000060.html"><cite>Show Stopper!</cite></a>, and was intrigued enough to check it out myself.</p>
<p>I&#8217;m going to immediately confess my ignorance here:  this heyday of Microsoft was long before I was ever interested in computers at such a level.  In fact, I had no idea that NT was around so early.  My thoughts while reading <cite>Show Stopper!</cite> were that Windows 95 (codenamed &#8220;Chicago&#8221; and mentioned only once in the book) made a much bigger splash than Windows NT did, at the time.  Of course, Windows 95, being based on the ancient DOS kernel, eventually died out.  It wasn&#8217;t until almost ten years after NT 1.0&#8242;s debut that the kernel was used in Microsoft&#8217;s latest consumer desktop offering, Windows XP.</p>
<p>It was difficult, too, reading something written in 1994, about 1994-era technology, as a well-informed software enthusiast in the latter half of 2007.  I&#8217;m not sure whether Pascal&#8217;s writing seemed condescending because he was writing for people who might know what an operating system is, or because that&#8217;s simply the way technology books were <em>written</em> a decade ago.  But the technical side of the book was lacking, focusing rather on the soap opera of NT&#8217;s development, headed by the notoriously gruff Dave Cutler.</p>
<p>If this book is about anything, it&#8217;s not so much NT, but rather a look <strong>(a)</strong> at a time in computing history where writing a new operating system from scratch was not only likely, but necessary, <strong>(b)</strong> at the group dynamics of building an extraordinarily complex piece of software with over 250 code writers, and <strong>(c)</strong> at the sort of environment that Microsoft cultivated in the mid-1990s.  Now that Google is king of the world, it&#8217;s easy to forget that for a long time, Microsoft was basically <em>The</em> place to go if you were a bright programmer.  Their salaries were below the industry standard, but their stock options made millionaires out of a goodly portion of its employees, but this came at a price.  At least for those working on NT, Microsoft became their lives, and it destroyed a lot of relationships that way.</p>
<p>I could talk at length about the books foibles—e.g. Pascal&#8217;s insistence on giving clichéd descriptions of each character as he introduced them—but I suppose what&#8217;s really disappointing to me as a modern reader is that its scope is so limited:  it&#8217;s not able to talk at all about NT&#8217;s eventual success, but merely make prescient statements about its revolutionary nature.  Then, too, while the book reads like a traditional plotline, it never really climaxes:  by the time NT is finished and released, everyone is exhausted (reader included) and the moment comes and goes with little fanfare.  The development team sort of dissolves, and then Pascal waxes philosophical about the project for a while.</p>
<p>At the risk of going on a tangent, I want to make a few technical points before the feeling leaves me.  It&#8217;s important to note that NT (and by extension, Windows 2000, XP, and Vista) are all essentially conceptual children of the <a href="http://en.wikipedia.org/wiki/Mach_kernel">Mach kernel</a>, which is of the <a href="http://en.wikipedia.org/wiki/Microkernel">microkernel</a> variety.  Linux, by comparison, is monolithic, just like the DOS timeline of Windows systems (which ended ignobly with Windows ME).  Microkernels are supposed to be safer at the expense of performance, but strangely enough, &#8220;safe&#8221; hasn&#8217;t really been the case for Windows.</p>
<p>Which brings me to another point that I think <cite>Show Stopper!</cite> underscores, and that is the heavy cost of legacy in the computing world, and the strain that business requirements put on technical innovation.  The project scope of NT was redefined so many times that the end result was just about unrecognizable compared to the initial vision.  The necessity of supporting, for instance, OS/2, Windows, and DOS code, bloated NT and significantly extended its development time.  While a purely academic project may have delivered much better performance and the promised security, Microsoft&#8217;s real-world business requirements turned NT into something that, while still successful, would eventually draw as much criticism as praise.</p>
<p>Finally, it&#8217;s interesting to note that Dave Cutler, the computer genius, lead developer, love-to-hate-him antihero of the book, is still working at Microsoft.  The 64-bit operating systems you&#8217;ve been hearing about since 2005 is largely the result of his work.  </p>
<p>Swinging drastically back on topic, I can only recommend this book as an object lesson in real-world software development, and as a hugely interesting piece of software history.  If you&#8217;re looking for technical details, stay away.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2007/09/20/show-stopper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileZilla 3.0.0</title>
		<link>http://heliologue.com/2007/09/11/filezilla-300/</link>
		<comments>http://heliologue.com/2007/09/11/filezilla-300/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 23:21:26 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[filezilla]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/blog/2007/09/11/filezilla-300/</guid>
		<description><![CDATA[It&#8217;s been a work in development for quite some time now, and I&#8217;ve been using it as my main client ever since it entered beta stage, but developer Tim Kosse has finally published a stable 3.0.0 version of the famous open source S/FTP client, FileZilla. This release is important for a number of reasons: first, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/img/tech/filezilla.png" class="left" alt="FileZilla" /></p>
<p>It&#8217;s been a work in development for quite some time now, and I&#8217;ve been using it as my main client ever since it entered beta stage, but developer Tim Kosse has finally published a stable 3.0.0 version of the famous open source S/FTP client, <a href="http://filezilla-project.org/">FileZilla</a>.</p>
<p>This release is important for a number of reasons:  first, while the v2 line of the program was Windows-only, this new client is cross-platform, written in C++ and <a href="http://www.wxwidgets.org/">wxWidgets</a>.  That means that you&#8217;ll no longer have to use <a href="http://gftp.seul.org">gftp</a> in GNOME, if you&#8217;re a Linux user.  The program has finally found its way into most Linux distributions, sometimes as the default client.  It&#8217;s also available for OS X, though in fairness, <a href="http://cyberduck.ch/">Cyberduck</a> might be a better option in that case.</p>
<p>But the other key difference is that in addition to completely rewriting the front-end, the engine itself has been rewritten and is blazing fast.  So fast that when I first tried the beta, I was taken aback by the responsiveness of the app and the sprightliness of its functions.  Prolonged transfer speeds aren&#8217;t really any different, of course, but tasks like directory switching and deleting (especially recursive deletes) happen much more quickly.</p>
<p>Oh, and did I mention it has a new icon, courtesy of a forum member at the FileZilla homepage?</p>
<p><span id="more-1901"></span></p>
<div class="gallery">
<h4 class="gallery">FileZilla images</h4>
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_00.png" title="FileZilla About screen" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_00_thumb.png" alt="FileZilla About screen" /></a></p>
<div class="gallery-hidden" id="filezilla3">
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_01.png" title="FileZilla main window" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_01_thumb.png" alt="FileZilla main window" /></a></p>
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_02.png" title="FileZilla transferring screen" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_02_thumb.png" alt="FileZilla transferring screen" /></a></p>
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_03.png" title="FileZilla 'file exists' screen" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_03_thumb.png" alt="FileZilla 'file exists' screen" /></a></p>
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_04.png" title="FileZilla site manager" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_04_thumb.png" alt="FileZilla site manager" /></a></p>
<p><a href="http://heliologue.com/img/albums/filezilla3/filezilla_05.png" title="FileZilla settings" rel="lightbox[filezilla]"><img src="http://heliologue.com/img/albums/filezilla3/filezilla_05_thumb.png" alt="FileZilla settings" /></a></p>
</div>
<p><a class="showImages" rel="filezilla3">toggle thumbnails</a></p>
</div>
<p>The interface for FileZilla hasn&#8217;t changed significantly from v2.  The same general array of buttons lines the menu bar.  I personally toggle off the tree views.  One major UI change is the introduction of tabs (they&#8217;re everywhere now):  instead of having a single queue window, which can quickly bury information about failed transfers, FileZilla 3.0 splits files into <strong>Queued</strong>, <strong>Failed</strong>, and <strong>Successful</strong>, so you can quickly see your tally and identify any problem files.  There&#8217;s a bit of a learning curve to heavy FTP users, but one quickly gets the hang of it.  The &#8220;File Exists&#8221; dialog has been redesigned, but it functions in largely the same way.</p>
<p>One other feature that isn&#8217;t of much use yet is the semi-customizable icon set for the toolbar.  For the stable 3.0.0 release, FileZilla has three icon themes, one of which is the old one from v2.  The version you see in the screenshot is <del datetime="2007-09-21T16:20:03+00:00">&#8220;Blukis,&#8221; a recent addition</del> &#8220;Cyril&#8221; (props <a href="#comment-116669">Blukis</a>).  A Google search will net you, at minimum, a theme based on the Tango icon theme, but at this point, adding another icon theme involves editing an XML file that gets overwritten with every upgrade.  In the future, I hope this <code>themes.xml</code> file will get moved to the userspace, so that custom themes can persist without a lot of extra effort.</p>
<p>One of the few interface widgets that I <em>dislike</em> is the ugly green progress bar used in the transfer window.  This is used in both Linux and Windows versions, and I can&#8217;t figure out why, since it looks like it belongs in a program ten years older.  If the program can&#8217;t use native widgets for that sort of thing, a booger green gradient isn&#8217;t the best option.</p>
<p>The other UI item that I think is poorly implemented is column management.  You cannot currently select which columns to display in the file panes.  At best, you can resize them until they disappear:  even then, getting them back, should you ever need to, becomes an enormous pain in the rear.</p>
<p>The Site Manager is much the same.  Windows versions of the program have a nifty dropdown list in the upper right corner of the main window which displays all saved connections for easy selection.  Linux (and probably OS X) users have to open the site manager itself and select the saved connection.  I&#8217;m not entirely sure why this is, but perhaps it will be fixed in future builds.</p>
<p>One area where v3 lags behind its predecessor is in the settings.  I assume this is being implementing the sheer number of settings that v2 had on a cross-platform basis is no small task.  I miss, for instance, the ability to minimize the client to a taskbar icon—this, of course, can be managed by third party programs, but I miss it regardless.  </p>
<p>In most important ways, however, the Settings dialog covers the necessary bases.  You can set speed limits, concurrency limits, connection type (active/passive), port numbers, file types and actions, a limited number of interface options, and finally an option with regard to new versions.  Kosse has implemented a version tracker on the FileZilla website which the new client can talk to.  The granularity can look for either stable releases, beta release, or nightly releases.  The upgrade process is little more than downloading the installer and running it, but anything is better than nothing.</p>
<p>The bottom line is that FileZilla 3 is leaps and bounds ahead of its predecessor.  Not only does it finally give the GNOME desktop a good, native S/FTP client, but it improves the speed, responsiveness, and general quality of the already-great Windows client.  The fact that it currently sports fewer settings, or has a few ugly UI bugs, is only incidental:  this is a brand new release, after all, which will be refined over time.  I congratulate Tim Kosse and anyone else who helped in developing what looks to be an <em>excellent</em> new revision of this S/FTP client.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2007/09/11/filezilla-300/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Makes it easy&#8230;</title>
		<link>http://heliologue.com/2007/08/03/makes-it-easy/</link>
		<comments>http://heliologue.com/2007/08/03/makes-it-easy/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 14:51:37 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://heliologue.com/blog/2007/08/03/makes-it-easy/</guid>
		<description><![CDATA[Well, one way to get me to switch to Linux is for Windows to refuse to install on my new machine. Vista, even though can clearly see all of my hard drives, says &#8220;Windows is unable to find a system volume that meets its requirements.&#8221; The hell? OK, to Google we go. The possibilities are: [...]]]></description>
			<content:encoded><![CDATA[<p>Well, one way to get me to switch to Linux is for Windows to <strong>refuse to install</strong> on my new machine.  </p>
<p>Vista, even though can clearly see all of my hard drives, says &#8220;<a href="http://support.microsoft.com/kb/927520">Windows is unable to find a system volume that meets its requirements.</a>&#8221;  The hell?  OK, to Google we go.  The possibilities are:</p>
<ol>
<li><strong>There&#8217;s a USB device higher in the boot order.</strong>  Nope, there&#8217;s no USB device in my boot order at all.</li>
<li><strong>You don&#8217;t have the correct drivers</strong>.  Nope, not only are they integrated with vLite, but I also put the drivers (regular and F6) on a thumbdrive and tried lodaing them.</li>
<li><strong>The active flag on the partition isn&#8217;t set.</strong>  Nope, I used a boot CD and set the partition correctly.</li>
</ol>
<p>And various other things.  Nothing seems to work.  But the more I read, I less I even want to put Vista on my new machine:  there&#8217;s no easy and reliable way to slipstream hotfixes yet, and I read that unless I have a particular hotfix for Vista x64, I won&#8217;t be able to <strong>boot</strong> the damn thing with 4GB of RAM.  </p>
<p>So screw it.  Kiss my ass, Microsoft.  Hello, Ubuntu.</p>
]]></content:encoded>
			<wfw:commentRss>http://heliologue.com/2007/08/03/makes-it-easy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

