<?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>micromux &#187; Software</title>
	<atom:link href="http://www.micromux.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.micromux.com</link>
	<description>Commentary on the state of my microcosm.</description>
	<lastBuildDate>Thu, 02 May 2013 02:54:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Saving Windows 8</title>
		<link>http://www.micromux.com/2012/08/18/saving-windows-8/</link>
		<comments>http://www.micromux.com/2012/08/18/saving-windows-8/#comments</comments>
		<pubDate>Sat, 18 Aug 2012 14:08:02 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=597</guid>
		<description><![CDATA[Most IT professionals have either seen a demo of Windows 8 or have taken a few minutes to download a copy and test drive it. The reviews have been somewhat mixed, with most being favorable to the new UI and &#8230; <a href="http://www.micromux.com/2012/08/18/saving-windows-8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Most IT professionals have either seen a demo of Windows 8 or have taken a few minutes to <a href="http://windows.microsoft.com/en-US/windows-8/download">download</a> a copy and test drive it. The reviews have been somewhat mixed, with most being favorable to the new UI and usually expressing confusion over the somewhat distracting method for running legacy Windows applications.<br />
<span id="more-597"></span><br />
Make no mistake about it, Windows 8 is a significant paradigm shift for Microsoft. After failing to corner the slate computing market with Windows Tablet Edition, which has been available since XP, they are about to embark on a new UI that should provide tablet users with a much richer experience.</p>
<p><span class="calloutRight">Make no mistake about it, Windows 8 is a significant paradigm shift for Microsoft.</span>Unfortunately, in the process of doing this, desktop users are going to be impacted as a result of the redesign of the traditional Start menu in favor of a tiled main menu screen. Many of the start menu features that users are accustom to have been either moved to new places on the screen or eliminated entirely. This revised interface has been called <em>Windows Metro UI</em> or now simply just Window 8. </p>
<p>In many ways this is similar to the <a href="http://en.wikipedia.org/wiki/Unity_(user_interface)">Unity</a> <a href="http://lecterror.com/articles/view/my-ubuntu-divorce-and-why-unity-sucks">redesign</a> that Ubuntu Linux went through over a year ago. Unity is a revised application launcher menu for Ubuntu desktops, but it lacks the simple organizational structure of the previous launcher. As a result, many users are installing the old menu or switching to distributions like Mint that don&#8217;t support Unity.</p>
<p><center><img src="http://www.micromux.com/wp-content/uploads/2012/08/Screen-Shot-2012-08-22-at-8.53.48-PM.png" alt="" title="Windows 8 Start Menu" width="480" height="312" class="aligncenter size-full wp-image-605" /></center></p>
<p>So how can Microsoft make their tablet redesign into a killer feature for desktops?</p>
<p>1. <strong>Restrict the new Start screen to &#8220;tablet&#8221; mode</strong>. Users would only see the new start screen when running a device in <em>tablet</em> mode. Once the machine is either docked or connected to a keyboard it would automatically switch to the standard Windows interface with Start menu intact.</p>
<p>This particular design choice would likely require applications to have two versions; one version that can run as a standard Windows application and another that runs from the new Metro UI. </p>
<p>2. <strong>Force everything to run in Metro UI</strong>. Use the API hooks for Windows to present a Metro style UI for all calls. For example, when creating an IFileDialog the Metro UI version would pop up instead. This would cascade all the way down to opening the main window for an application, and would in fact force your application to run in a full screen mode.</p>
<p>Obviously, Microsoft would need to handle cases where application windows are small or model, and of course somehow the custom screens that some applications present would need to be fully tested. Games would continue to work well as most of these are a full screen experience anyway.</p>
<p>3. <strong>Rely on the tablet hardware</strong>. This is another approach, simply rely on the fact that the new Windows 8 tablets are highly coveted and users will retrofit these to run other tablet operating systems like <a href="http://www.android.com/">Android</a>. </p>
<p>There are plenty of opportunities for the Metro style UI paradigm evident in Windows 8, but clearly Microsoft is going to need to arrive at a more cohesive approach across different devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2012/08/18/saving-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BEGIN END.</title>
		<link>http://www.micromux.com/2011/02/08/begin-end/</link>
		<comments>http://www.micromux.com/2011/02/08/begin-end/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 03:02:30 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=466</guid>
		<description><![CDATA[After the software development lifecycle, programs experience certain evolutionary transitions. There is the moment of genesis when the initial application demonstrates capabilities in a proof of concept, but that is ultimately superceded by a succession of modifications that eventually jeopardizes the maintainability of that code. <a href="http://www.micromux.com/2011/02/08/begin-end/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>After the software development lifecycle, programs experience certain evolutionary transitions. There is the moment of genesis when the initial application demonstrates capabilities in a proof of concept, but that is ultimately superceded by a succession of modifications that eventually jeopardizes the maintainability of that code.</p>
<p><span id="more-466"></span> The work of <a href="http://www.eis.mdx.ac.uk/staffpages/mml/">Meir Lehman</a> in this area is significant, his observations of OS/360 should be heeded by commercial and open source developers alike.</p>
<p>Unlike the smaller, faster, cheaper mantra that most of the hardware vendors have enjoyed, software developers have experienced a succession of application re-writes. In fact, Lehman would argue that this kind of lifecycle is inherent to the current nature of software application development. Developers begin with a simple idea, but once successful the demand for new features becomes unwieldly in the complexity of the legacy software platform.</p>
<p style="text-align: center;"><img class="size-full wp-image-467  aligncenter" title="OS/260 Mainframe" src="http://www.micromux.com/wp-content/uploads/2011/02/mainframe.jpg" alt="" width="399" height="273" /></p>
<p>One of the most significant challenges for development is taking a legacy framework and trying to retrofit a new technology into the system. This has been problematic for many vendors, perhaps the archtypal example of this is Microsoft building the Windows GUI environment to support multi-tasking on the MS-DOS single-tasking operating system.</p>
<p><span class="calloutRight">A mitigating aspect is to work at reducing the complexity of your application.</span>More often then not, this kind of work <em>compromises</em> the software architecture. The Windows implementation benefited from being loosly coupled to the core operating system, thereby allowing programmers to implement features without retrofitting DOS. Imagine if DOS had been reworked to support pre-emptive multitasking, and of course these issues become even more considerable when the size of the application increases.</p>
<p>The object oriented approach promised to provide the kind of building-blocks that programmers can use toÂ accommodateÂ evolving requirements. With OOP you can certainly include some leway in your architecture, but this will never be able to address all future implementation considerations.</p>
<p>A mitigating aspect is to work at reducing the complexity of your application. In other words, rather than implement new product features you should actually take the time toÂ refactorÂ an existing codebase to minimize product complexity. This can be extremely difficult, and in fact should result in a virtual re-write of your entire system.</p>
<p>There are a number of other laws of software evolution, but Lehman also makes a point to observe that a key risk is the apathy of the core development group from knowing all aspects of the application architecture. By this law, the conservation of familiarity states that once the organization loses a mastery of the application they will in turn lose control over development.</p>
<p>Each development organization is different and the requirements for the application architecture is varied. Despite these differences, every group will reach a crossroad where the existing framework is unsuitable for further expansion. When this happens, the true indicator for success is the ability for the technical team to realize the significance of that event rather than to continue to code around it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2011/02/08/begin-end/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Virtual Store</title>
		<link>http://www.micromux.com/2011/01/30/apple-virtual-store/</link>
		<comments>http://www.micromux.com/2011/01/30/apple-virtual-store/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 22:21:42 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=435</guid>
		<description><![CDATA[Apple has finally done what Microsoft should have done years ago, they have an App Store where programmers can sell products and take advantage of an instant electronic distribution mechanism. <a href="http://www.micromux.com/2011/01/30/apple-virtual-store/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Apple has finally done what <a href="/2009/02/13/microsoft-virtual-storefronts">Microsoft should have done</a> years ago, they have an App Store where programmers can sell products and take advantage of an instant electronic distribution mechanism. There are quite a few benefits inherent to this infrastructure, and for anyone who has tried to develop and market a software application it will be nearly self evident. Read on for my list of benefits and of course the set of counterpoints you will want to consider before publishing to the Apple version of a virtual electronic storefront.</p>
<p><span id="more-435"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-443" title="Apple's App Store" src="http://www.micromux.com/wp-content/uploads/2011/01/app_store.png" alt="Apple's App Store" width="461" height="315" /></p>
<p>Has anyone else noticed the shelves at the local Best Buy have fewer boxes of software? Historically, shrink wrapped software distribution (&#8220;shrinkware&#8221;) has been challenged by electronic delivery as retail software releases require significant capital outlay. Think of all the things you need to do to deliver a box of software to stores for distribution. Of course there is the cost of developing the software, but for smaller programs this may pale in comparison to the printed box, manual, distribution media, packaging, shipping and ultimately advertising. In the end, you could easily spend $3-$5 per customer and for a small application ($10) this is a large percentage of the cost of distribution.</p>
<p><span class="calloutRight">&#8230;App Store is a good thing for most small and independent software developers who are looking for a distribution model</span>On top of that, you have to include the money you have spent to distribute your software while it is still sitting on the shelves at local stores. Large companies can easily write this into their balance sheets as part of accounts receivable (AR) since they can expect to sell thousands of copies and will need to distribute more &#8211; for them it is a distribution pipeline. Smaller software companies don&#8217;t have this benefit, and this has largely been the impetus for the shareware / freeware software delivery model.</p>
<p>1. <strong>Electronic Distribution</strong></p>
<p>Unfortunately, shareware is complicated by the distribution model. The average consumer of a shareware app will need to visit at least a handful of sites before they can even find a reputable source for the software they are interested in. Try looking for a backup utility for your Windows computer, you will need to visit dozens of websites and read at least that many number of reviews before you can settle on a program. Imagine if all of that information was in a single place &#8211; a virtual software storefront &#8211; where you could read the reviews and download the application that best suites your needs.</p>
<p>This is where the Apple App Store model comes into play, as a software developer your application can gain immediate visibility without a need for maintaining an online delivery mechanism of your own. Even better, you don&#8217;t have to advertise to gain traction on a user base &#8211; if your application meets a need then consumers on the App Store will start to download your program. The freeware model still prevails if you want to offer your program for nothing and if you chose to profit then you can let Apple take care of the checkout process.</p>
<p>2. <strong>Minimum Platform</strong></p>
<p>Apple implicitly provides some assurances in terms of the level of platform capability. Programs that are purchase through the App Store must be at least running Snow Leopard, so you can build a program to this platform and be assured that your users will be at this level. Going forward, it is reasonable to expect Apple will continue to enforce minimum platform requirements for your application which let&#8217;s you remain confident that users will be running a version of Mac OS X that you&#8217;re willing to support.</p>
<p>3. <strong>Auto-Update</strong></p>
<p>The App Store provides a central mechanism for updating your application. Rather than implement your own package updater you can upgrade your install base from a single upload to the App Store. This allows you to quickly address defects and user issues without being concerned about how you will deploy these updates to users.</p>
<p>4. <strong>Free Advertising</strong></p>
<p>Well, it&#8217;s not entirely free &#8211; but once you have paid to publish your program to the App Store it is somewhat self promulgating. Users can find your program based on keyword searches, and as your application is rated it will adjust in search results. Of course, if your application has issues out of the gate it may mar the release somewhat; however, over time as you are able to correct issues it should adjust accordingly.</p>
<p>5. <strong>Licensing</strong></p>
<p>Apple takes care of managing the licensing of your application. This means you don&#8217;t need to generate software keys or really be concerned about piracy of your commercial program. Of course, if you want to distribute demo copies of your application you may need to take this into consideration in light of the downside list below.</p>
<p>As with anything, there are downsides.</p>
<p>1. <strong>Restricted Development Environment</strong></p>
<p>You really need to develop using XCode and a current version of Objective-C on an Intel processor. Both Java and PPC code running via Rosetta are prohibited in the App Store. Although this goes somewhat to the minimum platform benefit, if you are familiar with another environment (C# or Java) you may find yourself somewhat restricted from delivering your app via Apple.</p>
<p>2. <strong>Trial-Ware Disallowed</strong></p>
<p>The App Store won&#8217;t let you distribute a trial version of your application, so if users want to try your program before purchasing they must visit your website where they can download the trial version. Of course, at this point it&#8217;s almost easier to charge them for the application and provide a license which will let them unlock the demo-ware. Hopefully this is something Apple will consider addressing in a future version of the App Store.</p>
<p>3. <strong>Similar Software Restriction</strong></p>
<p>Apple prohibits you from publishing to the App Store programs that are <em>similar</em> to existing commercial applications. In other words, it is a purely non-competitive ecosystem as it relates to commercial software. While this is good for consumers as they won&#8217;t have to choose between two virtually identical applications, it is a detriment to developers since they won&#8217;t be able to build competitive products that might have analogous functionality in existing App Store items but that have been enhanced in certain unique ways.</p>
<p>Generally speaking, the App Store is a good thing for most small and independent software developers who are looking for a distribution model on the Mac. The deprecation of Java may come as a shock to some, as there are quite a few good applications out there for Mac that were written in Java and would probably sell well on the App Store. Obviously, Apple is taking this somewhat as an opportunity to solidify the Objective-C ecosystem and may in fact succeed as there are many benefits to the electronic distribution model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2011/01/30/apple-virtual-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HDCP Hell</title>
		<link>http://www.micromux.com/2009/09/12/hdcp-hell/</link>
		<comments>http://www.micromux.com/2009/09/12/hdcp-hell/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 02:58:39 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=193</guid>
		<description><![CDATA[My Samsung SyncMaster 215TW is a fabulous display that has proven challenging to configure with Ubuntu. At the very top of the list is the inability for the DVI connector to do anything at all, even when the computer starts &#8230; <a href="http://www.micromux.com/2009/09/12/hdcp-hell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My <em>Samsung SyncMaster 215TW</em> is a fabulous display that has proven challenging to configure with <a href="http://www.ubuntu.com/">Ubuntu</a>. At the very top of the list is the inability for the DVI connector to do anything at all, even when the computer starts in text mode there is nothing onscreen. After plugging in a Windows laptop, it seemed the only conclusion was that DVI is effectively unsupported on this display.<span id="more-193"></span></p>
<p>What&#8217;s wrong with this picture? Like just about everything with computers, my monitor stopped working after something changed. After using an extremely low-end ATI video board for many years, I decided to upgrade to a mid-range NVidia that includes excellent 3D acceleration support and dual DVI output. Imagine the possibilities!</p>
<div class="calloutRight">Like just about everything with computers, my monitor stopped working after something changed.</div>
<p>At this point, imagine if DVI could actually work. While the ATI Radeon had a DVI connection that worked with the Samsung display, my upgrade to NVidia has broken this feature. So, rather than run a direct DVI feed, I am relegated to a VGA converter from my DVI output. While it has excellent 1680&#215;1050 resolution, it seems like I&#8217;m getting shortchanged by the loss of a digital output.</p>
<p>Evidently, from what I have read, there are two schools of thought on why my DVI connection no longer works.</p>
<p>One possibility is that the <em>pixel clock rate</em> presented by the video adapter exceeds the maximum pixel clock rate supported by the 215TW. This rate is a function of both the total resolution and actual color depth of the screen. In practical terms, a wide screen like this one (8:5 aspect ratio) <img class="size-full wp-image-252" title="DVI Cable" src="http://www.micromux.com/wp-content/uploads/2009/09/dvi_cable.jpg" alt="DVI Cable" width="300" height="200" style="float: left; margin: 6px; margin-right: 10px;"/> can support a maximum resolution of 2098&#215;1311 which is well within the boundary. On top of all this, I know the screen could work with DVI since my ATI Radeon was able to generate output.</p>
<p>The other possibility, and this seems more likely, is that the <strong>HDCP</strong> (High-Bandwidth Digital Content Protection) features of the Samsung display are somehow incompatible with the NVidia implementation. What could be wrong?</p>
<p>Let me relate another DVI pitfall that happened about a year ago. On a recent vacation, I discovered that our hotel room had a TV with a DVI plug in the back. I happened to have a laptop computer with some movies on it, along with some family photos were were going to show to some friends. How convenient &#8211; I thought &#8211; the widescreen TV would be a perfect venue for that.</p>
<p>This is when I discovered that DVI is not a unified standard persay, there are actually a number of variants including DVI-I, DVI-D and DVI-A among others. So unlike VGA or the old RGB standard, a DVI cable is not necessarily a DVI cable for the device you are trying to connect it to. In this particular case, my cable was DVI-I and the TV would only accept DVI-D.</p>
<p>While it is an excellent format when it works, clearly DVI may not be for everyone and in my case hasn&#8217;t worked well at all. At this point,  my Samsung is running through a DVI cable by virtue of a VGA converter to my monitor. If I ever choose to upgrade my Samsung, my next display must support some non DRM restricted output mechanism &#8211; VGA would be fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2009/09/12/hdcp-hell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accelerating Agile Development</title>
		<link>http://www.micromux.com/2009/07/24/accelerating-agile-development/</link>
		<comments>http://www.micromux.com/2009/07/24/accelerating-agile-development/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 18:28:16 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=230</guid>
		<description><![CDATA[Assuming there is any reasonable amount of development time available, the agile process ensures that you implement the most important features first. If your project has any estimates for delivery date, they should simply reflect when the business requires the program or when your project dependency must be met. <a href="http://www.micromux.com/2009/07/24/accelerating-agile-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In many respects, agile development can already be considered a more efficient software development methodology &#8211; it&#8217;s hard to believe that this process can be accelerated even further. While there are a number of things that you need to do to properly manage the risk of agile development, the cornerstone of this process is the iteration document which describes the features you are implementing.</p>
<p><span id="more-230"></span>Generally speaking, in agile it really isn&#8217;t possible to estimate the project completion. This contrasts against other techniques such as waterfall where the completion of one project milestone is the beginning of the next major effort. In this regard, one might wonder if it is even necessary at all to estimate completion time for your iterations at all.</p>
<blockquote><p>&#8220;To increase productivity, you have to produce the same output with less work. Estimating is a lot of work, and if you can cut it out, you produce more.&#8221;  (Andy Singleton; <a href="http://blog.assembla.com/assemblablog/tabid/12618/bid/10041/Distributed-Agile-Interview-Dan-Mezick-chats-with-Andy-Singleton.aspx">Distributed Agile &#8211; Interview</a>)</p></blockquote>
<p>In software development, there are only a few ways for deadlines to be set:</p>
<ol>
<li><strong>Client / Executive Management</strong>. These tend to be milestones that are important to the business or contract. If you don&#8217;t meet this deadline, the value of your application may quickly become irrelevant.</li>
<li><strong>Project Dependency</strong>. On larger projects, your application or toolkit may have a dependency with another project. For example, the latest version of Microsoft Windows won&#8217;t ship until the Windows Calc team releases.</li>
<li><strong>Arbitrary</strong>. These kinds of deadlines are generally set by the development team and don&#8217;t have any real consequences other than a potential for delivering late.</li>
</ol>
<p>The first two deadlines don&#8217;t really require any estimation, so these are fairly easy to establish. Whether or not you are actually able to meet the delivery date is irrelevant, the software is required by the business and therefore must be completed on that date.</p>
<p>An arbitrary deadline, however, requires the development team to assess all of the potential tasks and using a time-line resolve how long they think it might take to complete. Unfortunately, the process is in fact rather time consuming and will likely require weekly or bi-weekly meetings where the team reevaluates the current status to determine if the deadline can be met.</p>
<p><a href="http://www.micromux.com/wp-content/uploads/2009/07/495073_planning_a_user_interface_ii.jpg"><img class="alignright size-medium wp-image-231" title="Planning the Application" src="http://www.micromux.com/wp-content/uploads/2009/07/495073_planning_a_user_interface_ii.jpg" alt="Planning the Application" width="300" height="224" /></a>Is this effort to estimate the project completion really worth the effort? You won&#8217;t finish developing any sooner, and if you have already prioritized you will already be working on the most important features first.</p>
<p>Using an agile development process, you can continue to implement as many features as possible until the date has been met. At that point, whatever capabilities are ready will be those that are representative of that release. Of course, the business may reassess the viability of the software if there are certain critical components missing and may choose to extend the date so that certain features can be finished.</p>
<p>Assuming there is any reasonable amount of development time available, the agile process ensures that you implement the most important features first. If your project has any estimates for delivery date, they should simply reflect when the business requires the program or when your project dependency must be met. There is no real need to consider these date estimates, simply accept that as your project completion milestone and begin implementing the most important features first.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2009/07/24/accelerating-agile-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing ISO Images on Ubuntu</title>
		<link>http://www.micromux.com/2009/06/28/playing-iso-images-on-ubuntu/</link>
		<comments>http://www.micromux.com/2009/06/28/playing-iso-images-on-ubuntu/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 03:55:20 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=225</guid>
		<description><![CDATA[So it use to be that you could simply double-click on an ISO image and have it automatically launch Totem. Assuming the ISO contained an image of a DVD filesystem, it would start to play the movie. This convenient feature &#8230; <a href="http://www.micromux.com/2009/06/28/playing-iso-images-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So it use to be that you could simply double-click on an ISO image and have it automatically launch Totem. Assuming the ISO contained an image of a DVD filesystem, it would start to play the movie. This convenient feature has been replaced in Ubuntu 9.04 (Jaunty Jackalope) with the equally convienent feature of mounting the ISO image as another drive.</p>
<p><span id="more-225"></span>What if you want to just watch ISO images as movies? This can be easily fixed with the following script:</p>
<pre>#!/bin/sh
#
# Simple script to open a video DVD ISO with a DVD player program.
# This allows viewing of ISO disc images directly from hd.
#
totem-xine "dvd://$1"</pre>
<p>It doesn&#8217;t look like much yet, but once you wire it into your File Browser it works seamlessly. Best of all, you can still access the ISO image that was mounted for you as another disk drive.</p>
<p>Here is what you need to do:</p>
<ol>
<li><strong>Save the above script to /usr/local/bin/playiso</strong>. Be sure to mark the script as executable, you can do this with the command chmod +x playiso. Remember that you will need to use sudo to copy anything into this system directory.</li>
<li><strong>Launch a File Browser</strong>. This ca n be done from the Places manu. Once running a File Browser, locate an ISO image and select <em>Properties&#8230;</em><br />
<img class="alignnone size-full wp-image-229" title="filebrowserisoproperties" src="http://www.micromux.com/wp-content/uploads/2009/06/filebrowserisoproperties.png" alt="" width="470" height="465" /></li>
<li><strong>Select the <em>Open With</em> tab where you will add a new launcher for this script</strong>. Press Add and expand <em>Use a Custom Command</em>; point the location to <strong>/usr/local/bin/playiso</strong>.<br />
<img class="alignnone size-full wp-image-226" title="filemanageraddapplication" src="http://www.micromux.com/wp-content/uploads/2009/06/filemanageraddapplication.png" alt="" width="424" height="495" /></li>
<li><strong>Add the new command</strong>, and modify the Open With tab to use your new command for all ISO files.<br />
<img class="alignnone size-full wp-image-228" title="filemanagerselectplayiso" src="http://www.micromux.com/wp-content/uploads/2009/06/filemanagerselectplayiso.png" alt="" width="470" height="465" /></li>
</ol>
<p>That&#8217;s all you should need to do, now when you double-click on an ISO image it opens Totem and begins playing the movie. Note that my systems generally take advantage of totem-xine, which you may need to install, since this tends to better render full ISO images.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2009/06/28/playing-iso-images-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Genuine Disadvantage</title>
		<link>http://www.micromux.com/2008/12/10/windows-genuine-disadvantage/</link>
		<comments>http://www.micromux.com/2008/12/10/windows-genuine-disadvantage/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 02:04:51 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[WGA]]></category>
		<category><![CDATA[Windows Update]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=196</guid>
		<description><![CDATA[For anyone running a pirated copy of Microsoft Windows, the update to Service Pack 3 (SP3) will be thwarted by Windows Genuine Advantage (WGA). Unfortunately, this may affect as much as 20% of all legitimate Windows users and will subsequently inundate you with a frequent reminder that your Windows may be invalid. <a href="http://www.micromux.com/2008/12/10/windows-genuine-disadvantage/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For anyone running a pirated copy of Microsoft Windows, the update to Service Pack 3 (SP3) will be thwarted by Windows Genuine Advantage (WGA). Unfortunately, this may affect as much as <a href="http://arstechnica.com/news.ars/post/20070124-8690.html">20% of all legitimate Windows users </a>and will subsequently inundate you with a frequent reminder that your Windows may be invalid.<span id="more-196"></span>You will most likely encounter a WGA error during a Windows Update; however, it can also happen during the installation of a number of Microsoft products (Windows Defender, MS Private Folder, and Windows Media Player 11).</p>
<p>In my case, WGA had already executed on my PC. Notwithstanding the fact that WGA had already run with Media Player 11, an attempt to execute a Windows update returned a cryptic error about not being able to install the Windows Genuine Advantage tool. A review of the WindowsUpdate.log file shows the following:</p>
<blockquote>
<pre>- Install call failed
- Reboot required = No
- WARNING: Exit code = 0x80240FFF; Call error code = 0x80004002</pre>
</blockquote>
<p>Windows Genuine Advantage (WGA) is designed to ensure that your Windows installation is a non-pirated version and that it isn&#8217;t using one of the pre-designated Windows product keys that are considered stolen. Since I am certain that my Windows is valid, my next task was to arrive at some method for getting WGA installed again.</p>
<p>If WGA fails you may visit <a href="http://www.windows.com/genuine">http://www.windows.com/genuine</a> and it will take care of performing the validation task using an ActiveX control in your browser.</p>
<p>While this seemed to fix the WGA error, the next Windows Update for XP SP3 produced the same error. Not having many options left, my assumption is that the WSUS datastore is corrupt and my only option remaining was to reset it:</p>
<blockquote>
<pre>@rem Stop the Windows Update Service
net stop wuauserv
net stop MSIServer
@rem Purge log and current cache
del %WINDIR%\WindowsUpdate.log
del /f /q /s %WINDIR%\SoftwareDistribution
@rem Re-register System DLLs
regsvr32.exe wuweb.dll
regsvr32.exe wuapi.dll
regsvr32.exe wups2.dll
regsvr32.exe wups.dll
regsvr32.exe wucltui.dll
regsvr32.exe wuaueng1.dll
regsvr32.exe wuaueng.dll
regsvr32.exe wucltui.dll
regsvr32.exe MSXML3.dll
msiexec /unreg
msiexec /regserver
regsvr32 msi.dll
@rem Start Windows Update Service
net start wuauserv</pre>
</blockquote>
<p>After running another Windows Update, Windows XP SP3 was downloaded and installed successfully. To make matters even better, the total free space on Drive C went up considerably as a result of purging the <em>SoftwareDistribution</em> directory.</p>
<p>This is almost as exciting as trying to stop my Apple iPod from deleting everything on it the moment it plugs into my computer at work. While it&#8217;s understandable that companies want to protect their intellectual property, these kinds of draconian measures are going to do nothing but discourage customers from using your products. The fact that a computer specialist may be needed to reconfigure your WGA support is almost as insulting as hiring your automobile service technician to turn your car on in the morning.</p>
<p>Microsoft should either eliminate the complexity of this unnecessary service or anticipate that more users will seek alternate computing platforms when WGA fails them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2008/12/10/windows-genuine-disadvantage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes Out of Touch</title>
		<link>http://www.micromux.com/2008/10/08/itunes-out-of-touch/</link>
		<comments>http://www.micromux.com/2008/10/08/itunes-out-of-touch/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:46:46 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iTunes]]></category>

		<guid isPermaLink="false">http://www.micromux.com/?p=209</guid>
		<description><![CDATA[Apple has overloaded the nature of iTunes and without addressing a few core issues it is destined to become a hodgepodge of utilities hidden inside a program that can play music and video. <a href="http://www.micromux.com/2008/10/08/itunes-out-of-touch/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The release of iTunes 8.0 promised quite a bit, and while the Genius feature has a lot to offer there are some fundamental problems that need to be addressed before this program can even be usable. Apple has overloaded the nature of iTunes and without addressing these core issues it is destined to become a hodgepodge of utilities hidden inside a program that can play music and video.<br />
<span id="more-209"></span></p>
<p style="text-align: center;"><a href="http://www.micromux.com/wp-content/uploads/2008/10/ipodapple.jpg"><img class="size-full wp-image-211 aligncenter" title="iPod Apple" src="http://www.micromux.com/wp-content/uploads/2008/10/ipodapple.jpg" alt="apple ipod 160giga \" width="420" height="312" /></a></p>
<p>1. <strong>Fix iPod Sync</strong>. Now that iPod supports email and address book integration with Microsoft Outlook, users are increasingly taking advantage of their iPod to sync everything between home and work. Unfortunately, as soon as my work PC downloads a podcast all of my photos, movies, music and applications are gone. Since the applications were loaded directly from the iTunes Store on the iPod, I&#8217;m not sure how to even make sure they don&#8217;t get deleted.</p>
<p>For now, I have given up using my iPod for anything but email, contact management and a few podcasts that can be easily re-downloaded from either computer. Is this what Apple intended?</p>
<p>2. <strong>Improve Battery Life</strong>. Since upgrading to version 2.0, my iPod battery will completely drain on a weekly basis. It appears to be related to ActiveSync, once this is turned off things improve considerably. This is a nice feature, maybe Apple should fix their ActiveSync implementation so that my battery doesn&#8217;t go to 0% on a regular basis.</p>
<p>3. <strong>Support Corporate Users</strong>. There are improvements to the iPod Touch and iPhone that make these devices extremely useful for corporate users. Unfortunately, the iTunes interface has not kept pace with these changes. Provide an iTunes Corporate configuration that eliminates integrated paid access to the iTunes Store and focuses on PDA functions. Users should still be able to provide a credit card number or an alternate iTunes account to purchase media, but this should not be required for the device to function normally.</p>
<p>4. <strong>Update the Program Interface</strong>. While the program might look at home on a Mac, it looks completely alien on my Windows XP or Vista workstation. The whole point of a windowing interface is to provide a consistent look and feel, it&#8217;s rather ironic that this was one of the primary gripes about UNIX/Linux applications running on X11 a few years ago and now this seems to be in-vogue on Windows.</p>
<p>5. <strong>Import Everything</strong>. Let me import my music, movies and pictures from a single place. It&#8217;s possible to stick in a CD and copy music, why not stick in a DVD and copy a movie? Currently it&#8217;s a <a href="/2008/01/16/taking-a-bite-out-of-apple/">chore to copy a movie or video</a> in my collection and bring it with me on my iPod. This needs to be greatly simplified, and if iTunes can&#8217;t do that then provide an iSync alternative and leave all the conversions up to the user.</p>
<p>7. <strong>Bring Files with Me</strong>. Why is it so difficult to use my iPod for Word documents? Obviously this is not something iTunes supports and would be a great benefit. It seems that now every file that comes with me is an email to myself, it would be much easier if iTunes could expose a Documents directory where files could be stored and browsed on my iPod Touch.</p>
<p>Finally, why do I need to jailbreak my iPod Touch to sync with Linux at home? Granted, it is convenient that my iPod could then be accessed over the network and content could then be scripted to load onto my device automatically.</p>
<p>At least if you are going to go to the trouble of forcing users to connect with iTunes, you should also go to the trouble of making sure all of the device capabilities are accessible without having to install third party products like <a href="http://www.avatron.com/products/">Air Sharing</a>. This seems to be the only way for me to easily copy files to and from my iPod Touch, if only the program wouldn&#8217;t keep deleting itself every time iTunes syncs on either one of my computers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2008/10/08/itunes-out-of-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Losing the Windows Network Client</title>
		<link>http://www.micromux.com/2008/07/08/losing-the-windows-network-client/</link>
		<comments>http://www.micromux.com/2008/07/08/losing-the-windows-network-client/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 16:14:01 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.micromux.com/2008/07/08/losing-the-windows-network-client/</guid>
		<description><![CDATA[Recently following an unrelated upgrade to my VirtualBox client, one of my host VM&#8217;s started exhibiting unusual behavior. While it was possible to retrieve directory listings from a UNC path, any attempt to map a drive would result in a &#8230; <a href="http://www.micromux.com/2008/07/08/losing-the-windows-network-client/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p class="dropcap" align="left">Recently following an unrelated upgrade to my <a href="http://virtualbox.org">VirtualBox</a> client, one of my host VM&#8217;s started exhibiting unusual behavior. While it was possible to retrieve directory listings from a UNC path, any attempt to map a drive would result in a standard although somewhat generic error message.<span id="more-195"></span></p>
<blockquote>
<pre>net use * \\SERVERNAME\SHARE

System error 67 has occurred.
The network name cannot be found.</pre>
</blockquote>
<p>My first impression is that something was wrong with my network configuration. After exhaustively troubleshooting various network configuration scenarios, the results were inconclusive. Oddly enough, the UNC path could be listed using the following convention:</p>
<blockquote>
<pre>dir \\SERVERNAME\SHARE</pre>
</blockquote>
<p>Other VM&#8217;s on the same workstation were functioning correctly so this was clearly an isolated problem. There was very little information on this from either Microsoft or any of the standard outlets, but a network trace using <a href="http://www.wireshark.org">Wireshark</a> suddenly provided the enlightenment that was needed.</p>
<p>Unlike a direct UNC request, when a drive was mapped the result was an HTTP request:</p>
<blockquote>
<pre>PROPFIND /SHARE HTTP/1.1
  Request Method: PROPFIND
  Request URI: /SHARE
  Request Version: HTTP/1.1
Depth: 0
translate: f
User-Agent: Microsoft-WebDAV-MiniRedir/5.1.2600
Host: SERVERNAME
Content-Length: 0
Connection: Keep-Alive</pre>
</blockquote>
<p>Evidently, my XP workstation was attempting a WebDAV connection to the file server when it should have been an SMB (CIFS) request. My first inclination was to disable the WebDAV support in XP, but after a cryptic registry modification to make this change, the effect was the same. Then a review of the advanced settings for my network provided the final clue:</p>
<p style="text-align: center"><img src="http://www.micromux.com/wp-content/uploads/2008/07/network_providerorder.png" alt="Network Provider Order" /></p>
<p>According to this,  the <em>Microsoft Windows Network</em> was missing. This is particularly disconcerting in light of the fact that my workstation was connected to a Windows domain and that I had logged-in using my domain credentials.</p>
<p>As it turned out, removing and adding back in the <em>Client for Microsoft Network</em> client for my network adapter was enough to get Windows back on the network. The error most likely coincided with my VirtualBox upgrade and I suspect the VirtualBox Shared Folder provider was the culprit.</p>
<p>The obvious lesson here is that just because some of your Windows SMB (CIFS) requests succeed it doesn&#8217;t imply that your workstation is fully functional.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2008/07/08/losing-the-windows-network-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USB File System Brilliance</title>
		<link>http://www.micromux.com/2008/06/13/usb-file-system-brilliance/</link>
		<comments>http://www.micromux.com/2008/06/13/usb-file-system-brilliance/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 13:37:52 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[FAT]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.micromux.com/2008/06/13/usb-file-system-brilliance/</guid>
		<description><![CDATA[The ubiquity of the FAT32 file system has allowed the common USB flash drive to pervade virtually every desktop computer. My flash drive can easily be used on a Windows, Mac or Linux workstation. Even more importantly, I can copy &#8230; <a href="http://www.micromux.com/2008/06/13/usb-file-system-brilliance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The ubiquity of the FAT32 file system has allowed the common USB flash drive to pervade virtually every desktop computer. My flash drive can easily be used on a Windows, Mac or Linux workstation. Even more importantly, I can copy a handful of photos to it and at my local Target store the Kodak photo machine is able to read the images from the drive.<br />
<span id="more-189"></span>This situation is changing, and in fact one might argue it <em>should </em>be changing. Larger USB flash drives are becoming more accessible, and many users are starting at 32 GB drives and pondering the prospect of waiting for a 64 GB <a href="http://www.kanguru.com/flashblu.html">Kanguru FlashBlu</a> model instead.</p>
<p style="text-align: center"><img src="http://www.micromux.com/wp-content/uploads/2008/06/usbflash.jpg" alt="USB Flash Drive" /></p>
<p><strong>There are a few issues with the FAT32 filesystem</strong>, and while it provides excellent cross-platform compatibility these limitations are going to make it less desirable in the years to come. The first notable restriction is the maximum file size on a FAT32 file system cannot be larger than 4GB, this can be easily exceeded with video files, virtual machine drive images or large PowerPoint presentations.</p>
<p>Another glaring problem is the lack of file system encryption standards. While you can install third party utilities like <a href="http://www.truecrypt.org/">TrueCrypt</a>, these require a program to decrypt the volume and you <em>still</em> need to pick a file system for your encrypted data. Encryption is important on these extremely portable file systems, it&#8217;s a lot easier to lose a USB thumb drive then to misplace your Shugart SA1000.</p>
<p><img src="http://www.micromux.com/wp-content/uploads/2008/06/usbflashcollection.jpg" class="calloutLeft" alt="USB Flash Drive Collection" />Of course, none of this matters if you can&#8217;t even format the filesystem. In Windows 2000/XP/Vista you can access a FAT32 file system of  any size but you can only format a 32GB file system. As USB flash media quickly approaches this limit, many users are going to embrace alternate formats like NTFS, exFAT (FAT64), HFS+  and EXT3. Obviously, once this happens the flash media will be less accessible in computers where these file systems are not supported.</p>
<p>While your exFAT formatted flash drive may work happily in Windows Vista it won&#8217;t do anything on an XP workstation. There are similar issues with HFS+ and EXT3 portability, and of course none of these really address the encryption problem which has only been further complicated by <a href="http://www.microsoft.com/windows/products/windowsvista/features/details/bitlocker.mspx">BitLocker</a> and <a href="http://www.microsoft.com/technet/security/smallbusiness/topics/cryptographyetc/protect_data_efs.mspx">EFS</a>.</p>
<p>So there really are no good solutions for USB flash file systems, most users will end up rolling their own formats which will likely be a combination of some kind of encryption technology and a larger volume file system format (NTFS, HFS+ or exFAT). This will of course eliminate our USB flash drive compatibility, making this a less desirable format for sharing data via sneaker-net.</p>
<p>Maybe the operating system propellerheads should get together and standardize on something else, I don&#8217;t want my <a href="http://www.amazon.com/OCZ-Channel-Rally2-Drive-OCZUSBR2DC-32GB/dp/B0013RKFB8">32GB OCZ Rally2</a> to be USB brick on my friends Mac OS X desktop PC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.micromux.com/2008/06/13/usb-file-system-brilliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.467 seconds -->
