<?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>Nathan's Blog</title>
	<atom:link href="http://nathan.studiodifferent.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nathan.studiodifferent.com</link>
	<description>Wired World Wonderings</description>
	<lastBuildDate>Mon, 22 Oct 2007 16:50:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Classic Windows Scripting</title>
		<link>http://nathan.studiodifferent.com/2007/09/29/classic-windows-scripting/</link>
		<comments>http://nathan.studiodifferent.com/2007/09/29/classic-windows-scripting/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 01:55:29 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/09/29/classic-windows-scripting/</guid>
		<description><![CDATA[Before .NET and PowerShell were dreamt of, VBScript and COM objects were the most powerful scripting tools available in a vanilla Windows install. Using Microsoft&#8217;s default facilities is worthwhile because it obviates the need to deploy additional software and cope with that software&#8217;s life cycle and incompatibilities. For instance, a script written for Windows 2000 [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;"><img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/09/script.jpg" alt="ancient script"/></div>
<p>Before .NET and PowerShell were dreamt of, VBScript and COM objects were the most powerful scripting tools available in a vanilla Windows install. Using Microsoft&#8217;s default facilities is worthwhile because it obviates the need to deploy additional software and cope with that software&#8217;s life cycle and incompatibilities. For instance, a script written for Windows 2000 is likely to continue working in Windows Server 2008 x64 Edition. I use PowerShell/.NET for Windows scripting now, but I still regularly use VBScripts which are several years old. Here are several of these simple scripts.<span id="more-104"></span></p>
<h3>Backgrounder</h3>
<p>First, a backgrounder &mdash; VBScript has been installed by default since Windows &#8217;98. The core language is limited, and it relies on objects to perform any actual work. Even file I/O or regular expressions require object creation. Several class libraries exist for more involved tasks, such as e-mail (CDO), XML (Msxml2), and Windows Management (WMI).</p>
<p>Two of the larger class libraries are offered by <a href="http://msdn2.microsoft.com/en-us/library/aa394570.aspx">Windows Management Instrumentation</a> (WMI) and <a href="http://msdn2.microsoft.com/en-us/library/aa772161.aspx">Active Directory Services Integration</a> (ADSI). WMI provides a consistent interface to Windows&#8217; hardware and software configuration, while ADSI manipulates accounts, computers, and other objects in Active Directory. Combined, these facilities can systematically perform the bulk of system administration tasks.</p>
<p><a href="http://nathan.studiodifferent.com/wp-content/uploads/2007/10/studiodifferent-wsf.zip">This zip file</a> contains the following VBScripts to perform simple administrative tasks. They are in the <a href="http://msdn2.microsoft.com/en-us/library/15x4407c.aspx">Windows Scripting File</a> (WSF) format, which is an XML format that encapsulates scripts in XML while adding support for type libraries and limited self-documentation and help facilities. The WMI and ADSI scripts can run locally or on a remote machine.</p>
<div style="text-align: center"><a href="http://nathan.studiodifferent.com/wp-content/uploads/2007/10/studiodifferent-wsf.zip"><img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/09/zipicon.jpg" alt="[Zip Icon]" /></a><br/><a href="http://nathan.studiodifferent.com/wp-content/uploads/2007/10/studiodifferent-wsf.zip">Download WSF Collection</a></div>
<p>The ZIP file includes the following scripts:</p>
<h3>Windows Management Instrumentation (WMI)</h3>
<dl>
<dt><strong>adapt.wsf</strong></dt>
<dd>View or change network configuration, including IP address and<br />
    DNS/WINS servers. Operates locally or remotely. Note that no changes<br />
    take place without the &#8220;/set&#8221; option.</dd>
<dt><strong>rdp.wsf</strong></dt>
<dd>Display, enable, or disable Remote Desktop on a Windows XP computer. Unlike<br />
    the registry edit, this script can remotely enable RDP without a reboot.</dd>
<dt><strong>specs.wsf</strong></dt>
<dd>Display basic tech specs of the passed computer / domain</dd>
<dt><strong>who.wsf</strong></dt>
<dd>Display who is logged in to Windows&#8217; console.</dd>
</dl>
<h3>Active Directory Services Interface (ADSI)</h3>
<dl>
<dt><strong>addtoadmin.wsf</strong></dt>
<dd>Add specified user (/user:userid) to the local administrators group of the<br />
    specified computer(/computer:hostname).</dd>
<dt><strong>openfiles.wsf</strong></dt>
<dd>List files opened through Windows file sharing.</dd>
<dt><strong>user2sid.wsf</strong></dt>
<dd>Print the decimal style SID of an user.</dd>
</dl>
<h3>Other COM Objects</h3>
<dl>
<dt><strong>msxml.wsf</strong></dt>
<dd>Basic XML manipulation: validation, XPath filtering, and XML style sheet<br />
    transformations.</dd>
<dt><strong>wmail.wsf</strong></dt>
<dd>Generate a MIME mail message and send using raw SMTP or place in IIS<br />
    pickup directory.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/09/29/classic-windows-scripting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Laws of Red-Light Robotics</title>
		<link>http://nathan.studiodifferent.com/2007/05/03/laws-of-red-light-robotics/</link>
		<comments>http://nathan.studiodifferent.com/2007/05/03/laws-of-red-light-robotics/#comments</comments>
		<pubDate>Thu, 03 May 2007 06:07:24 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cars]]></category>
		<category><![CDATA[law]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/05/03/laws-of-red-light-robotics/</guid>
		<description><![CDATA[Robocop warned us that the privatization of justice has a dark side. This week I was visited not by the Robocop&#8217;s bumbling would-be replacement, ED-209, but by his traffic citation analogue &#8212; a ticket from a Redflex red light camera with speed sensor. Inside my letter from the City of Albuquerque was a full-color picture [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left; margin-right: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/05/redflex.jpg" alt=""/>
</div>
<p>Robocop warned us that the privatization of justice has a dark side. This week I was visited not by the Robocop&#8217;s bumbling would-be replacement, <a href="http://en.wikipedia.org/wiki/ED-209">ED-209</a>, but by his traffic citation analogue &mdash; a ticket from a <a href="http://www.redflex.com.au/traffic/traffic_home.htm">Redflex</a> red light camera with speed sensor.<span id="more-100"></span></p>
<p>Inside my letter from the City of Albuquerque was a full-color picture of my car accompanied by instructions to pay or contest the citation. If I don&#8217;t do this in two weeks, the fine doubles, and I implicitly waive my right to contest. The circumstances are unclear in the picture, but thankfully the notice refers me to <a href="https://www.photonotice.com/">www.photonotice.com</a>, where I can view a Flash video of the &#8220;incident&#8221;.</p>
<p>More thorough review of these materials makes two things abundantly clear: (1) The light was yellow when I entered the intersection and (2) The citation indicates a speed limit of 35MPH, but I know that the speed limit at the intersection is 40MPH. So now if I wish to reduce this excessive fine the onus is on me to <em>prove my innocence</em>, or at least my reduced guilt. What a hassle&#8230;</p>
<div style="text-align: center"><img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/05/ed209.jpg" alt="[ED-209]" style="border: 0px; padding: 0px;"/></div>
<p><em><a href="http://en.wikipedia.org/wiki/ED-209">ED-209</a>, of Robocop fame</em></p>
<p>It troubles me that a machine began this process. An officer on the scene can weigh several factors, such as visibility, reaction time, and actual risk involved. The fixed camera can only capture video and indiscriminately relay sensor data. Myopic, indeed. As stated above, in my case the configured speed limit was wrong, and I don&#8217;t believe I ran the red light &mdash; topics I would have preferred to discuss with an officer minutes later rather than weeks later.</p>
<p>Apparently I&#8217;m not the only New Mexico resident who sees problems with the program. Retired law enforcement officer turned Albuquerque blogger M. G. Bradley <a href="http://mgbralley-whatswrongwiththispicture.blogspot.com/2006/06/stop-this-nonsense.html">points to legal concerns</a> with the STOP program. Apparently because Albuquerque&#8217;s ordinance are done in the name of criminal nuisance abatement, they are able to bypass Metropolitan court and pocket more money:</p>
<blockquote><p>
The executive, here in the form of the mayor, appoints all the actors. The enforcement personnel, the administrative hearing officer, the assistant city attorney, the city clerk and the contracted vendor all now work within the executive branch.
</p></blockquote>
<p>Senator William Payne (R-NM) calls the red-light cameras &#8220;money generating traps&#8221; -<a href="http://www.abqtrib.com/news/2007/feb/06/senator-calls-red-light-cameras-traps/">Albuquerque Tribune</a>. The article mentions that in less than a year &#8220;the cameras have generated about 80,000 tickets with fines totaling upward of $5 million.&#8221; Hard to believe Mayor Martin Chavez&#8217; contenion that most of this money is reinvested in the program.</p>
<p>Santa Fe Sheriff Greg Solano suggests that the private interests <a href="http://sheriffgregsolano.blogspot.com/2006/12/red-light-running-prevention-web-site.html">fail to address</a> the devices&#8217; potential to increase rear-end collisions, and ignore other options, such as light timing. Why should they, when they &#8220;charge up to 40% of the fine to provide equipment, technical support, and administer the program&#8221;?</p>
<p>The danger incurred by running red lights is not sufficient to defend red light camera programs in light of the logistic, legal, and safety concerns as well as the profit motive. Unless Albuquerque reconsiders the program, I&#8217;ll have to be particularly wary of these devices and the traffic around them.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/05/03/laws-of-red-light-robotics/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Feisty, Indeed!</title>
		<link>http://nathan.studiodifferent.com/2007/03/23/ubuntu-feisty-indeed/</link>
		<comments>http://nathan.studiodifferent.com/2007/03/23/ubuntu-feisty-indeed/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 07:05:11 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[feisty-fawn]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/03/23/ubuntu-feisty-indeed/</guid>
		<description><![CDATA[The upcoming Ubuntu release is entitled Feisty Fawn, in keeping with the adjective-animal naming convention. I installed the current test release, herd 5, and although I&#8217;m reluctant to proclaim that it a drop-in replacement for the typical home user, I may begin using it as my default desktop OS. Well-Intentioned Installer The installer is distributed [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/03/ubuntu-logo.thumbnail.gif" alt=""/>
</div>
<p>The upcoming Ubuntu release is entitled Feisty Fawn, in keeping with the <em>adjective-animal</em> naming convention. I installed the current test release, <a href="http://www.ubuntu.com/testing/herd5">herd 5</a>, and although I&#8217;m reluctant to proclaim that it a drop-in replacement for the typical home user, I may begin using it as my default desktop OS.<span id="more-96"></span></p>
<h3>Well-Intentioned Installer</h3>
<p>The <a href="http://cdimage.ubuntu.com/releases/feisty/herd-5/">installer</a> is distributed on a live CD &mdash; just double-click the install icon on the desktop to begin the simple installer that copies the live CD install to your hard drive.</p>
<p>One prominent feature of the new Ubuntu is the <a href="https://wiki.ubuntu.com/MigrationAssistance">Migration Assistant</a>, which imports settings from an existing Windows install, such as My Documents and Internet Explorer settings. That&#8217;s the theory, at least &#8211; in my case, the installer crashed during migration, and there was no way to disable the feature &mdash; <code>ubiquity --no-migration-assistant</code> didn&#8217;t work. I was able to prevent the assistant from running by mounting the Windows partition before running the installer (suggestion via hizaguchi on <a href="http://ubuntuforums.org/showthread.php?p=2314320#post_message_2314320">ubuntuforums.org</a>). Despite my difficulties, the ability to import settings from Windows (e-mail, AIM) will be a huge step in the right direction.</p>
<p>The next hiccup was the GRUB installer, which detected my SATA drive as &#8220;hd2&#8243; rather than &#8220;hd0&#8243;, so I manually had to specify &#8220;/dev/sda6&#8243;, and later correct /boot/grub/menu.lst. A casual user can&#8217;t be expected to figure this out, but a casual user is not likely to have hard drives on multiple controllers, so this wasn&#8217;t a big strike for me, either.</p>
<h3>Initial Impressions</h3>
<p>About 15 minutes later, I began to use the well-equipped base install &mdash; OpenOffice, Firefox, Evolution, Gimp, Gaim, &#8230; My hardware was detected properly, including an HP DeskJet 4160 and a GE EasyCam webcam. All was not perfect, as Xorg configured my monitor for 1024&#215;768, which was &#8220;easily&#8221; fixed by <code>sudo dpkg-reconfigure xserver-org</code>. This throwback was quickly overshadowed when I began to explore my automatically-mounted NTFS partitions. Several Office files opened without issue. I proceeded to open media files in proprietary (WMV9) and esoteric (Flash Video) formats, Totem (the default media player) automatically downloaded the necessary codecs and played everything without a hitch!</p>
<h3>Conclusion</h3>
<p>This is day 4 without Windows, and I don&#8217;t miss much. Given the nature of my installation issues, and the resolution difficulties, I&#8217;m not prepared to recommend Ubuntu to friends and family. However, given the fact that this is a test release, and Ubuntu&#8217;s 6-month release cycle, I feel this popular distribution is approaching general usability. So far it is my most seamless out-of-box experience with a Linux desktop distribution.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/03/23/ubuntu-feisty-indeed/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>REST Easy, Rails 1.2 is here</title>
		<link>http://nathan.studiodifferent.com/2007/02/13/rest-easy-rails-12-is-here/</link>
		<comments>http://nathan.studiodifferent.com/2007/02/13/rest-easy-rails-12-is-here/#comments</comments>
		<pubDate>Wed, 14 Feb 2007 05:06:36 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby-on-rails]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/02/13/rest-easy-rails-12-is-here/</guid>
		<description><![CDATA[Rails makes it easy to relate URL&#8217;s to their respective controller methods. If you want another action, just add the method to the controller and append the name to the controller URL. However, this controller-centric approach is a mixed blessing, because it lends itself to redundancy and extraneous methods. The recent Rails 1.2 release introduces [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img id="image95" src="http://nathan.studiodifferent.com/wp-content/uploads/2007/02/rest-easy.jpg" alt="" />
</div>
<p>Rails makes it easy to relate URL&#8217;s to their respective controller methods. If you want another action, just add the method to the controller and append the name to the controller URL. However, this controller-centric approach is a mixed blessing, because it lends itself to redundancy and extraneous methods. The recent <a href="http://weblog.rubyonrails.org/2007/1/19/rails-1-2-rest-admiration-http-lovefest-and-utf-8-celebrations">Rails 1.2 release</a> introduces RESTful facilities and a resource-centric URL structure that makes it easier to remove the <em>junk</em> and keep the <em>CRUD</em>.<span id="more-94"></span></p>
<h3>Keep the CRUD?!</h3>
<p>CRUD refers to the four basic actions that we apply to web data: Create, Read, Update and Delete. In his 2006 <a href="http://www.scribemedia.org/2006/07/09/dhh/">RailsConf keynote</a>, David Heinemeier Hansson describes the benefits of viewing your models through the lens of CRUD, arguing that in many cases, operations beyond the basic four often just incur controller bloat. As an example, he ponders options for defining a relationship between Users and Groups. The traditional approach would be to implement the group join as <code>UsersController#join_group</code> or perhaps <code>GroupsController#add_user</code>. A third solution would be to create a new class, Memberships, that relates Users to Groups. This distills membership management to the CRUD functions &#8211; <code>MembershipsController#create</code>. While an extra model might seem to increase complexity rather than reduce it, consider the benefits of a consistent set of functions in every controller. Also recognize the ease with which we can extend Membership &mdash; <code>Membership#joined_at</code>, <code>Membership#authorized_by</code>, etc.</p>
<h3>Get some REST</h3>
<p>Roy Fielding introduced REST, or Representative State Transfer, in <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">chapter 5</a> of his 2000 dissertation. REST is basically an idealized web architecture in which <em>resources</em> (data) are manipulated through a generic interface (e.g. CRUD!) &mdash; a client can <strong>Create</strong> an User just as easily as it can <strong>Delete</strong> a Membership. In a REST architecture, messages that retrieve or alter the state of a resource are called <em>representations</em>. This abstraction offers data formats that are appropriate for each interaction &mdash; a PDA might <strong>Update</strong> inventory represented using standard HTML forms, while a PC browser might <strong>Read</strong> an XML representation of that same inventory.</p>
<h3>Enter Rails 1.2</h3>
<p>David Heinemeier Hansson describes how nicely the CRUD functions align with SQL commands and HTTP methods:</p>
<table border="1" style="margin-left: auto; margin-right: auto">
<tr>
<th></th>
<th>Create</th>
<th>Read</th>
<th>Update</th>
<th>Delete</th>
</tr>
<tr>
<th>SQL</th>
<td>INSERT</td>
<td>SELECT</td>
<td>UPDATE</td>
<td>DELETE</td>
</tr>
<tr>
<th>HTTP</th>
<td>POST</td>
<td>GET</td>
<td>PUT</td>
<td>DELETE</td>
</tr>
<tr>
<th>Rails</th>
<td>#create</td>
<td>#find</td>
<td>#update</td>
<td>#destroy</td>
</tr>
</table>
<p>Rails 1.2 takes advantage of these similarities. Compare the HTTP used to access previous &#8220;/controller/action/id&#8221; routes with the newer &#8220;/resource/id&#8221; routes:</p>
<table style="margin-left: auto; margin-right: auto">
<tr>
<th colspan="2">scaffold</th>
<th colspan="2">scaffold_resource</th>
<th>Contoller Method</th>
</tr>
<tr>
<td align="right">GET</td>
<td>/lightbulbs</td>
<td align="right">GET</td>
<td>/lightbulbs</td>
<td>#list</td>
</tr>
<tr>
<td align="right">GET</td>
<td>/lightbulbs/show/1</td>
<td align="right">GET</td>
<td>/lightbulbs/1</td>
<td>#show</td>
</tr>
<tr>
<td align="right">GET</td>
<td>/lightbulbs/edit/1</td>
<td align="right">GET</td>
<td>/lightbulbs/1;edit</td>
<td>#edit</td>
</tr>
<tr>
<td align="right">POST</td>
<td>lightbulbs/update/1</td>
<td align="right">PUT</td>
<td>/lightbulbs/1</td>
<td>#update</td>
</tr>
<tr>
<td align="right">GET</td>
<td>/lightbulbs/new</td>
<td align="right">GET</td>
<td>/lightbulbs/new</td>
<td>#new</td>
</tr>
<tr>
<td align="right">POST</td>
<td>lightbulbs/create</td>
<td align="right">POST</td>
<td>/lightbulbs</td>
<td>#create</td>
</tr>
<tr>
<td align="right">POST</td>
<td>lightbulbs/destroy/1</td>
<td align="right">DELETE</td>
<td>/lightbulbs/1</td>
<td>#destroy</td>
</tr>
</table>
<p>Notice how traditional routes include the action in the URL, and use only GET and POST. The RESTful URL&#8217;s refer to resources, and the controller infers the action from the HTTP method and headers. In what Hansson calls an HTTP &#8220;renaissance&#8221;, Rails 1.2 now embraces PUT and DELETE, and acknowledges a client&#8217;s &#8220;Accept&#8221; and &#8220;Content-Type&#8221; headers. Unfortunately web browsers don&#8217;t support PUT or DELETE, but Rails emulates them through a POST with the hidden variable &#8220;_method&#8221;.</p>
<p>Rails&#8217; new RESTful scaffold generator (<code>script/generate scaffold_resource</code>) is a good place to get started with the new facilities. When run without any arguments, the new generator gives a basic overview of it&#8217;s usage.</p>
<h3>Just the beginning&#8230;</h3>
<p>Pretty URL&#8217;s and uniform controller methods barely scratch the surface of the benefits imparted by REST. Consider the potential use of a generic HTTP interface as a <a href="http://blog.whatfettle.com/2007/01/11/good-web-apis-are-just-web-sites/">simple web API</a>. The prospect of being unencumbered by the complexity of SOAP opens the doors for use with AJAX and in simple scripts. Fielding&#8217;s <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">dissertation</a> goes on to describe the caching and scaling benefits of a pure REST architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/02/13/rest-easy-rails-12-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paint.NET 3.0 Released</title>
		<link>http://nathan.studiodifferent.com/2007/01/31/paintnet-30-released/</link>
		<comments>http://nathan.studiodifferent.com/2007/01/31/paintnet-30-released/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 04:30:05 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/01/31/paintnet-30-released/</guid>
		<description><![CDATA[I was introduced to Paint.NET following the recent 3.0 release. Rather than try to compete with the likes of PhotoShop or Gimp, this open source program nails the &#8220;basics&#8221; with an interface whose simplicity belies it&#8217;s strength. Apparently conceived as an undergrad design project &#8220;intended as a free replacement for the MS Paint software that [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/paintdotnet-logo.png" alt="" />
</div>
<p>I was introduced to <a href="http://getpaint.net/index2.html">Paint.NET</a> following the recent <a href="http://blogs.msdn.com/rickbrew/archive/2007/01/26/paint-net-3-0-final-release-now-available.aspx">3.0 release</a>. Rather than try to compete with the likes of PhotoShop or Gimp, this open source program nails the &#8220;basics&#8221; with an interface whose simplicity belies it&#8217;s strength.<span id="more-87"></span></p>
<p>Apparently conceived as an undergrad design project &#8220;intended as a free replacement for the MS Paint software that comes with Windows&#8221;, it now seems strange to put Paint.NET in the same sentence. When I say &#8220;basics&#8221;, not only can this editor crop, resize, and rotate &#8211; it supports layers, unlimited undo/redo, alpha channels, magic wand selection, rubber stamping, and curves. These features are only the beginning, and they already cover the needs of most users.</p>
<p>The interface is incredibly straightforward. Unlike the overwhelming array of PhotoShop palettes, or Gimp&#8217;s less-than-friendly interface, Paint.NET does a great job of masking complexity:</p>
<ul>
<li>Open images appear as thumbnails in the top right corner of the window.</li>
<li>Images fit to window by default, reducing the need to manually zoom in and out.</li>
<li>Toolbars become translucent when they cover part of an image.</li>
<li>The status bar indicates mouse behavior and keyboard modifiers for the selected tool.</li>
</ul>
<p>The following screenshot illustrates these features:</p>
<div style="text-align: center">
<a href="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/paintdotnet-interface.jpg"><img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/paintdotnet-interface-small.jpg" alt="" /></a>
</div>
<p>As an added perk, confirmation dialogues have expanded their vocabulary beyond Yes/No/Cancel, making it easier to select your intended action:</p>
<div style="text-align: center">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/save-dontsave-cancel.png" alt="" />
</div>
<p>Given the intended market it is difficult to find a downside to Paint.NET. It does not support text layers, adjustment layers, channels, or vector layers. I could easily rattle off more &#8220;missing&#8221; features that the typical user won&#8217;t miss. I&#8217;m thankful that the 3.0 release brought Paint.NET to my attention &mdash; when a user serendipitously lamented the loss of Microsoft Image Editor I was able to point him to a better alternative.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/01/31/paintnet-30-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 10 Television Cliches</title>
		<link>http://nathan.studiodifferent.com/2007/01/30/television-cliches/</link>
		<comments>http://nathan.studiodifferent.com/2007/01/30/television-cliches/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 06:43:05 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[pop-culture]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/01/30/television-cliches/</guid>
		<description><![CDATA[In a recent episode of Everybody Hates Chris, a class assignment entailed taking care of an egg as if it were a child. Of course this plot is familiar to those of us who watch more than a modicum of television. Like a light version of cinema&#8217;s trains, falling leaves, and sunsets, sitcoms repeatedly invoke [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/classic-tv.gif" alt=""/>
</div>
<p>In a recent episode of <em>Everybody Hates Chris</em>, a class assignment entailed taking care of an egg as if it were a child. Of course this plot is familiar to those of us who watch more than a modicum of television. Like a light version of cinema&#8217;s trains, falling leaves, and sunsets, sitcoms repeatedly invoke their own set of classic vocabulary. Here&#8217;s my top-10 list of TV cliche&#8217;s&#8230;<span id="more-86"></span></p>
<h3>Drum roll please&#8230;</h3>
<p><strong>10) Flashback</strong> &#8211; This cliche seems to be falling out of style in the face of TiVo and increased television selection. But we&#8217;ve all seen the episode where the cast recalls moments from the past, delimited by shallow &#8220;Do you remember?&#8221; dialogue and <em>Wayne and Garth</em> transitions.</p>
<p><strong>9) School Bully</strong> &#8211; Apparently every sit-com school has a classic bully who chortles at pranks involving lunch being overturned or commandeered. Luckily he&#8217;s willing to stop at demanding lunch money! This harkens back to a simpler time, before the era of school shootings and beat-downs captured on cell phone.</p>
<p><strong> <img src='http://nathan.studiodifferent.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Blame Game</strong> &#8211; One sibling gets in trouble with the parents and blames another. The parents believe the accusation until the wrongdoer finally comes clean, and through the sacrifice we realize how close the family really is. And I shed a tear of joy.</p>
<p><strong>7) Under One Roof</strong> &#8211; Wacky slacker relative crawls out of the woodwork to stay at family home, annoying everyone. This &#8220;unwanted&#8221; addition shocks everyone and helps the family with some unresolved problem, revealing their heart of gold, and causing us all to take a step back and reflect on our own prejudices.</p>
<p><strong>6) One With Nature</strong> &#8211; In the great Griswald tradition, the family embarks on a camping trip, but they are beset by all sides; calamity, and laughter, ensue as city folk try to cope with the wilderness. Insert hairdryer joke. Insert joke about getting lost. Insert joke about bears. Cut to commercial and call it a wrap.</p>
<p><strong>5) Egg-Child</strong> &#8211; Child assigned to take care of an egg for a school project as if it were a baby. The child is unable to convey his/her own immaculate upbringing to the egg, and inevitably misplaces or breaks(!) the egg. But we all take pause to consider the significant responsibility that is parenting. Has anyone actually had to do this in the real world?!</p>
<p><strong>4) Double-Booked</strong> &#8211; In a last-ditch effort to get a date to The Dance&reg;, the protagonist asks two women. To his delighted dismay, he gets two dates to The Dance&reg;, and plays a delicate balancing act before before the dates realize what&#8217;s happening. <em>&#8220;Let me go get you some juice!&#8221;</em>. End scene&#8230;</p>
<p><strong>3) Pregnancy Test</strong> &#8211; &#8220;Mom&#8221; thinks she&#8217;s pregnant, although it&#8217;s just a false alarm (unless the show&#8217;s about to <a href="http://www.jumptheshark.com/">jump the shark</a>). Much dialogue is spent on confiding and avoiding the topic among characters. For a truly dramatic angle, the test appears in the trash, and our TV family ponders the infinite possibilities that loom ahead. Wow, I just blew my mind.</p>
<p><strong>2) From F to A</strong> &#8211; Child gets a bad report card, crudely turns &#8216;F&#8217; into an &#8216;A&#8217;. Parent may express pride by putting the report card on the fridge. The jig is up at the end, and the more important moral lesson is learned. Funny how it would actually be easier to turn an &#8216;F&#8217; into a &#8216;B&#8217;.</p>
<p><strong>1) Love in an Elevator</strong> &#8211; Ensemble cast stuck in an elevator or basement. In the basement scenario, the inside lock often fails, so the already-trapped repeatedly warn &#8220;don&#8217;t close that&#8230;&#8221; as they are repeatedly joined by more characters. If the writers really want to punch it up, the entrapped will deliver a baby. Everyone reveals candid truths and they all grow closer as a result.</p>
<h3>Come Get Some</h3>
<p>Feel free to comment or <a href="http://nathan.studiodifferent.com/2007/01/30/television-cliches/trackback/">trackback</a> with any cliche&#8217;s I missed. I see some overlap with Wikipedia&#8217;s <a href="http://en.wikipedia.org/wiki/List_of_common_situation_comedy_plots">List of common situation comedy plots</a>, but I&#8217;m not concerned with <a href="http://en.wikipedia.org/wiki/Npov">NPOV</a> (neutral point-of-view).</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/01/30/television-cliches/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blogger Enters 1995, Buys Cell Phone</title>
		<link>http://nathan.studiodifferent.com/2007/01/29/blogger-enters-1995-buys-cell-phone/</link>
		<comments>http://nathan.studiodifferent.com/2007/01/29/blogger-enters-1995-buys-cell-phone/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 05:00:44 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[cell-phone]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[prepaid]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2007/01/29/blogger-enters-1995-buys-cell-phone/</guid>
		<description><![CDATA[So I finally broke down and got a cell phone. After weighing my options for ten years I found a plan that makes sense . Since I can&#8217;t use a phone at work, and I don&#8217;t often get calls requesting my assistance with open heart surgery, it was hard for me to justify a lengthy [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2007/01/manonphone.jpg" alt="" />
</div>
<p>So I finally broke down and got a cell phone. After weighing my options for ten years I found a plan that makes sense <img src='http://nathan.studiodifferent.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Since I can&#8217;t use a phone at work, and I don&#8217;t often get calls requesting my assistance with open heart surgery, it was hard for me to justify a lengthy contract. I was almost ready to sign a 2-year Sprint contract when a friend of mine suggested that I consider a prepaid plan.<span id="more-81"></span></p>
<h3>Virgin Mobile it is</h3>
<p>For those of you even less familiar than I was, a prepaid phone requires no contract &#8211; you buy a phone, then pay into an account from which your usage is deducted. The terms surrounding pricing and expiry of minutes vary with each provider. I checked out the reviews on <a href="http://www.prepaidreviews.com/">prepaidreviews.com</a>, and concluded that Virgin Mobile had sufficently favorable reviews and a decent <a href="http://www.virginmobileusa.com/rates/home.do">pricing structure</a> &mdash; by default 18&cent; per minute, 5&cent; per text. If you pay $6.99/month, the voice price goes down to 10&cent; per minute. This is not cost-effective for a heavy user, but it&#8217;s much cheaper for those of us who only use a few hours a month. Virgin Mobile also allows you keep everything you put into your account as long as you contribute $20 every 90 days.</p>
<p>I proceded to check out the web site, which is clearly geared towards the Generation Z set, and found a decent phone. I headed to Best Buy and found that the retail packages, which start at $20, continue the &#8220;I can&#8217;t believe it&#8217;s not a megacorporation, dude!&#8221; motif. <a href="http://www.virginmobileusa.com/phones/catalog.do">The selection</a> is decent enough, although it doesn&#8217;t compete with the high-end phones subsidised by contracts. It only took a few minutes to activate, a few hours to charge the phone, and voila &mdash; this blogger now wielded circa &#8217;95 connectivity!</p>
<h3>Interactive Marketing</h3>
<p>An interesting side-note &#8211; in the same vein as much of the rest of the prepaid marketing, Virgin Mobile&#8217;s Sugar Mama program allows you to earn free minutes. Just watch ads online and answer questions (ADTIME), take text surveys (TEXTTIME), or complete questionnaires (QTIME). I gave it a try for kicks and was treated to a Navy ad and a trailer for The Messengers for an easy free two minutes. I think I&#8217;ll stick with my day job&#8230; Digital50 has a more <a href="http://digital50.com/news/items/PR/2007/01/29/NYM069/new-marketing-partners-help-make-sugar-mama-from-virgin-mobile-usa-even-sweeter/">serious analysis</a> of this service:</p>
<blockquote><p>
&#8220;What really attracted us to the Sugar Mama program is that it is truly a pull vs. a push tactic,&#8221; explained Stacy Doren, director, media and online, Levi Strauss Signature(R). &#8220;The audience is electing to receive the message and interact with the Levi Strauss Signature(R) brand in order to receive the bonus air time. It provides a new and innovative way to reach our consumers and provides us with the assurance that our message is being heard.&#8221;
</p></blockquote>
<h3>Stupid TXT Tricks</h3>
<p>I happened upon Google&#8217;s SMS service. Send a query to &#8220;GOOGLE&#8221; (466453) for weather (&#8220;w 90210&#8243;), movie times (&#8220;m 90210&#8243;), a dictionary (&#8220;d geek&#8221;), and more. You can give it a try using <a href="http://www.google.com/intl/en_us/mobile/sms/">Google&#8217;s demo</a>. Google also offers a <a href="http://toolbar.google.com/send/sms/index.php">web form</a> and <a href="http://www.google.com/tools/firefox/sendtophone/index.html">Firefox extension</a> from which to send text mesasges to numerous networks.</p>
<p>It was also news to this newbie that mobile users can seamlessly send text messages to e-mail addresses. This is a compelling reason to send text via e-mail rather than web form when texting from a computer, so the recipient can respond. It&#8217;s easy enough to find the correct e-mail address for the <a href="http://www.tech-recipes.com/rx/939/sms_email_cingular_nextel_sprint_tmobile_verizon_virgin">big carriers</a> or the <a href="http://www.livejournal.com/tools/textmessage.bml?mode=details">obscure carriers</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2007/01/29/blogger-enters-1995-buys-cell-phone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Translucent Tables with CSS</title>
		<link>http://nathan.studiodifferent.com/2006/12/11/translucent-tables-with-css/</link>
		<comments>http://nathan.studiodifferent.com/2006/12/11/translucent-tables-with-css/#comments</comments>
		<pubDate>Tue, 12 Dec 2006 05:20:42 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/12/11/translucent-tables-with-css/</guid>
		<description><![CDATA[An intranet site facelift recently called for a table with a translucent background. Firefox, my preferred browser, has supported PNG&#8217;s optional alpha channel for some time &#8212; a feature that assigns an opacity to each pixel, from fully transparent to fully opaque. A quick google search revealed that Internet Explorer has offered PNG alpha support [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img id="image80" src="http://nathan.studiodifferent.com/wp-content/uploads/2006/12/transtable-small.jpg" alt="" />
</div>
<p>An intranet site facelift recently called for a table with a translucent background. Firefox, my preferred browser, has supported PNG&#8217;s optional alpha channel for some time &mdash; a feature that assigns an opacity to each pixel, from fully transparent to fully opaque. A quick google search revealed that Internet Explorer has offered PNG alpha support since version 5.5, so I got started.<span id="more-76"></span></p>
<p>Firefox&#8217;s native support of alpha PNG&#8217;s lends itself to a pure standards-based CSS solution: <code>#table { background: url(alpha.png); }</code>. Problem solved!:</p>
<div style="text-align: center">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/12/translucent-firefox.jpg" alt="" />
</div>
<p>Not so fast! Internet Explorer supports PNG&#8217;s, but it does not support their alpha channel. Instead, IE displays a gray block:</p>
<div style="text-align: center">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/12/translucent-ie.jpg" alt="" />
</div>
<p>So the first order of business was to hide the CSS from IE6. This is where it starts to get a bit ugly, but is easily done via CSS <a href="http://www.w3.org/TR/REC-CSS2/selector.html#child-selectors">child selector</a>, since IE ignores such rules prior to version 7: <code>body &gt; #table { background: url(alpha.png); }</code>. The &#8220;body &gt;&#8221; prefix means that the CSS rule will apply to the named element #table that is a child of a body element. With IE6 ignoring the background, I was able to pursue it&#8217;s own kludgy implementation.</p>
<p>In a likely effort to <em>embrace and extend</em> web standards, Microsoft added more proprietary CSS filters to Internet Explorer 5.5. Among them was <a href="http://msdn.microsoft.com/workshop/author/filter/reference/filters/alphaimageloader.asp">AlphaImageLoader</a>, which &#8220;Displays an image within the boundaries of the object and between the object background and content&#8221;. It is this filter that offers PNG alpha support: <code>#table { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg-white50-1px.png', sizingMethod='scale'); }</code>. With this rule in place, IE6 is able to display the translucent background.</p>
<p>To prevent subsequent versions of Internet Explorer from redundantly applying the AlphaImageLoader, I used Internet Explorer&#8217;s <a href="http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp">conditional comments</a>:</p>
<pre>
&lt;!--[if lt IE 7]&gt;
&lt;style&gt;
#table
{
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg-white50-1px.png',sizingMethod='scale');
}
&lt;/style&gt;
&lt;![endif]--&gt;
</pre>
<p>But there was still one more surprise &mdash; this filter managed to render links in the table un-clickable. This was a mystery to me until I happened upon <a href="http://allinthehead.com/retro/69/sleight-of-hand#c000380">a comment</a> on an allinthehead post from 2003. <strong>Links in the table will break unless the image is one pixel</strong>.</p>
<p>I created a <a href="http://www.studiodifferent.com/transtable">small demo page</a> (<a href="http://nathan.studiodifferent.com/wp-content/uploads/2006/12/transtable.zip">ZIP</a>) with in-line CSS to demonstrate.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/12/11/translucent-tables-with-css/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Rails Page Caching Explained</title>
		<link>http://nathan.studiodifferent.com/2006/12/02/rails-page-caching-explained/</link>
		<comments>http://nathan.studiodifferent.com/2006/12/02/rails-page-caching-explained/#comments</comments>
		<pubDate>Sat, 02 Dec 2006 20:54:36 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby-on-rails]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/12/02/rails-page-caching-explained/</guid>
		<description><![CDATA[Page caching is the simplest form of caching that Ruby on Rails offers. When invoked, page caching saves output to Rails&#8217; public directory where it is subsequently served along with the other static pages. Of course this is advantageous for high traffic sites or pages that are slow to render. In most cases, page caching [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img id="image75" src="http://nathan.studiodifferent.com/wp-content/uploads/2006/12/cache.png" alt="cache.png" />
</div>
<p>Page caching is the simplest form of caching that Ruby on Rails offers. When invoked, page caching saves output to Rails&#8217; public directory where it is subsequently served along with the other static pages. Of course this is advantageous for high traffic sites or pages that are slow to render. In most cases, page caching works without any config file editing. I, however, encountered a minor problem that prompted me to investigate this simple mechanism a bit further.<span id="more-74"></span></p>
<h3>Rails Configuration</h3>
<p>Just add one line to a controller to enable page caching:</p>
<pre>class DemoController &lt; ApplicationController
  caches_page :show</pre>
<p>The <a href="http://api.rubyonrails.org/classes/ActionController/Caching/Pages/ClassMethods.html#M000091">caches_page()</a> method instructs Rails to cache the output of the indicated actions. In the above example, Rails will save the output generated by the <strong>show</strong> action to the corresponding public directory. For example if a browser visits http://server/demo/show/123, cached output will reside in the file public/demo/show/123.html. For future requests, the web server will use this static file rather than running any Rails code.</p>
<p>If you would like Rails to expire the page, the easiest option is to call the method <a href="http://api.rubyonrails.org/classes/ActionController/Caching/Pages.html#M000087">expire_page()</a>. Arguments follow the same syntax as <a href="http://api.rubyonrails.org/classes/ActionController/Base.html#M000202">url_for</a>. Under the hood, page expiry simply deletes the cached file. To expire the file created in the previous paragraph: <code>expire_page :controller =&gt; "demo", :action =&gt;, :id =&gt; 123</code></p>
<p>By default, caching directives are ignored unless RAILS_ENV=&#8221;production&#8221;. You can explicitly control caching for each environment by specifying <code>config.action_controller.perform_caching = true</code> in the appropriate environment file (e.g. &#8220;config/environments/development.rb&#8221;).</p>
<h3>Web Server Configuration</h3>
<p>Notice that Rails appends an &#8220;html&#8221; extension to cached pages. This extension allows the web server to treat the file like any other HTML file for determination of MIME type, permissions, etc. However, the extension also means that the web server must be configured to internally append &#8220;.html&#8221; to serve the cached page. Rails&#8217; skeleton directory includes an Apache configuration file (public/.htaccess), and a Lighttpd configuration (config/lighttpd.conf), which do just that:</p>
<table>
<thead>
<tr>
<th width="50%">Apache</th>
<th width="50%">Lighttpd</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top">
<pre>
RewriteEngine On
RewriteRule ^([^.]+)$ $1.html [QSA]
</pre>
</td>
<td valign="top">
<pre>
server.modules = ( "mod_rewrite", ... )
url.rewrite += ( "^([^.]+)$" =&gt; "$1.html" )
</pre>
</td>
</tr>
</tbody>
</table>
<p>Notice the regular expression common to both configurations: <code>^([^.]+)$</code>. In English this translates to &#8220;if a request does not contain a period: <code>^([^.]+)$</code>, then internally append &#8216;.html&#8217; to that request: <code>$1.html</code>&#8220;.</p>
<h3>My Original Problem: Firefox Ignoring Updates</h3>
<p>I encountered what may be an isolated issue wherein Firefox 2 consistently failed to update pages whose contents expired via expire_page(). &#8220;about:cache&#8221; revealed that FireFox was setting a brief expiration time on static pages, and was using the old cached copy rather than requesting the current server copy. The workaround was easy enough &#8211; tell the web server to immediately expire cached pages. Continuing the above example, the Apache config should reside in public/demo/.htaccess, and the Lighttpd config should be added to lighttpd.conf:</p>
<table>
<thead>
<tr>
<th width="50%">Apache</th>
<th width="50%">Lighttpd</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top">
<pre>
ExpiresActive On
ExpiresDefault Now
</pre>
</td>
<td valign="top">
<pre>
server.modules = ( "mod_expire", ... )
$HTTP["url"] =~ "^/demo" {
  expire.url = ( "" =&gt; "access 0 seconds" )
}
</pre>
</td>
</tr>
</tbody>
</table>
<p>These directives cause the web server to append <strong>Expires</strong> (HTTP 1.0) or <strong>Cache-Control</strong> (HTTP 1.1) headers that instruct the client to request the page anew for each display. This is less bandwidth-efficient, but that was not an issue for the intranet site I was working on.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/12/02/rails-page-caching-explained/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PowerShell: Windows Administration Evolved</title>
		<link>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/</link>
		<comments>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 06:30:04 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/</guid>
		<description><![CDATA[Yesterday Microsoft released their new command shell, Windows PowerShell (via Aaron Tiensivu). This next-generation shell offers an administrative environment that strives to replace a jumble of administrative commands with a consistent, extensible interface. Consider traditional Windows system administration tools &#8212; it is possible to automate administrative tasks with powerful commands like sc, netsh, and cacls. [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/11/powershell-icon.png" alt=""/>
</div>
<p>Yesterday Microsoft <a href="http://blogs.msdn.com/powershell/archive/2006/11/14/windows-powershell-1-0-released.aspx">released</a> their new command shell, Windows PowerShell (via <a href="http://blog.tiensivu.com/aaron/archives/713-PowerShell-1.0-is-supposed-to-RTM-today.html">Aaron Tiensivu</a>). This next-generation shell offers an administrative environment that strives to replace a jumble of administrative commands with a consistent, extensible interface.<span id="more-71"></span></p>
<p>Consider traditional Windows system administration tools &mdash; it is possible to automate administrative tasks with powerful commands like sc, netsh, and cacls. But each of these commands presents an esoteric interface with inconsistent command line options, and built-in documentation is sparse at best. Likewise, scripting with VBScript/JScript has good potential, but interaction with executables requires excessive housekeeping, and COM object interfaces are also inconsistent.</p>
<p>Unlike Windows&#8217; monolithic commands, *nix has long offered a wide range of simple commands whose text input/output is easily strung together to perform useful tasks. Certain command line options are consistent enough (e.g. &#8220;-v&#8221;), and the man/info help system facilitates on-line documentation.</p>
<p>Enter <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx">PowerShell</a>, which evolves *nix pipe concept to process <em>.NET objects</em> rather than simple text. The basic element of PowerShell&#8217;s object-oriented pipeline is the <em>cmdlet</em> (pronounced &#8220;command-let&#8221;). These simple commands follow a <a href="http://msdn2.microsoft.com/en-us/library/ms714428.aspx">verb</a>-noun naming convention that indicates their purpose. For example, <code>Get-Service</code> outputs the services on the local machine as service objects; <code>Set-Date</code> sets the clock. Functionality is so granular that output formatting is isolated to format- cmdlets, and output is the responsibility of output- cmdlets. For example:</p>
<pre>PS C:\&gt; Get-Process notepad | Stop-Process</pre>
<p><code>Get-Process notepad</code> passes a list of .NET process objects named &#8220;notepad&#8221; (specifically, <em><a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.aspx">System.Diagnostics.Process</a></em>), and passes them to <code>Stop-Process</code>, which kills them. It would be just as easy to access any of the other Process properties or methods.</p>
<p>Extensive built-in help is available. The command <code>Get-Help</code> details it&#8217;s own options, and is a good place to start. Combined with the integrated scripting language, PowerShell + .NET is a clean alternative to VBScript/JScript + COM.</p>
<p>PowerShell 1.0 is <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx">available for download</a>. Microsoft&#8217;s <a href="http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/index.mspx">What Can I Do with Windows PowerShell?</a> offers basic examples to get started. I also recommend the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B4720B00-9A66-430F-BD56-EC48BFCA154F&#038;displaylang=en">documentation pack</a>, which includes a more extensive 32-page Getting Started Guide as well as a 116-page primer. <a href="http://msdn2.microsoft.com/en-us/library/aa830112.aspx">full documentation</a> is available on MSDN.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Welcome to the Zune ads</title>
		<link>http://nathan.studiodifferent.com/2006/11/07/welcome-to-the-zune-ads/</link>
		<comments>http://nathan.studiodifferent.com/2006/11/07/welcome-to-the-zune-ads/#comments</comments>
		<pubDate>Tue, 07 Nov 2006 06:13:19 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[zune]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/11/07/welcome-to-the-zune-ads/</guid>
		<description><![CDATA[Microsoft is taking a decidedly muted marketing approach with Zune, their potential iPod competitor. We&#8217;ve been inundated with ads for the incrementally improved iPod Nano and Shuffle, but there doesn&#8217;t seem to be an equivalent Zune campaign, despite the imminent November 14 release. Zune Insider offers a peek at some TV ads, and my opinion [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/11/zune-logo.png" alt=""/>
</div>
<p>Microsoft is taking a decidedly muted marketing approach with Zune, their potential iPod competitor. We&#8217;ve been inundated with ads for the incrementally improved iPod Nano and Shuffle, but there doesn&#8217;t seem to be an equivalent Zune campaign, despite the imminent November 14 release. Zune Insider offers a peek at <a href="http://www.zuneinsider.com/2006/11/zune_tv_spots.html">some TV ads</a>, and my opinion is mixed.<span id="more-64"></span></p>
<p>Apple&#8217;s stylish product-focused iPod ads have transformed their white earbuds into an iconic, self-propelling fashion statement. The initial batch of Zune ads try to pose an organic contrast to Apple&#8217;s polished ads, replete with deep earth tones, dancing crowds, and possibly more dogs than is healthy. While I recognize they are trying to establish the product&#8217;s &#8220;Welcome to the social&#8221; tagline, these high-concept ads are easy to mistake for a Levi&#8217;s commercial. Or worse &mdash; an iPod&reg; commercial, since the iPod&reg; is now the Kleenex&reg; of MP3 player brands.</p>
<p>Of the inital bunch, I think the Lion vs. Gazelle is the best. Product-centric, and featuring a catchy tune and a memorable concept:</p>
<div style="text-align: center">
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/G-AJrnJNZb4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/G-AJrnJNZb4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</div>
<p><a href="http://www.youtube.com/profile?user=zuneinsider">The rest</a> of the ads feel left field. Take a look at Picnic. It&#8217;s basically a 20-something Sesame Street cast dancing and hugging to a folk song. And dogs. Lots of dogs:</p>
<div style="text-align: center">
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/4KwiBwT-0nc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/4KwiBwT-0nc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</div>
<h3>IMHO</h3>
<p>While technology doesn&#8217;t tend to win markets, Zune features compete favorably with the iPod. The 3&#8243; screen is .5&#8243; larger than the iPod, and the ability to wirelessly share audio/video is exciting. It will play nicely with an X-Box 360, and I expect it to interact with Microsoft&#8217;s <a href="http://soapbox.msn.com/">Soapbox</a> video sharing site when it&#8217;s out of beta. But if Microsoft is to compete with the Apple juggernaut, they&#8217;ll need to ramp up their branding. Thanks to <a href="http://www.zuneinsider.com/">Zune Insider</a> for sharing the TV spots.</p>
<h3>Tangent: New XP &#8220;Zune&#8221; Theme</h3>
<p>After several months with the Energy Blue theme (aka Royale) for Windows XP, I was interested in a replacement for this bright blue theme. I came across <a href="http://www.istartedsomething.com/20061029/royale-noir/">Royale Noir</a> on Istartedsomething (via <a href="http://john.se/blog/2006/10/28/secret-xp-theme-royale-noir-compared-against-the-black-royale-im-using/">John&#8217;s blog</a>), which includes the original blue as well as a black iteration. The latter is nice, but inactive Windows are a bit too dark on my LCD. A comment on Istartedsomething referred me to my new theme <a href="http://www.zune.net/en-us/meetzune/device.htm">on Zune.net</a> (lower right image), which is basically an updated version of Royale Noir.</p>
<div style="text-align: center">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/11/zune-mini.png" alt=""/>
</div>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/11/07/welcome-to-the-zune-ads/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two small steps for Microsoft, one giant push towards convergence</title>
		<link>http://nathan.studiodifferent.com/2006/10/31/two-small-steps-for-microsoft-one-giant-push-towards-convergence/</link>
		<comments>http://nathan.studiodifferent.com/2006/10/31/two-small-steps-for-microsoft-one-giant-push-towards-convergence/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 04:33:59 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[xbox360]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/10/31/two-small-steps-for-microsoft-one-giant-push-towards-convergence/</guid>
		<description><![CDATA[Today Microsoft released a major update to the X-Box 360 dashboard as well as Windows Media Player 11. In concert, these upgrades allow you to stream video to your X-Box 360 from your PC, flash drive, CD/DVD, or soon-to-be Zune! The 360 dashboard upgrade is rather exhaustive, but the video sharing features are the most [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/11/windows-media-logo.png" alt="" />
</div>
<p>Today Microsoft released a major update to the X-Box 360 dashboard as well as <a href="http://www.microsoft.com/windows/windowsmedia/player/11/default.aspx">Windows Media Player 11</a>. In concert, these upgrades allow you to stream video to your X-Box 360 from your PC, flash drive, CD/DVD, or soon-to-be Zune! The 360 dashboard upgrade is <a href="http://www.xbox.com/en-US/community/news/2006/1030-novemberupdate-completelist.htm">rather exhaustive</a>, but the video sharing features are the most compelling.<span id="more-63"></span></p>
<p>The <a href="http://en.wikipedia.org/wiki/3DO">3DO</a>, and the <a href="http://en.wikipedia.org/wiki/CD-i">CD-i</a> before it dreamt of transcending label of &#8220;game console&#8221; and providing multimedia entertainment beyond the traditional video game. Enter 2006, and Microsoft is among the companies best poised to finally package gaming, video, music, and communication in a convenient set-top package. Microsoft&#8217;s in-house <a href="http://www.microsoft.com/windows/windowsmedia/forpros/codecs/codecs.aspx">audio/video formats</a> and <a href="http://www.microsoft.com/windows/windowsmedia/forpros/drm/faq.aspx">DRM</a> standards will become more formidable when joined with <a href="http://www.engadget.com/2006/05/15/mtv-and-microsoft-launch-urge/">partnerships</a>, the 360, and the Zune.</p>
<p>Windows Media Center edition was previously necessary to stream video to the 360, but the new dashboard and the sharing features of Windows Media Player 11 obviate the need for MCE. Now WMP11 can stream Microsoft&#8217;s video formats as old as WMV7 and as new as VC-1. Just go to the Media tab in the dashboard to browse videos a flat list of videos on your computer. This would quickly become unwieldy with enough videos, but it&#8217;s functional. Strike two is that non-Microsoft formats are not supported, but it&#8217;s easy enough to convert to WMV9 using <a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx">Windows Media Encoder</a>.</p>
<p>My first attempt at a WMV9 720p conversion worked flawlessly. For another WMV quick fix, I tried some content from Microsoft&#8217;s old <a href="http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx">WMV HD Content Showcase</a>, and a couple of trailers from <a href="http://www.gametrailers.com/">gametrailers.com</a> &mdash; aside from occasional studders, all of the content I tried worked flawlessly. On a side-note, I&#8217;m curious if the short-lived <a href="http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/dvd.aspx">WMV HD DVD</a> &#8220;standard&#8221; will work on the 360.</p>
<p>Microsoft&#8217;s media arsenal offers a potential alternative to the next-generation DVD formats. While HD-DVD and Blu-Ray basically upgrade the existing DVD sales/rental model, Microsoft&#8217;s hardware/software is a candidate for a successful next-generation approach that is more portable, and more convenient for both content consumers and providers.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/10/31/two-small-steps-for-microsoft-one-giant-push-towards-convergence/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>X-Box 360 Red Ring of Death</title>
		<link>http://nathan.studiodifferent.com/2006/10/03/x-box-360-red-ring-of-death/</link>
		<comments>http://nathan.studiodifferent.com/2006/10/03/x-box-360-red-ring-of-death/#comments</comments>
		<pubDate>Wed, 04 Oct 2006 04:50:22 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[xbox360]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/10/03/x-box-360-red-ring-of-death/</guid>
		<description><![CDATA[Console gamers like myself are largely insulated from problems that plague PC gamers. Just insert game, press power, and play. No specifications or tweaking to worry about, no drivers to upgrade, no crashing&#8230; Here, let me turn on the X-Box 360 and show you. Wait, what?! No, Dead Rising is not supposed to look like [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/10/xbox360-controller.jpg" alt="" width="140" height="121"/>
</div>
<p>Console gamers like myself are largely insulated from problems that plague PC gamers. Just insert game, press power, and play. No specifications or tweaking to worry about, no drivers to upgrade, no crashing&#8230; Here, let me turn on the X-Box 360 and show you. Wait, what?! No, Dead Rising is not supposed to look like colorful HD noise! I&#8217;m sure it&#8217;s a fluke, I&#8217;ll just reset&#8230; Uh oh&#8230;&#8230; the pretty green lights around the power button have turned red and the 360 refuses to boot!<span id="more-60"></span></p>
<p>The above tale paraphrases my X-Box 360 experience this weekend. Apparently I am not alone &mdash; <a href="http://m0thman.wordpress.com/2006/07/04/xbox-360-red-ring-of-death/">m0thman&#8217;s tale</a> is just as woeful. Kotaku documented his tragedy in an <a href="http://www.kotaku.com/gaming/madame-butterfly/un-bel-di-360-an-opera-201864.php">operatic video</a>. The8thsign needed <a href="http://www.the8thsign.com/2006/10/03/the-tale-of-3-xbox-360s/">three X-Box 360&#8242;s</a> to get one that worked. Not only does Microsoft have a <a href="http://support.microsoft.com/kb/907534">Knowledge Base article</a> on the red &#8220;Ring of Light&#8221;, but they even offer <a href="http://blogs.mercurynews.com/aei/2006/09/microsoft_dismi.html">free repairs</a> on 360&#8242;s manufactured in 2005 if you call 1-800-4MY-XBOX. Mine happened to be manufactured in February 2006, and would have thus required a $140 repair fee.</p>
<p style="border: dotted 2px red; padding: 5px; background: #ffffdd;">
<strong>Update 2006-10-19:</strong> My 360 died again, after the below fix afforded me 24+ hours of error-free operation. No Red Ring of Death, but it reverted back to the random crashing. Others have reported continued success with this technique and, despite my results, I feel the theory is sound. <em>Something</em> related to the problem obviously changed. I decided to cut my losses and get a new 360.
</p>
<p>Not anxious to drop another $140 or potentially wait several weeks for a refurb system, I proceeded to search for a solution. I followed a <a href="http://forums.xbox-scene.com/index.php?showtopic=484726">technique</a> found on xbox-scene.com to determine my error code (0102, &#8220;unknown error&#8221;). Then I came across the below video entitled &#8220;Hot Air Gun Fix &#8211; XBox360&#8243;:</p>
<div style="text-align: center">
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/NYv6b7MndJk"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/NYv6b7MndJk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</div>
<p>Intrigued by the video, I looked for more info on this &#8220;Team MODFREAKz&#8221; person, and found the original xboxhacker.net <a href="http://www.xboxhacker.net/forums/index.php?topic=1193.0">forum post</a> detailing the hot air gun theory, which was basically arrived at as follows: MODFREAKz realized that his freezing 360 would function after several reboots. He surmised that the eventual success might be attributable heat expanding solder joints and improving connectivity. Specifically, the solder joints that connect the RAM and graphics chips to the motherboard. These devices use Ball Grid Array packaging (<a href="http://en.wikipedia.org/wiki/Ball_Grid_Array">wiki</a>). Rather than traditional pins and holes, BGA packages use tiny solder balls. During manufacture, BGA chips are attached with intense heat, so the hot air gun fix is a sound theory.</p>
<p>So I purchased a hot air gun, and proceeded with informit&#8217;s fairly comprehensive <a href="http://www.informit.com/articles/article.asp?p=430626&#038;seqNum=2&#038;rl=1">disassembly instructions</a>. Despite the thorough instructions, dismantling the 360 was a hassle at times. I found it easier to remove the front cover by pulling from inside the USB flip-cover rather than the memory card flip-covers. The heat sink retention mechanism was particularly difficult to remove and reattach, but force and patience prevailed. I set the temp. on 750F, followed the video, and crossed my fingers while it cooled off. Since I had the thing open, I applied Arctic Silver to the GPU and the CPU.</p>
<p>When I reassembled the 360, I was first impressed that it still worked after my battle with the heat sinks, then I was pleased to see Dead Rising again, sans glitchy video. Several hours of running the title screen and intro suggest that my 360 is healed. One could argue that the new heat sink compound (e.g. <a href="http://arstechnica.com/journals/thumbs.ars/2006/6/16/4353">arstechnica</a>), or even the jostling during disassembly is responsible for the fix. In any event, I&#8217;m happy with the result, and will live happily ever after with my X-Box, and my new heat gun and Torx T8 screwdriver.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/10/03/x-box-360-red-ring-of-death/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Is Anything Cleaner than a Toilet Seat?</title>
		<link>http://nathan.studiodifferent.com/2006/09/21/is-anything-cleaner-than-a-toilet-seat/</link>
		<comments>http://nathan.studiodifferent.com/2006/09/21/is-anything-cleaner-than-a-toilet-seat/#comments</comments>
		<pubDate>Fri, 22 Sep 2006 05:13:44 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[cellphone]]></category>
		<category><![CDATA[germs]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[toilet]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/09/21/is-anything-cleaner-than-a-toilet-seat/</guid>
		<description><![CDATA[Even in a society preoccupied with cleanliness, one might expect the restroom &#8212; in particular, the toilet &#8212; to be slightly unclean. We wouldn&#8217;t want to eat off of a toilet seat, for instance, or do anything with the water but flush it. But unless you&#8217;ve been living under a rock for the past 10 [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/09/toilet.jpg" alt="" width="130" height="87"/>
</div>
<p>Even in a society preoccupied with cleanliness, one might expect the restroom &mdash; in particular, the toilet &mdash; to be slightly unclean. We wouldn&#8217;t want to eat off of a toilet seat, for instance, or do anything with the water but flush it. But unless you&#8217;ve been living under a rock for the past 10 years, you&#8217;ve heard at least one &#8220;dirtier than a toilet seat&#8221; study. Here is a compilation thereof, and you don&#8217;t even have to wait for the news at 10:00. <span id="more-57"></span></p>
<p>ABC News <a href="http://www.emediawire.com/releases/2004/12/emw184838.htm">reports</a> that <strong>fast food ice</strong> is dirtier than toilet water! Jasmine Robert&#8217;s award-winning middle school science project proved that &#8220;70 percent of the time, ice from fast food restaraunts was dirtier than toilet water.&#8221; Ironically, E. coli was among the bacteria. It&#8217;s a cold, hard fact that these machines are not cleaned, and neither are the people scooping ice.</p>
<p>Not convinced? Maybe I can steer you in the right direction by informing you that <strong>steering wheels</strong> are almost three times dirtier than toilets! <a href="http://motoring.aol.co.uk/steering-wheels-dirtier-than-toilets/article/20060909081009990003">AOL Motoring</a> finds 41,600 germs on the average steering wheel compared to 17,400 on a toilet seat. &#8220;If food or dirt is transmitted on to the wheel and not regularly cleaned, then the germs multiply and pretty quickly you can be left with an area more unsanitary than a toilet.&#8221;</p>
<p>Hold the phone &#8211; ABC News <a href="http://www.emediawire.com/releases/2004/12/emw184838.htm">informs us</a> that <strong>cell phones</strong> are also dirtier than a toilet! Microbiologist Chuck Gerba explains &#8220;You put it in a warm place, you hold it in your hand, you put it in your pocket&#8230;bacteria like that. It can grow in these types of places.&#8221; <em>Half</em> of the phones Gerba tests are home to staph bacteria.</p>
<p>You think you can go to work and escape the filth? Chuck Gerba has that covered too &#8211; or more specifically, it too is covered&#8230; in bacteria! The <strong>average desk</strong> is houses 400 times more bacteria than a toilet seat. Gerba <a href="http://www.marketwire.com/mw/release_html_b1?release_id=40596&amp;category=">enlightens us again</a>: &#8220;For bacteria, a desk is really the laptop of luxury&#8230;They can feast all day from breakfast to lunch and even dinner.&#8221; Next time you&#8217;re at your desk, know that your hand is resting on &#8220;10,000,000 bacteria&#8221;. A later <a href="http://www.emediawire.com/releases/2004/12/emw184838.htm">University of Arizona study</a> by Dr. Ingram contrasts the toilet&#8217;s &#8220;49 microbes per square inch&#8221; against the <strong>office phone</strong> with &#8220;25,127 microbes per square inch&#8221;</p>
<p>From these consistent results, it seems that these studies are approaching the problem from the wrong angle. If all of these things are dirtier than toilets, then what is <em>cleaner</em> than a toilet?</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/09/21/is-anything-cleaner-than-a-toilet-seat/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Merger between HP and Big Brother?</title>
		<link>http://nathan.studiodifferent.com/2006/09/20/merger-between-hp-and-big-brother/</link>
		<comments>http://nathan.studiodifferent.com/2006/09/20/merger-between-hp-and-big-brother/#comments</comments>
		<pubDate>Thu, 21 Sep 2006 05:10:54 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[hp]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/09/20/merger-between-hp-and-big-brother/</guid>
		<description><![CDATA[Hewlett-Packard&#8217;s deceptive practices are not limited to their outrageous figure-slimming cameras! Apparently HP feels that what happens in the boardroom should stay in the boardroom. So vehemently that in order to investigate leaks, HP resorted to questionable techniques to obtain phone records, contacted journalists under false pretense, and mulled the possibility of undercover operations involving [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/09/hp-logo.jpg" alt="" width="130" height="77"/>
</div>
<p>Hewlett-Packard&#8217;s deceptive practices are not limited to their outrageous <a href="http://37signals.com/svn/archives2/the_hp_diet_plan_buy_our_cameras.php?49">figure-slimming cameras</a>! Apparently HP feels that what happens in the boardroom should stay in the boardroom. So vehemently that in order to investigate leaks, HP resorted to questionable techniques to obtain phone records, contacted journalists under false pretense, and mulled the possibility of undercover operations involving clerical or cleaning staff. <span id="more-55"></span></p>
<p>It took a bit of searching to decipher just what was leaked, but here&#8217;s a Cliff&#8217;s notes version of a Salon.com <a href="http://www.salon.com/wire/ap/archive.html?wire=D8K8QTHO0.html">article on the matter</a>: Once upon a time, then-CEO and Chairwoman Carly Fiorina was instrumental in swaying the rest of the board to acquire Compaq. Except for one small hold-out, Walter <em>Hewlett</em>, son of HP founder. HP bought Compaq for $19 billion, politics ensued, and Hewlett left. Fast forward 2005, when behind closed doors, HP&#8217;s board was unhappy with the results and fired Fiorina. Word of the divided board was leaked to the news, and HP began an investigation to determine the source of the leak.</p>
<p>Phone records were a logical place to start. A New York Times <a href="http://www.nytimes.com/2006/09/20/technology/20hewlett.html?ex=1316404800&#038;en=de7ec28d484495e6&#038;ei=5090&#038;partner=rssuserland&#038;emc=rss">report</a> finds that &#8220;In addition to Hewlett-Packard directors, nine journalists and two employees, those whose phone records were obtained included Larry W. Sonsini, the outside counsel&#8221;. The report cites an e-mail exchange on the matter: &#8220;How does [private detective] Ron get cell and home phone records?&#8221; asks Kevin Hunsaker, HP&#8217;s chief ethics officer. &#8220;We use pretext interviews&#8221; answers Anthony Gentilucci, manager of HP&#8217;s global investigations. That&#8217;s a sexy way of saying that they lied to the phone company.</p>
<p>And the plot thickens &#8211; The Washington Post <a href="http://www.washingtonpost.com/wp-dyn/content/article/2006/09/20/AR2006092001964.html">uncovers</a> ficticious character &#8220;Jacob&#8221;, created by our heroes Hunsaker and Gentilucci to contact CNET.com employee Dawn Kawamoto. The idea was to that Kawamoto would forward Jacob&#8217;s juicy e-mail back to an HP employee, where they could identify the leak. When initial contact revealed Kawamoto&#8217;s upcoming vacation, the dynamic duo was already aware that she &#8220;made numerous calls to Disneyland&#8221;.</p>
<p>The New York Times <a href="http://www.nytimes.com/2006/09/20/technology/20hewlett.html?ex=1316404800&#038;en=de7ec28d484495e6&#038;ei=5090&#038;partner=rssuserland&#038;emc=rss">report</a> even mentions &#8220;Feasibility studies&#8221; regarding &#8220;undercover operations (clerical) in CNET and WSJ offices in SF bureaus&#8221;. While they didn&#8217;t find evidence that action was taken on these studies, it&#8217;s scary to hear about a well-known corporation engaging in any of this cloak-and-dagger activity.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/09/20/merger-between-hp-and-big-brother/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

