<?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>DeHamerspace &#187; tech</title>
	<atom:link href="http://dehamerspace.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://dehamerspace.com</link>
	<description></description>
	<lastBuildDate>Tue, 01 Jun 2010 16:11:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making SpeedFiler 2.0 Work With Outlook 2010</title>
		<link>http://dehamerspace.com/2010/05/30/making-speedfiler-2-0-work-with-outlook-2010/</link>
		<comments>http://dehamerspace.com/2010/05/30/making-speedfiler-2-0-work-with-outlook-2010/#comments</comments>
		<pubDate>Mon, 31 May 2010 06:00:40 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2010/05/30/making-speedfiler-2-0-work-with-outlook-2010/</guid>
		<description><![CDATA[I have no love for Microsoft Outlook. In fact, Outlook perfectly represents everything that is wrong with the bloated Office Suite – it tries to do too much, and does none of it well. That being said, I still spend much of my working life in Outlook. It is one of a handful of applications [...]]]></description>
			<content:encoded><![CDATA[<p>I have no love for Microsoft Outlook. In fact, Outlook perfectly represents everything that is wrong with the bloated Office Suite – it tries to do too much, and does none of it well. That being said, I still spend much of my working life in Outlook. It is one of a handful of applications that are ALWAYS running on my PC. In fact, I have an entire monitor that is dedicated almost exclusively to running Outlook. </p>
<p>One of the tools that has made Outlook bearable for me for the past few years is an add-in called <a href="http://www.claritude.com/">SpeedFiler</a> from Claritude Software. SpeedFiler basically does one thing: it helps you get stuff out of your inbox. I’m not going to do an ad for SpeedFiler here (you can read <a href="http://www.hanselman.com/blog/GettingThingsDoneWithSpeedFiler.aspx">Scott Hanselman’s</a> post if you want to get a feel for how it works) but it has absolutely become a <strong>critical</strong> tool in my never-ending quest for a tidy inbox.</p>
<p>So, I got a bit panicked when I discovered that SpeedFiler didn’t work with Outlook 2010. I was doing my semi-annual system rebuild this weekend and I usually take that opportunity to make sure that I’m running the latest-and-greatest of all my core applications. Since Office 2010 was recently released it seemed like a perfect time to upgrade from Office 2007.</p>
<p>The Office install went smoothly but when I went to install SpeedFiler I was greeted with the following:</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="" border="0" alt="" src="http://dehamerspace.com/wp-content/uploads/2010/05/image.png" width="479" height="276" /></p>
<p>Ugh! Outlook without SpeedFiler is a deal breaker for me. I was just about to go digging for my Office 2007 CD, but then it occurred to me: SpeedFiler couldn’t possibly know that it <strong>doesn’t</strong> work with Office 2010, it doesn’t even know that it exists. See SpeedFiler was last updated back in 2007. What if it actually <strong>does</strong><em> </em>work with Office 2010, but just doesn’t know it yet. If I could trick it into at least installing itself, it may work just perfectly.</p>
<p>OK, so the first step is to try and understand how the SpeedFiler installer knows what products I have installed. Time to fire up <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">Process Monitor</a> (Quick side note: Mark Russinovich is a genius and all of the <a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx">Sysinternals</a> utilities are incredible). Among other things, Process Monitor allows you to see file system and registry access in real time. The volume of information that it reports can be a bit overwhelming, but if you learn to use the filtering feature it can be incredibly useful.</p>
<p>By running Process Monitor and then re-launching the SpeedFiler installer, I can see everything the installer is doing related to the file system and the registry.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2010/05/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://dehamerspace.com/wp-content/uploads/2010/05/image_thumb4.png" width="600" height="379" /></a></p>
<p>Sure enough, the Process Monitor output shows clearly that SpeedFiler was looking for a couple of keys in the registry related to Office that were not present on my system:</p>
<p><code>HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Outlook\InstallRoot</code></p>
<p>and</p>
<p><code>HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\11.0\Outlook\InstallRoot</code></p>
<p>I’m thinking that the <em>NAME NOT FOUND</em> result coming back from those queries is the reason that the installation is halting.</p>
<p>Some quick digging through the registry showed that I definitely didn’t have either of the keys that the installer was looking for, but I did have something very similar under the 14.0 version of Office (I’m guessing that 14.0 is the version number for Office 2010).</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2010/05/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://dehamerspace.com/wp-content/uploads/2010/05/image_thumb5.png" width="600" height="288" /></a> </p>
<p>I decided to re-create the <em>Path</em> value from the <em>14.0</em> branch of the tree in the <em>12.0</em> branch.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2010/05/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://dehamerspace.com/wp-content/uploads/2010/05/image_thumb6.png" width="600" height="288" /></a> </p>
<p>I manually created the <em>Outlook</em> and <em>InstallRoot</em> keys and added the <em>Path</em> string value pointing to my Office 2010 installation. I re-executed the SpeedFiler installer and it worked without error!</p>
<p>I launched Outlook and immediately saw that it was loading the SpeedFiler add-in. The UI integration with the Outlook ribbon isn’t that great (everything shows-up on the Add-Ins tab), but it doesn’t really matter because SpeedFiler is really all about the keyboard shortcuts.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2010/06/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://dehamerspace.com/wp-content/uploads/2010/06/image_thumb.png" width="600" height="172" /></a> </p>
</p>
<p>All that matters is that it works – and it does. It works exactly like it did in Outlook 2003 and Outlook 2007. Crisis averted.</p>
<p>Now for a few caveats. If you are running a 32-bit version of Windows, there is a very good chance that the registry key I showed above will be different on your system (note the inclusion of <em>Wow6432Node</em> as part of the path). You may want to run Process Monitor to see if a different key is used on 32-bit systems.</p>
<p>Also, if you are running the 64-bit version of Office, there is a good chance that <strong>none</strong> of this will work at all. Office itself now comes in both 32-bit and 64-bit flavors and it may be tempting to install the 64-bit version to match your shiny, 64-bit OS, but you’ll likely find that none of your legacy add-ins will work. Since the add-ins run in the same process space as the application, you need to have 64-bit versions of your add-ins in order for them to run with the 64-bit version of Office. Unless you have <strong>really</strong> big spreadsheet needs, I’m not sure there’s any benefit to running the 64-bit version of office anyway, so it’s better to stick with the 32-bit version until the add-ins have time to catch-up.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2010/05/30/making-speedfiler-2-0-work-with-outlook-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building a Customized MS Office 2007 Install CD</title>
		<link>http://dehamerspace.com/2009/10/27/building-a-customized-ms-office-2007-install-cd/</link>
		<comments>http://dehamerspace.com/2009/10/27/building-a-customized-ms-office-2007-install-cd/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 18:45:27 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2009/10/27/building-a-customized-ms-office-2007-install-cd/</guid>
		<description><![CDATA[Over the past month I’ve done 3 or 4 installations of Microsoft Office 2007 on different machines and have become increasingly frustrated with all of the tedious, manual steps that are required:

Enter 25-digit product key 
De-select all of the various applications and options that I don’t want installed 
Use Microsoft Update to download/install Office Service [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past month I’ve done 3 or 4 installations of Microsoft Office 2007 on different machines and have become increasingly frustrated with all of the tedious, manual steps that are required:</p>
<ul>
<li>Enter 25-digit product key </li>
<li>De-select all of the various applications and options that I <strong>don’t</strong> want installed </li>
<li>Use Microsoft Update to download/install Office Service Pack 2 </li>
<li>Configure Outlook with my employer’s Exchange Server information </li>
</ul>
<p>I’ve gone through this so many times now that I’m pretty good at doing it quickly but there is still a lot of clicking and waiting for the next prompt. I finally decided to see what it takes to automate this whole process. Turns out that it’s pretty simple.</p>
<h3>Copy CD to Hard Disk</h3>
<p>The customization process requires that a bunch of files be added to the MS Office installation CD. I copied the entire contents of my existing MS Office CD to my hard disk – this will serve as the starting point of my new disc image.</p>
<p>&#160;<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Office2007 (2)" border="0" alt="Office2007 (2)" src="http://dehamerspace.com/wp-content/uploads/2009/10/Office20072.png" width="553" height="480" /> </p>
<h3></h3>
</p>
<h3>Run Office Customization Tool</h3>
<p>From the copy of the installation disc that you just created, open a command prompt and run the following:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">setup.exe /admin</pre></div></div>

<p>This will launch the Office Customization Tool which allows you to specify answers to all of the prompts that you see as part of a typical Office installation.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Office Customization Tool" border="0" alt="Office Customization Tool" src="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp5_thumb.png" width="550" height="323" /></a></p>
<p>There are <strong>a lot</strong> of options that you can specify with the customization tool, but I’ll just walk you through the few that I’ve used for my custom install.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OCT - Licensing Screen" border="0" alt="OCT - Licensing Screen" src="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp_thumb.png" width="550" height="323" /></a> </p>
<p>On the “Licensing and user interface” screen, I specified my product key and checked the box acknowledging that I’ve accepted the terms of the license agreement. Additionally, I changed the display level to “Basic” which means that I want to see the welcome screen and installation progress bar, but don’t want to be prompted for any installation options.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OCT - Feature screen" border="0" alt="OCT - Feature screen" src="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp2_thumb.png" width="550" height="323" /></a> </p>
<p>On the “Set feature installations states” screen is where I select which productions/options I want installed. I typically don’t install Access, Publisher or InfoPath and skip most of the Office Tools and Shared Features options. I suspect that most people simply go with the default installation options, but I’m pretty anal about installing <strong>only</strong> those parts of Office that I actually use.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OCT - Outlook profile screen" border="0" alt="OCT - Outlook profile screen" src="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp3_thumb.png" width="550" height="323" /></a> </p>
<p>On the “Outlook profile” screen, I’ve selected the “Modify Profile” radio button to indicate that I’d like a new Outlook profile to be created at installation time.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OCT - Exchange settings screen" border="0" alt="OCT - Exchange settings screen" src="http://dehamerspace.com/wp-content/uploads/2009/10/OfficeCustomizationToolBDCustomizations.msp4_thumb.png" width="550" height="323" /></a> </p>
</p>
<p>On the “Specify Exchange Server settings” screen I’ve provided my user name as well as the hostname of my Exchange server. If you click the “More Settings…” button you can set-up Exchange proxy settings and all of the other options that you’d typically see when running Outlook for the first time.</p>
<p>Once you’ve completed all of your customizations, you can select File –&gt; Save to save your newly-created <em>.msp</em> file. It doesn’t matter what you name the file (I called mine <em>BDCustomizations.msp</em>) but you’ll want to save the file to the \<em>Updates</em> directory that you copied from the original installation media. When the setup program is executed it knows to look in this \<em>Updates</em> directory and apply all of the <em>.msp</em> files that it finds there.</p>
<h3>Download and Extract SP2</h3>
<p>By copying the <em>.msp</em> files for the Office Service Pack 2 to the \<em>Updates</em> directory we can have the setup program apply SP2 at the same time that it applies our other customizations. To get the SP2 <em>.msp</em> files you simply need to download the <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=b444bf18-79ea-46c6-8a81-9db49b4ab6e5">stand-alone SP2 installer</a> and use the following command:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">office2007sp2-kb953195-fullfile-en-us.exe /extract:c:\Office2007\Updates</pre></div></div>

<p>Obviously, you’ll need to alter the path specified after the <em>/extract:</em> flag to point to the actual location of your <em>\Updates</em> directory.</p>
<p>You can use this same <em>/extract:</em> flag with most of the Office updates and add-ins. I install the “<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041">Save as PDF or XPS</a>” add-in in the same way.</p>
<h3>Burn Updated Installation Image Back to DVD</h3>
<p>Once you’ve completed the steps above, you should find that your <em>\Updates</em> directory now looks something like this.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/10/Updates.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Updates" border="0" alt="Updates" src="http://dehamerspace.com/wp-content/uploads/2009/10/Updates_thumb.png" width="550" height="477" /></a> </p>
<p>Burning to disc is actually optional – you could take your installation directory structure and copy it off to a network share at this point and it would work just fine. In my case, I wanted to burn the new image back to an optical disc. With all of the SP2 files included, the image no longer fits on a CD so I burned it to a DVD instead. </p>
<p>There are no special requirements for this step – simply use your program-of-choice to burn all of the installation files (everything you copied off of the original disc plus all the new additions to the <em>\Updates</em> folder) to a blank disc.</p>
<p>The next time that you need to do an Office 2007 installation, simply insert your disc, and run setup.exe – all of your customizations, updates and add-ins will be automatically applied.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/10/27/building-a-customized-ms-office-2007-install-cd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>iPhone 3.0 OS and WiFi Security</title>
		<link>http://dehamerspace.com/2009/06/17/iphone-30-os-and-wifi-security/</link>
		<comments>http://dehamerspace.com/2009/06/17/iphone-30-os-and-wifi-security/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 03:50:38 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2009/06/17/iphone-30-os-and-wifi-security/</guid>
		<description><![CDATA[I love my iPod Touch, but it hasn’t done any favors for my network security. Before I had the Touch, my home wireless network was secured with the WPA2 protocol and a completely random 64-character security key. Overkill? Perhaps. But I’ve got a healthy amount of paranoia when it comes to the security of my [...]]]></description>
			<content:encoded><![CDATA[<p>I love my iPod Touch, but it hasn’t done any favors for my network security. Before I had the Touch, my home wireless network was secured with the WPA2 protocol and a completely random 64-character security key. Overkill? Perhaps. But I’ve got a healthy amount of paranoia when it comes to the security of my home network – especially my wireless setup. </p>
<p>Once I brought the iPod home and realized that I was going to have to manually key-in my 64 random character passphrase on the Touch’s virtual keyboard, I quickly dumbed-down my ultra-secure key to something that was <em>considerably</em> shorter. The iPod Touch (as well as the iPhone) <strike>has</strike> had no support for any sort of copy-n-paste operation so there was no choice but to manually enter it character-by-character.&#160; I just don’t have that kind of patience.</p>
<p>I’ve been running my network with this less-than-perfect security key for well over a year now and, while I’m pretty sure that my neighbors haven’t been running dictionary attacks against my access point, it still leaves me with that not-so-secure feeling.</p>
<p>That all changes today. Today, the <a href="http://www.apple.com/iphone/softwareupdate/">iPhone 3.0 OS</a> was released (a free update for iPhone users, a $9.95 fee for iPod Touch users) with support for <em>copy-n-paste</em>! This means I can go back to using my 64-character security key without having to suffer through the tedious process of keying it in on the Touch – as long as I can get my key onto the iPod, I can simply copy/paste it into the wifi settings.&#160; Here are the steps:</p>
<p><strong>Step 1</strong></p>
<p>Go to <a href="https://www.grc.com/passwords.htm">Steve Gibson’s Perfect Passwords page</a> and generate yourself a totally random string of 64 characters.&#160; Each time you refresh this page you’ll get a completely new set of random strings guaranteed to be completely unique. This password page is actually pretty useful for all sorts of security applications – definitely one to bookmark.</p>
<p>Once you’ve got a string that you’re happy with, I recommend that you paste it into a text file and keep it somewhere safe. I’ve got my stored on a flash drive I’ve got squirreled away with all sorts of other important documents on it.</p>
<div><a href="https://www.grc.com/passwords.htm"><img title="GRC Perfect Passwords" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="480" alt="GRC Perfect Passwords" src="http://dehamerspace.com/wp-content/uploads/2009/06/grcc2a07cc2a0ultra20high20security20password20generatorc2a0c2a0.png" width="547" border="0" /></a></div>
<p><strong>Step 2</strong></p>
<p>Log into your router or wireless access point and update the wifi configuration to use your newly-generated key. The exact steps will vary by manufacturer so consult the appropriate documentation if you’re not sure what you’re doing.</p>
<p><img title="Linksys" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="376" alt="Linksys" src="http://dehamerspace.com/wp-content/uploads/2009/06/linksys.png" width="547" border="0" /> </p>
</p>
<p><strong>Step 3</strong></p>
<p>Now we need to get our security key onto the iPod or iPhone so that we can copy-n-paste it into the Wi-Fi Settings screen. There are probably all sorts of ways to get this key moved over to the iPod, but I’m going to use the Notes syncing feature that is new with the iPhone 3.0 OS.</p>
<p>Open <em>Mail.app</em> and create a new note that contains your security key.</p>
<p><img title="Notes (1 note)" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="378" alt="Notes (1 note)" src="http://dehamerspace.com/wp-content/uploads/2009/06/notes1note.png" width="547" border="0" /> </p>
<p>Once you’ve done that, go into iTunes and make sure that you have the new “Sync notes” option checked on the Info tab for your iPod Touch or iPhone.</p>
<p><img title="iTunes" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="399" alt="iTunes" src="http://dehamerspace.com/wp-content/uploads/2009/06/itunes.png" width="547" border="0" /> </p>
<p>Press the Sync button and your new note should get copied over to the device.</p>
<p><strong>Step 4</strong></p>
<p>Open the Notes app on the iPhone and locate the particular note that you just synched from your computer. Tap anywhere within the body of the note and it should bring-up the new select/copy interface. Drag the selection box around your security key and tap Copy.</p>
<p><img title="photo" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="480" alt="photo" src="http://dehamerspace.com/wp-content/uploads/2009/06/photo.jpg" width="320" border="0" /> </p>
<p><strong>Step 5</strong></p>
<p>The final step is to go into the Wi-Fi Settings screen and paste your security key into the Password field. Simply tapping anywhere within the Password field should surface the Paste button.</p>
<p><img title="photo2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="480" alt="photo2" src="http://dehamerspace.com/wp-content/uploads/2009/06/photo2.jpg" width="320" border="0" /> </p>
<p>Don’t forget that you’ll need to update any other wireless devices that you have around the house (this is where that flash drive comes in handy).</p>
<p>So, is all of that easier than just typing the 64-character password directly into the field? I don’t know – maybe not. It did, however, give me the opportunity to play with some of the new features of the iPhone 3.0 OS and ratchet-up the security of my home network at the same time. That’s a win-win for me. Your mileage may vary.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/06/17/iphone-30-os-and-wifi-security/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Ultimate Gmail Browser</title>
		<link>http://dehamerspace.com/2009/04/27/the-ultimate-gmail-browser/</link>
		<comments>http://dehamerspace.com/2009/04/27/the-ultimate-gmail-browser/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 13:48:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[fluid]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[ssb]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/?p=131</guid>
		<description><![CDATA[I&#8217;ve talked before about site-specific browsers (SSBs) and even mentioned that I&#8217;ve become a big fan of the Fluid SSB on the Mac. I&#8217;ve got SSBs for all sorts of applications (Google Reader, Pandora, etc.) but the one that I spend the most time in is my Gmail SSB.
I decided to devote some time this [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve talked before about <a href="http://dehamerspace.com/2008/04/18/site-specific-browsers/">site-specific browsers</a> (SSBs) and even mentioned that I&#8217;ve become a big fan of the <a href="http://dehamerspace.com/2009/03/26/the-switch-part-2-applications/">Fluid SSB</a> on the Mac. I&#8217;ve got SSBs for all sorts of applications (Google Reader, Pandora, etc.) but the one that I spend the most time in is my Gmail SSB.</p>
<p>I decided to devote some time this week to digging through the various features of Fluid to see just what was possible. What I ended-up with is a Gmail client that is a huge improvement over the standard (and, arguably, already pretty good) Gmail experience. The sections below will take you through the various steps I used to create the Ultimate Gmail Browser.</p>
<h3>Create the SSB</h3>
<p>The first step is to install <a href="http://fluidapp.com/">Fluid</a> and create your Gmail SSB. Upon launching Fluid you&#8217;re presented with a pretty simple dialog that asks you to fill in a few fields:</p>
<ul>
<li>The starting URL for the browser. Here I&#8217;m using my Google Apps mail URL, but regular Gmail users will want to use <em>https://mail.google.com</em>.</li>
<li>The name for the SSB. This is the name that will be assigned to the &#8220;application&#8221; that is created.</li>
<li>The location where the SSB app will be created. Your <em>Applications</em> folder is probably a good choice.</li>
<li>The icon to associate with the SSB. This is the icon that will be used to represent the application in both the Finder and Dock.</li>
</ul>
<div>
<img src="http://dehamerspace.com/wp-content/uploads/2009/04/fluid-2.png" alt="Fluid-2.png" border="0" width="550"/>
</div>
<div style="float: right"><a href="http://dehamerspace.com/wp-content/uploads/2009/04/gmail.png"><img src="http://dehamerspace.com/wp-content/uploads/2009/04/gmail.png" alt="gmail.png" border="0" width="64"/></a><br />
<a href="http://dehamerspace.com/wp-content/uploads/2009/04/gmail2.png"><img src="http://dehamerspace.com/wp-content/uploads/2009/04/gmail2.png" alt="gmail2.png" border="0" width="64" /></a></div>
<p>
By default, Fluid will attempt to retrieve the <em>favicon.ico</em> image from the destination site and use that as the application icon. This would be great if it weren&#8217;t for the fact that these icons are typically 16&#215;16 pixels. If you want something that is going to look nice when displayed in the Dock you&#8217;ll need something with a bit better resolution.</p>
<p>
Luckily, there is an entire <a href="http://www.flickr.com/groups/fluid_icons/">Flickr group</a> dedicated entirely to aggregating high quality Fluid icons. I&#8217;ve included PNG versions of my two favorite Gmail icons here.</p>
<h3>Enable the Dock Badge</h3>
<p>For certain sites (Gmail, Google Reader and Yahoo! Mail) Fluid will automatically add a little badge to the Dock icon that indicates the number of unread items you have. This is a pretty cool little feature that just makes the SSB feel even more like a real desktop application. </p>
<p><img src="http://dehamerspace.com/wp-content/uploads/2009/04/dock.png" alt="dock.png" border="0" width="483" height="63" /></p>
<p>The dock badge should be enabled by default, but if you find that it is not displaying there are two settings to check:</p>
<ol>
<li>In the Preferences dialog for your Gmail SSB application check to make sure that the &#8220;Fluid attempts to show Dock badge labels&#8221; option is enabled.</li>
<li>In the settings for your Gmail account go to the &#8220;Labs&#8221; tab and verify that the &#8220;Hide Unread Counts&#8221; feature is <strong>disabled</strong>. When this feature is enabled it causes Gmail to suppress the unread message count indicators that typically appear in the navigation menu next to your folders/labels. Fluid uses the message count that appears next to the Inbox link to determine how many unread messages you have &#8212; if this value isn&#8217;t being displayed, Fluid won&#8217;t render the dock badge.</li>
</ol>
<h3>Tweak the Gmail UI</h3>
<p>Fluid has a feature called Userstyles which allows you to specify a custom style sheet for pages that are displayed in the SSB. As long as you are fluent in CSS, this essentially gives you the ability to completely re-skin any site. Firefox users may be familiar with the <a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a> add-on which gives you the same capability.</p>
<p>The Userstyles feature is accessed via the SSB&#8217;s Preferences dialog. You simply need to specify the URL pattern and the CSS rules that you want applied to those URLs.</p>
<p><img src="http://dehamerspace.com/wp-content/uploads/2009/04/userstyles-preferences.jpg" alt="Userstyles Preferences.jpg" border="0" width="550" /></p>
<p>In the example above, I&#8217;ve defined a custom style sheet for any URL that contains <em>mail.google.com</em>. I&#8217;m not going to even attempt a complete overhaul of the Gmail UI &#8212; I&#8217;ll leave that as an exercise for people far more talented than myself (you may want to check out <a href="http://userstyles.org">userstyles.org</a> to see what cool things other people have done). However, there are some minor tweaks that I would like to make to the default Gmail theme.</p>
<p>The screenshot below shows my Gmail SSB <em>before</em> applying my custom style sheet. The numbered items are the UI elements that I want to remove or change in some way with my style sheet. In the section below I&#8217;ll discuss each of the numbered items and specify the CSS rule(s) I used to alter them.</p>
<p><img src="http://dehamerspace.com/wp-content/uploads/2009/04/inbux-before-thumb.png" alt="Inbox Before" border="1" width="550" height="410" /></p>
<ol>
<li>The first thing on the cut list is the little green Labs icon which, when clicked, takes you directly to the Labs tab of the Gmail settings. You can get to exactly the same screen via the Settings link so I&#8217;m gonna ditch it.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#guser</span> span<span style="color: #00AA00;">&#91;</span>title<span style="color: #00AA00;">*=</span><span style="color: #ff0000;">'Labs'</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span> 
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>You&#8217;ll see that for most of these styles I try to make my CSS selectors pretty specific so that I don&#8217;t accidentally target other elements on the page. In this case, I&#8217;m looking specifically for a <em>span</em> whose <em>title</em> attribute contains the word &#8220;Labs&#8221; and is a child of a <em>div</em> with an ID of &#8220;guser&#8221;.
</li>
<li>
I&#8217;m not interested in the older version of the Gmail UI, so I&#8217;m going to get rid of this link as well.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>4
5
6
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#guser</span> a<span style="color: #00AA00;">&#91;</span>href$<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'ui=1'</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>Not once have I ever &#8220;starred&#8221; a message. Gone.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.qj</span> <span style="color: #00AA00;">&gt;</span> div<span style="color: #6666ff;">.nH</span> <span style="color: #00AA00;">&gt;</span> div<span style="color: #6666ff;">.nH</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>I don&#8217;t use Google Chat so there&#8217;s no need for this menu item either.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>10
11
12
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.qj</span> <span style="color: #00AA00;">&gt;</span> div<span style="color: #6666ff;">.nH</span> <span style="color: #00AA00;">&gt;</span> div<span style="color: #6666ff;">.nH</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>This one is a little different &#8212; I still want the link to my spam folder, but I don&#8217;t want to be constantly reminded of the thousands of messages I have in there. The clever CSS trick below hides the existing spam link and then redraws the string &#8220;Spam&#8221; on top of it.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.pX</span> a<span style="color: #00AA00;">&#91;</span>href$<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'#spam'</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">visibility</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.pX</span> a<span style="color: #00AA00;">&#91;</span>href$<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'#spam'</span><span style="color: #00AA00;">&#93;</span><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">'Spam'</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">visibility</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">visible</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">400</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">underline</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>I actually lifted this little bit of CSS from the <a href="http://userscripts.org/scripts/show/22660">Gmail Spam-count Hide</a> script I found on <a href="http://userscripts.org">userscripts.org</a>. Note that you can use Gmail&#8217;s &#8220;Hide Unread Counts&#8221; feature to accomplish this same thing, but it also hides the unread count for the inbox folder. We already saw that the Fluid dock badge feature is dependent on the inbox unread count and the Growl integration that I&#8217;ll introduce in the next section will be dependent upon it as well.</li>
<li>I don&#8217;t use the chat feature in Gmail at all, so I&#8217;m going to completely remove this widget.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>23
24
25
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.s</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>I could probably handle both #4 and #6 by simply disabling the Google Apps chat feature, but it appears that having chat enabled is a requirement for using the tasks feature which I do like to use.</li>
<li>I think I&#8217;ve already seen all the tips Gmail has to offer, this is just noise at this point.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>26
27
28
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.l2</span><span style="color: #6666ff;">.ov</span> div<span style="color: #6666ff;">.mn</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>
More links related to chat and the baisc HTML mode.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>29
30
31
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.l2</span><span style="color: #6666ff;">.ov</span> div<span style="color: #6666ff;">.mp</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>I&#8217;m not particularly interested in the terms of service (which I&#8217;m surely violating with my UI alterations) or privacy policy so I&#8217;m going to remove the remainder of the page footer.

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>32
33
34
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.nH</span><span style="color: #6666ff;">.l2</span><span style="color: #6666ff;">.ov</span> div<span style="color: #6666ff;">.ma</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">visibility</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span> !important<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
</ol>
<p>Obviously, this is just my nit-picky list of UI tweaks. I won&#8217;t go into specifics here but I&#8217;m sure that you could identify other <strong>ad</strong>noying features of Gmail that would be nice to remove.</p>
<p>If you&#8217;re interested in making your own changes I highly recommend using Firefox and the <a href="http://getfirebug.com/">Firebug add-on</a> to explore the Gmail DOM and understand the various tags, IDs and classes that are employed.</p>
<p>After applying my custom style sheet to the Gmail UI, the result looks like this:</p>
<p><img src="http://dehamerspace.com/wp-content/uploads/2009/04/inbox-after-thumb.png" alt="Inbox After Thumb.png" border="0" width="550" height="411" /></p>
<h3>Add Growl Support</h3>
<p>The final step in configuring the ultimate Gmail browser is to enable Growl support. If you&#8217;re not familiar with <a href="http://growl.info/">Growl</a> it&#8217;s basically a universal notification system for OS X. Any application that is Growl-aware (and there are lots of them) can post status messages to Growl and then Growl takes responsibility for presenting those messages to the user. The nice thing about it is that it standardizes the presentation of status messages across all of your applications and gives you a central place to control and customize those notifications. Trust me, it&#8217;s cool &#8212; install it.</p>
<p>Like many applications, Fluid has Growl support built-in. More importantly, Fluid exposes an API for sending your own Growl notifications. Using this capability, we can write a script that will check for new messages in your inbox and send a notification to Growl whenever you have new mail. This type of integration with the OS is the sort of thing you typically lose when you use a web-based application. </p>
<p>On my system, I have Growl configured to make a little beep and display the following notification pop-up whenever it receives a notification from my Gmail SSB.</p>
<p><img src="http://dehamerspace.com/wp-content/uploads/2009/04/growl.jpg" alt="Growl.jpg" border="0" width="389" height="138" /></p>
<p>In much the same way that Fluid allows you to create your own style sheet via the Userstyles feature, there is a Userscript feature that allows you to run Javascript code in the SSB that interacts with the current page. This concept should be familiar to anyone that has played with the Firefox <a href="http://www.greasespot.net/">Greasemonkey</a> add-on.</p>
<p>I wrote the script below (also posted on <a href="http://userscripts.org/scripts/review/46637">userscripts.org</a>) which will watch the unread message count of your inbox and post a message to Growl anytime it sees that number increase (<strong>Note: Any changes that google makes to the structure of the HTML has the potential to break this script &#8212; I&#8217;ll do my best to keep this script up-to-date and working. The most recent version of this code can be found at the userscripts.org link above.</strong>).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ==UserScript==</span>
<span style="color: #006600; font-style: italic;">// @name        Gmail Growl</span>
<span style="color: #006600; font-style: italic;">// @namespace   http://dehamer.com</span>
<span style="color: #006600; font-style: italic;">// @description Gmail Growl Notification for Fluid</span>
<span style="color: #006600; font-style: italic;">// @include     http://mail.google.com/*</span>
<span style="color: #006600; font-style: italic;">// @include     http://*.google.com/mail/*</span>
<span style="color: #006600; font-style: italic;">// @include     https://mail.google.com/*</span>
<span style="color: #006600; font-style: italic;">// @include     https://*.google.com/mail/*</span>
<span style="color: #006600; font-style: italic;">// @author      Brian DeHamer</span>
<span style="color: #006600; font-style: italic;">// ==/UserScript==</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>window.<span style="color: #660066;">fluid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #003366; font-weight: bold;">var</span> unreadMsgCount <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #003366; font-weight: bold;">function</span> growlNewMessages<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> oldCount <span style="color: #339933;">=</span> unreadMsgCount<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// Locate the DIV containing the Inbox hyperlink</span>
        inboxDiv <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;canvas_frame&quot;</span><span style="color: #009900;">&#41;</span>
            .<span style="color: #660066;">contentDocument</span>.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;:r2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>inboxDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
            <span style="color: #006600; font-style: italic;">// Grab the title of the Inbox hyperlink and locate the</span>
            <span style="color: #006600; font-style: italic;">// unread message count</span>
            inboxLinkTitle <span style="color: #339933;">=</span> inboxDiv.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">title</span><span style="color: #339933;">;</span>
            matches <span style="color: #339933;">=</span> inboxLinkTitle.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\((\d*)\)/</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>matches<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                unreadMsgCount <span style="color: #339933;">=</span> matches<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                unreadMsgCount <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// If the unread message count is greater than it was the last</span>
        <span style="color: #006600; font-style: italic;">// time we checked, we know that we've received one or more new</span>
        <span style="color: #006600; font-style: italic;">// messages.</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>unreadMsgCount <span style="color: #339933;">&gt;</span> oldCount<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
            fluid.<span style="color: #660066;">showGrowlNotification</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
                title<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Gmail&quot;</span><span style="color: #339933;">,</span>
                description<span style="color: #339933;">:</span> unreadMsgCount <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; unread message(s)&quot;</span><span style="color: #339933;">,</span>
                priority<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
                sticky<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">// Check for new messages every 10 seconds</span>
    window.<span style="color: #660066;">setInterval</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>growlNewMessages<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>To install this script you can simply go to the Fluid script menu and select the &#8220;New Userscript&#8230;&#8221; option. Give the script a name, paste in the code above and you should be good to go (you may have to restart the SSB for the script to take effect).</p>
<p>There you have it. You&#8217;ve now got the <strong>Ultiamte Gmail Browser</strong>. Let me know if you&#8217;ve got any customizations of your own.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/04/27/the-ultimate-gmail-browser/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Backing It Up &#8211; Everything Else</title>
		<link>http://dehamerspace.com/2009/04/07/backing-it-up-everything-else/</link>
		<comments>http://dehamerspace.com/2009/04/07/backing-it-up-everything-else/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 05:48:50 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2009/04/07/backing-it-up-everything-else/</guid>
		<description><![CDATA[I&#8217;m going to take a little break from my recent Macintosh gushing to finish my Backing It Up series of posts. Previously, I discussed the use of Flickr as a way to backup of your photo collection and Gmail as your email backup. This time around I want to discuss a backup strategy for all [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both"><img style=" display: inline; float: left; margin: 0 10px 10px 0;" src="http://dehamerspace.com/wp-content/uploads/2009/04/jungledisk-thumb.jpg" alt="" width="128" height="128" align="left" />I&#8217;m going to take a little break from my recent <a href="http://dehamerspace.com/2009/03/13/the-switch/">Macintosh</a> <a href="http://dehamerspace.com/2009/03/26/the-switch-part-2-applications/">gushing</a> to finish my Backing It Up series of posts. Previously, I discussed the use of <a href="http://dehamerspace.com/2008/04/10/backing-it-up-digital-photos/">Flickr as a way to backup of your photo collection</a> and <a href="http://dehamerspace.com/2008/04/26/backing-it-up-email/">Gmail as your email backup</a>. This time around I want to discuss a backup strategy for all the other stuff you&#8217;ve got floating around in your computer. Flickr and Gmail serve as good single-purpose backup tools, but we need a general solution that will handle <em>everything else</em>.</p>
<p style="clear: both">Remember that we&#8217;re talking specifically about online, off-site backup strategies here. Everyone should already have a local backup solution in place. There&#8217;s no excuse for not doing this. If you&#8217;re not doing backups go <em>right now</em> to CostCo and get yourself an external hard drive &#8212; you can get these things in 1TB and 2TB sizes for crazy-cheap prices. With one of these drives you have all sorts of simple options for doing local backups:</p>
<ul style="clear: both">
<li>Windows XP and Vista have backup tools included as part of the OS or you can use something like Microsoft&#8217;s free <a href="http://www.microsoft.com/downloads/details.aspx?familyid=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&amp;displaylang=en">SyncToy</a>.</li>
<li>Macintosh users can use Time Machine or, for the command-line oriented, rsync to get the job done.</li>
</ul>
<p style="clear: both">So, given that you <em>are</em> already doing local backups, the situation we&#8217;re trying to cover here is the <strong>catastrophic failure</strong>. Even if you&#8217;ve got every bit of data redundantly saved on multiple hard drives, these backups aren&#8217;t going to do you any good if your house burns down or is burglarized. The best protection against these worst-case scenarios to make sure you&#8217;ve got copies of all your important stuff <strong>off site</strong>.</p>
<h3>S3 &amp; JungleDisk</h3>
<p style="clear: both">There are plenty of services available today for doing online backup, but the solution that I&#8217;ve been using is <a href="http://aws.amazon.com/s3/">Amazon&#8217;s S3</a> (Simple Storage Service) paired with a desktop tool called <a href="http://www.jungledisk.com/">Jungle Disk</a>. S3 is nothing more than a big ol&#8217; disk in the cloud &#8212; you can have as little or as much storage space as you need and you pay only for what you use. By itself, S3 isn&#8217;t particularly useful to the average user since it provides no user interface at all. In order for S3 to really be useful you need a front-end that knows how to talk to the S3 API. This is where Jungle Disk comes in.</p>
<p style="clear: both">Jungle Disk is a utility you install on your local system (Windows, Mac or Linux) which exposes your S3-based storage as if it were a disk connected to your computer. The screenshots below show two of my S3-based disks (named Archive and Backup) as seen by the OS X Finder and Windows Explorer.</p>
<p style="clear: both"><img style=" display: inline; float: left;" src="http://dehamerspace.com/wp-content/uploads/2009/04/archive-1-thumb.jpg" alt="" width="550" height="353" align="left" /></p>
<p style="clear: both"><img style=" display: inline; float: left;" src="http://dehamerspace.com/wp-content/uploads/2009/04/computer-thumb2.jpg" alt="" width="549" height="376" align="left" /><br style="clear: both" />Since Jungle Disk makes S3 look like a normal disk to the operating system, you can use all of your standard tools for browsing and managing files. Uploading files to S3 becomes a simple drag-and-drop exercise. This also means that whatever tools you are using to do your local backups can also work with S3. If you have a favorite backup utility you&#8217;re already using for your local backups there&#8217;s a really good chance it will work with JungleDisk too.</p>
<p style="clear: both">If you don&#8217;t have a preferred back up utility, Jungle Disk even has an automatic backup feature baked-in. You can tell it which folders you want backed-up and on what schedule and it will make sure that your stuff gets copied to your S3 account on a regular basis. The screenshot below shows the backup job for the <em>/Users/bdehamer/documents</em> folder on my Mac which runs every day at 1:30am.</p>
<p style="clear: both"><img style=" display: inline; float: left; margin: 0 10px 10px 0;" src="http://dehamerspace.com/wp-content/uploads/2009/04/jdbackup-thumb.jpg" alt="" width="550" height="393" align="left" /><br style="clear: both" />As you would expect the backup tool is smart enough to <strong>not</strong> backup any files which haven&#8217;t changed since the last backup. It will even maintain multiple versions of files and backup files which are currently open or locked by another application &#8212; for me, this comes in really handy for things like my Outlook <em>.pst</em> file since I never close Outlook on my work PC.</p>
<h3>Cost</h3>
<p style="clear: both">Alright, so what&#8217;s all this cost? Jungle Disk has two payment options: you can pay either $2 per month or a one-time $20 charge. Either option includes free lifetime upgrades and you can install the software on as many machines as you want. Not surprisingly, the JungleDisk site tries to push the $2 monthly subscription &#8212; the perpetual license option is kind of hidden, but you can find it <a href="https://www.jungledisk.com/secure/signup/JungleDiskLifetime.aspx">here</a> (this is the option I went with and the one that I recommend for others).</p>
<p style="clear: both">One thing to note is that the $2/month plan includes some features that don&#8217;t come standard with the one-time, $20 license. The monthly subscription gives you web browser access to your files and block-level file updates. The browser access I guess would be handy if you needed to access your files from a machine which didn&#8217;t have the JungleDisk client installed. The ability to do block-level file updates means that you only have to upload the changed portion of any large file. Imagine you have a 1GB Outlook <em>.pst</em> file that you backup regularly but only a small portion of that file actually changes on a day-to-day basis. The ability to do block-level updates means that you don&#8217;t have to upload the entire 1GB file every time that you back it up.</p>
<blockquote style="clear: both"><p>Just to make the JungleDisk pricing a bit more complicated you also have the option to add the web access and block-level update features to the $20 option via a $1/month subscription fee. Assuming that you use the tool for at least 20 months, this route is still a better deal than the $2/month subscription for those people who want the extra features.</p></blockquote>
<p style="clear: both">The other component of the cost is the Amazon S3 service where you <a href="http://aws.amazon.com/s3/#pricing">pay for both storage and data transfer</a>. Storage is priced at 15 cents per GB per month &#8212; if you store 50GB of data on S3 it will cost you $7.50 per month. Additionally, you pay 10 cents per GB of uploaded data &#8212; this means that it will cost you $5 to upload that same 50GB of data to S3 (if you&#8217;re regularly backing up large files that contain small changes this is where the block-level update feature of JungleDisk may pay for itself). I found that my largest bill was the first month that I started using the service since I was uploading a lot of data and having to pay for both data transfer and storage. After that first month though, the data transfer costs were negligible as I was only uploading a handful of new/updated files. I&#8217;m currently storing around 30GB of data on S3 and my monthly bill is just about $5.</p>
<p style="clear: both">Note that the data transfer costs for downloads are quite a bit more than for the uploads (17 cents per GB vs 10 cents per GB). However, if you are using this mainly as a backup solution you&#8217;re probably only downloading data in the event that you need to recover from some local data loss. Hopefully this isn&#8217;t a common occurrence, but it&#8217;s still an important factor to consider.</p>
<blockquote style="clear: both"><p>Between April 1, 2009 and June 30, 2009 Amazon is running a special promotion where the data transfer cost for file uploads is only 3 cents per GB (instead of the usual 10 cents). If you&#8217;re thinking about getting started with S3, now is a great time to do it since you&#8217;ll save a lot on your upfront data transfer &#8212; that 50GB of data you have is only going to cost you $1.50 to upload instead of $5</p></blockquote>
<p style="clear: both"> </p>
<h3>Alternatives</h3>
<p style="clear: both">The online backup market is a pretty crowded one. Beyond S3/JungleDisk, you can choose from the likes of <a href="http://mozy.com/">Mozy</a>, <a href="http://www.carbonite.com/">Carbonite</a>, <a href="http://www.idrive.com/">iDrive</a> and many others. I would caution you against simply selecting the cheapest option &#8212; spend some time up front thinking about how you want to interact with the service. I used Mozy for about a year but I ultimately gave up on it because it just wasn&#8217;t flexible enough:</p>
<ul style="clear: both">
<li>Initially, the $4.95/month price for Mozy&#8217;s unlimited backup seemed like a really good deal. But when you consider that you pay $4.95 per computer per month it can get really expensive. Currently, I&#8217;m using JungleDisk on 4 different machines with my one-time $20 license. On two of those machines I&#8217;m only backing up a few hundred megabytes of data &#8212; the S3 costs for that storage is literally pennies per month. With Mozy I&#8217;d be paying almost $20/month regardless of my storage utilization.</li>
<li>With Mozy, you must use their tool for any backup/restore activity. No drag-n-drop access. No choice of backup software.</li>
<li>Mozy is a backup service, not a storage service. This means that everything you upload to Mozy must also continue to reside on your local machine. If Mozy sees that you have deleted a file from your local machine it will, after a certain period of time, also remove it from your backup. This isn&#8217;t an issue with S3 &#8212; if you want to copy a bunch of files to S3 specifically so that you don&#8217;t have to keep a local copy anymore you can absolutely do that.</li>
<li>Every time that I would reinstall the OS on one of my machines Mozy would think that I was trying to add a new system to my account and force me to re-upload all of the data that I&#8217;d already backed-up. This was a huge FAIL for someone like me who repaves his machines on a fairly regular basis.</li>
</ul>
<p>I don&#8217;t mean to pick on Mozy here (it&#8217;s probably a good solution for a lot of people), but you should definitely think about your specific needs before you select a solution. For me, S3 and JungleDisk is the perfect combination.</p>
<div>Now, please, go back up your data!</div>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/04/07/backing-it-up-everything-else/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Switch, Part 2: Applications</title>
		<link>http://dehamerspace.com/2009/03/26/the-switch-part-2-applications/</link>
		<comments>http://dehamerspace.com/2009/03/26/the-switch-part-2-applications/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 21:51:32 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/?p=99</guid>
		<description><![CDATA[In my last post I talked about my decision to trade in my primary PC for a new Mac Mini. When I first started kicking around the idea of making the switch I immediately started to worry about replacing the core library of software that I use on a daily basis. Having worked on the [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both">In my <a href="http://dehamerspace.com/2009/03/13/the-switch/">last post</a> I talked about my decision to trade in my primary PC for a new Mac Mini. When I first started kicking around the idea of making the switch I immediately started to worry about replacing the core library of software that I use on a daily basis. Having worked on the PC for so many years, there are certain applications that I&#8217;ve become very dependent on and it was a little scary to think that I might have to give them up.</p>
<p style="clear: both">Having explored the Mac software space a bit while playing with my wife&#8217;s laptop, I knew that there were plenty of applications out there but it wasn&#8217;t obvious which one&#8217;s were the best. Some of these are fairly obvious, but here&#8217;s a bit of what I&#8217;ve discovered so far.</p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/chromesafari1-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><strong>Web Browser</strong><br />Google Chrome is pretty new to the PC browser scene, but it quickly became my default browser on most of my PCs. I love my Firefox extensions, but have sort of realized that I don&#8217;t use most of them on a daily basis. The speed and simplicity of Chrome make it a very attractive Firefox alternative.</p>
<p style="clear: both">Unfortunately, there is no Chrome for the Mac (yet!) and instead of installing Firefox I&#8217;ve been putting Safari to the test. Interestingly, Safari is built on top of the same <a href="http://en.wikipedia.org/wiki/WebKit">WebKit</a> engine that is at the heart of Chrome so the rendering experience is much the same. I definitely miss the Chrome &#8220;omni bar&#8221; and the &#8220;tabs on the outside&#8221; UI but Safari has proven to be totally usable for me as a primary browser.</p>
<p style="clear: both">Before the end of the year, I suspect that Mac Chrome and Safari 4 (which introduces some Chrome-like features to Safari) will be released so things are only going to get better in the Mac browser space.</p>
<p style="clear: both"><em><strong><em><strong>Other Contenders:</strong> </em><a href="http://webkit.org/"><em>WebKit</em></a><em>, </em><a href="http://www.mozilla.com/en-US/firefox/firefox.html" style=""><em>Firefox</em></a><br />Migration Rating:</strong> slight downgrade</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/wmpitunes-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><strong><br />Media Player</strong><br />Alright, no surprise here really. iTunes is sort of the gateway drug to full blown Mac usage. It&#8217;s the one Apple application that most PC users have installed even if it&#8217;s just to load music onto their iPod. However, I never really liked iTunes &#8212; I installed it out of necessity, but never used it anymore than I had to. I think part of the problem for me was that it simply looked so out-of-place on the PC. I won&#8217;t make an arguments in favor of the Windows UI, but I do think that if you are going to play on their platform you ought to make your app look like it belongs there. Also, it wasn&#8217;t until iTunes 7.6 that the program would work properly on 64-bit editions of Windows &#8212; just another reason for me not to use it.</p>
<p>Unable to get past the lack of 64-bit support and the un-Windows-like UI of iTunes, I simply defaulted to Windows Media Player. I don&#8217;t think that it&#8217;s a particularly excellent media player (don&#8217;t even get me started on dismal codec situation) but I understood it and it was always there by default when I installed Windows. I thought that WMP did a decent job of managing my music collection and really liked that fact that later versions of the program had a built-in <a href="http://en.wikipedia.org/wiki/UPnP_AV_MediaServers">UPnP AV server</a> that allowed me to stream music and video to other computers and my Xbox.</p>
<p style="clear: both">Now that I&#8217;m on the Mac, I figured it was time to give iTunes another shot. For one thing, the UI makes a lot more sense when used in the context OS X (no big surprise there). Once I imported my music collection (about 12,000 songs) and really started to use it on a daily basis, I discovered some cool features that actually have me excited about iTunes now.</p>
<p style="clear: both">First, I think the Genius Playlist feature is . . . well, genius. Select any song, hit the Genius button and iTunes will generate a playlist of songs from your library that go great with it. I have no idea how it works, but it has been creating some awesome playlists for me. Some of the associations that it creates are a bit questionable, but it has really helped me re-discover music that I haven&#8217;t listened to in years.</p>
<p style="clear: both">The other thing that I&#8217;ve found really useful is the &#8220;script-ability&#8221; of iTunes. I&#8217;m just getting started with AppleScript, but with little effort I was able to cobble together a script that would iterate over my music collection and identify all tracks with missing album art. I didn&#8217;t have to manipulate binary files or read-up on ID3 tag formats, iTunes did all the heavy lifting.</p>
<p style="clear: both">The final killer feature is the integration with the iTunes store. In the past, I had avoided the iTunes store for music purchases due to the DRM situation. Now, however, with all of the tracks in the store being DRM-free I don&#8217;t have any issue buying through iTunes. As a result, the seamless experience between managing my music collection, buying new music and loading my iPod is just too good to ignore. </p>
<p style="clear: both"><em><strong>Other Contenders: <a href="http://getsongbird.com/">Songbird</a><br />Migration Rating:</strong> definite upgrade</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/prismfluid-thumb1.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><strong><br />Site-Specific Browser</strong><br />I&#8217;ve <a href="http://dehamerspace.com/2008/04/18/site-specific-browsers/">blogged about site-specific browsers</a> in the past so I won&#8217;t rehash all the reasons why i think they are a cool idea. On the PC side I had been using Mozilla Prism (if you are a Firefox user, check out the <a href="https://addons.mozilla.org/en-US/firefox/addon/6665">Prism for Firefox add-on</a>) as well as the SSB capability built into Google Chrome (via the &#8220;Create application shortcut&#8221; feature). These two SSBs are pretty comparable so it&#8217;s hard to recommend one over the other. I switched from Prism to the Chrome SSB mainly because I switched from Firefox to Chrome.</p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/gmail-thumb.jpg" height="67" align="left" width="141" style=" display: inline; float: left; margin: 0 10px 10px 0;" />If you are a Firefox user on the Mac, I suspect that you could continue to use Prism, but there&#8217;s another interesting option named <a href="http://fluidapp.com/">Fluid</a>. Fluid provides the same basic features as Prism (see the dock icon for my Fluid-based Gmail app in the picture to the left) but supports a few new tricks as well. One of the cooler features is the ability to create a SSB that exists only as a status bar icon. The screenshot below shows the status bar SSB I created for the Pandora music service. The Pandora window opens whenever I click the P icon in the status bar.</p>
<p style="clear: both"><a href="http://dehamerspace.com/wp-content/uploads/2009/03/pandora-full.jpg" class="image-link"><img class="linked-to-original" src="http://dehamerspace.com/wp-content/uploads/2009/03/pandora-thumb3.jpg" height="264" align="left" width="550" style=" display: inline; float: left; margin: 0 10px 10px 0;" /></a><br style="clear: both" />I haven&#8217;t even explored all of the features that Fluid provides yet, but it looks to be a definite winner.</p>
<p style="clear: both"><em><strong>Migration Rating:</strong> definite upgrade</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/paintnetpixelmator-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><strong><br />Image Editor</strong><br />For me, there is a sweet spot for image editors that exists somewhere between MS Paint (too basic) and Photoshop (far too complex). On the PC, <a href="http://www.paint.net/">Paint.NET</a> is an incredible, free image editor that does just exactly what I need. As you can probably tell from its name Paint.NET is written on top of Microsoft&#8217;s .NET framework so there&#8217;s little chance of seeing it running on the Mac anytime soon (Mono or Silverlight perhaps??).</p>
<p style="clear: both">Originally, I set-out to try <a href="http://www.gimp.org/">GIMP</a> as my Paint.NET replacement on the Mac, but stumbled across a program called <a href="http://www.pixelmator.com/">Pixelmator</a> in the process. I quickly fell in love with Pixelmator and never actually got around to trying GIMP. Much like Paint.NET, Pixelmator makes it incredibly easy to do the few image editing tasks I&#8217;m interested in without overwhelming me with options. The fact that it has a beautiful interface certainly doesn&#8217;t hurt either. Pixelmator is not a free application like Paint.NET or GIMP, but it certainly seems worth the price ($59).</p>
<p style="clear: both"><em><strong>Other Contenders: <a href="http://flyingmeat.com/acorn/">Acorn</a><br />Migration Rating:</strong> neutral (Pixelmator is a step-up from Paint.NET, but I did have to pay for it).</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/nerohandbrake1-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><br /><strong>Video Transcoder</strong><br />I think somewhere around version 4 or 5 I purchased a full copy of Nero on the PC because it was the best tool for burning CDs/DVDs. Every year or so I pay to upgrade to the latest version simply because they typically have great deals on upgrade pricing. Just last year I purchased Nero 9 for like $10 after all of the discounts and rebates. Interestingly, I haven&#8217;t used Nero to burn discs in a long time (I don&#8217;t seem to have much need for optical media these days) &#8212; the only part of the Nero suite that I was using regularly was their excellent Recode application. </p>
<p style="clear: both">Recode allows you to take a DVD or other video file and transcode it to MPEG-4 format (MP4 has emerged as sort of the <em>lingua franca</em> of video formats). I often used Recode to rip DVDs into MP4s so that I could load them onto my iPod or play them on the HTPC I have connected to our TV. Instead of shuffling discs in and out of the player, I&#8217;ve got all the kid&#8217;s shows/movies ripped to the HTPC so that they can be queued-up with a few clicks of the remote. </p>
<p style="clear: both">Recode has lots of features and a great UI but no Mac compatibility. It seems that the go-to transcoder on the Mac is actually something that I&#8217;ve played with on the PC as well: <a href="http://handbrake.fr/">HandBrake</a>. From my experience on the PC, I felt like the speed and output quality of HandBrake was pretty much identical (they could be using the same encoder for all I know) &#8212; the only reason I held onto Recode is because I thought the UI was a bit nicer.</p>
<p style="clear: both">I haven&#8217;t had a chance to play with HandBrake since I switched over to the Mac, but I suspect that it will suit my needs just fine (and it will probably rescue me from the Nero upgrade cycle!)</p>
<p style="clear: both"><strong><em>Other Contenders:</em></strong><em> </em><a href="http://videomonkey.org/Video_Monkey/About.html" style=""><em>VideoMonkey</em></a><br /><em><strong>Migration Rating:</strong> neutral</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/windowclippingsskitch-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><strong>Screen Capture</strong><br />Before I started blogging I didn&#8217;t have a lot of use for a dedicated screen capture tool. I got by for many years with the good ol&#8217; Alt+Print Screen shortcut in Windows. Once I started this blog though I found that I was doing a lot more screenshots and wanted something that was able to capture the transparency and drop shadow effects of the Windows Vista Aero interface. I found a program called <a href="http://www.windowclippings.com/">Window Clippings</a> that could properly handle Vista&#8217;s fancy windows and also integrated nicely with Paint.NET for making quick adjustments.</p>
<p style="clear: both">On the Mac I discovered a program called <a href="http://skitch.com/">Skitch</a> which is a free (I paid $18 for Window Clippings), full-featured screen capture tool and basic image editor all-in-one. Much like Window Clippings, Skitch allows you to capture a specific window or an arbitrary region of the screen but as soon as you &#8220;snap&#8221; your picture it immediately opens in the Skitch editor which allows you to annotate the image, crop it, resize it, etc.</p>
<p style="clear: both">The picture below is a screenshot of me using Skitch to take a screenshot of this blog post as I&#8217;m writing it (that should make your head spin a bit).</p>
<p style="clear: both"><a href="http://dehamerspace.com/wp-content/uploads/2009/03/skitch-1.jpg" class="image-link"><img class="linked-to-original" src="http://dehamerspace.com/wp-content/uploads/2009/03/skitch-1-thumb.jpg" height="459" align="left" width="417" style=" display: inline; float: left; margin: 0 10px 10px 0;" /></a><br style="clear: both" />I think that I&#8217;ve only started to scratch the surface of what you can do with Skitch, but I&#8217;m already impressed.</p>
<p style="clear: both"><em><strong>Other Contenders: <a href="http://www.ambrosiasw.com/utilities/snapzprox/" style=""></a>SnapzProX, <a href="http://www.sticksoftware.com/software/Constrictor.html" style=""><em></em>Constrictor</a><br />Migration Rating:</strong> definite upgrade</em></p>
<p style="clear: both"><img src="http://dehamerspace.com/wp-content/uploads/2009/03/livewriterblogo-thumb.jpg" height="121" align="right" width="247" style=" display: inline; float: right; margin: 0 0 10px 10px;" /><br /><strong>Blog Publishing</strong><br />Each of the blog platforms has their own blog publishing UI, and some of them are actually quite good but I found I was more comfortable using a dedicated, desktop application for composing articles. The best tool I found on the PC was <a href="http://download.live.com/writer">Microsoft&#8217;s Live Writer</a> &#8212; it&#8217;s free, compatible with all the major blog platforms and makes it super easy to incorporate pictures and videos into your posts.</p>
<p style="clear: both">On the Mac, I&#8217;m still evaluating two different applications: <a href="http://www.red-sweater.com/marsedit/">MarsEdit</a> ($30) and <a href="http://www.drinkbrainjuice.com/blogo">Blogo</a> ($25). I like MarsEdit because it has nice integration with Flickr, but it is lacking a WYSIWYG editor. On the other hand, Blogo has a nice WYSIWYG editor, but is lacking any sort of integration with Flickr, YouTube or other sites from which you might want to pull content for your blog. Neither of these apps quite does what I want, so the jury is still out (though I did use Blogo to compose this article).</p>
<p style="clear: both"><em><strong>Migration Rating:</strong> definite downgrade<br /></em></p>
<p style="clear: both">Overall, I&#8217;m pretty happy with my new suite of applications and look forward to seeing what else I can find. In my next post I want to talk a little bit about the PC apps I was able to completely abandon because they simply aren&#8217;t need on the Mac at all!</p>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/03/26/the-switch-part-2-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Switch</title>
		<link>http://dehamerspace.com/2009/03/13/the-switch/</link>
		<comments>http://dehamerspace.com/2009/03/13/the-switch/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 20:37:48 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/?p=78</guid>
		<description><![CDATA[After dabbling in the Mac world for the past couple of years, I decided last week to really make the switch. For a long time now, I&#8217;ve been building my own PCs &#8212; lovingly assembled from well-researched, hand-picked components and upgraded on a fairly regular basis. These machines always served me well, but over the [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both"><a href="http://dehamerspace.com/wp-content/uploads/2009/03/specs-dimensions20090303.jpg" class="image-link"><img class="linked-to-original" src="http://dehamerspace.com/wp-content/uploads/2009/03/specs-dimensions20090303-thumb.jpg" height="142" align="left" width="207" style=" display: inline; float: left; margin: 0 10px 10px 0;" /></a>After dabbling in the Mac world for the past couple of years, I decided last week to really make the switch. For a long time now, I&#8217;ve been building my own PCs &#8212; lovingly assembled from well-researched, hand-picked components and upgraded on a fairly regular basis. These machines always served me well, but over the past couple of years I&#8217;ve found that my computing needs have changed and it&#8217;s no longer obvious that a PC was the best fit for me:</p>
<ol style="clear: both">
<li>There was a time when my PC was mainly a game machine. One of the reasons that I built my own systems was so that I could have complete control over things like the type of memory or graphics card that was installed &#8212; always in pursuit of the best experience for the latest games. Now, as a father of two young kids, I find that I have almost no time to play games (I&#8217;ve got a copy of Far Cry 2 sitting here that I&#8217;ve played for about 10 minutes).</li>
<li>I&#8217;m far less dependent on desktop applications than I used to be. It used to be that I was a slave to Microsoft Outlook for my email and calendar. Now I&#8217;ve got Google hosting all this stuff for me and the particular operating system I&#8217;m running is a lot less important. It&#8217;s hard to believe, but I haven&#8217;t had <em>any</em> of the Microsoft Office applications installed on my machine in about a year now and haven&#8217;t once missed them.</li>
<li>The desktop applications that I do still use are tools for managing my photos and editing video. After playing with programs like iPhoto, Aperture and iMovie on my wife&#8217;s MacBook, I found that these were the programs I was drawn to whenever I needed to do photo or video work. The equivalent offerings on the PC side are pretty weak in comparison.</li>
</ol>
<p style="clear: both">So, with fewer things tying me to the PC and lots of things calling to me from the Mac it seemed clear that a switch was in order. I also got the feeling that my wife was becoming a little annoyed with the amount of time I was spending on her computer (especially considering there are a number of other machines in the house). In an effort to avoid any domestic disturbances, I ordered myself one of the new <a href="http://www.apple.com/macmini/specs.html" title="Mac Mini">Mac minis</a>.</p>
<p style="clear: both">I&#8217;ve been using the mini for about 5 days now and absolutely love it. There have been a few pain points (which I&#8217;ll save for a subsequent post) but, for the most part, it&#8217;s been a smooth transition.</p>
<p style="clear: both">Of course, I have no intention of abandoning my PC roots (I pretty much have to use a PC for work), but I am looking forward to immersing myself in the Mac ecosystem and having a whole new set of tools at my disposal. More to come.</p>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/03/13/the-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook Calendar Syncing to iPhone via Google</title>
		<link>http://dehamerspace.com/2009/02/10/outlook-calendar-syncing-to-iphone-via-google/</link>
		<comments>http://dehamerspace.com/2009/02/10/outlook-calendar-syncing-to-iphone-via-google/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 03:52:47 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2009/02/10/outlook-calendar-syncing-to-iphone-via-google/</guid>
		<description><![CDATA[One thing I’ve been meaning to do for awhile is to get my Outlook calendar synched with my iPhone (actually it’s an iPod Touch, but the distinction isn’t important here). The company I work for uses a fairly standard combination of MS Outlook and Exchange for email and calendaring. That works fine when I’m sitting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dehamerspace.com/wp-content/uploads/2009/02/calendarmicrosoftoutlook.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Microsoft Outlook Calendar" border="0" alt="Microsoft Outlook Calendar" align="right" src="http://dehamerspace.com/wp-content/uploads/2009/02/calendarmicrosoftoutlook-thumb.png" width="400" height="292" /></a>One thing I’ve been meaning to do for awhile is to get my Outlook calendar synched with my iPhone (actually it’s an iPod Touch, but the distinction isn’t important here). The company I work for uses a fairly standard combination of MS Outlook and Exchange for email and calendaring. That works fine when I’m sitting in front of my work computer, but there are times when I would like to be able to peek at my work calendar without going out to my office. I had a feeling it was possible to make it work, but it wasn’t until today that I finally sat down to make it happen. </p>
<p>Before I describe my somewhat convoluted solution, I should point out that there are some pretty straightforward ways to make this work. First, if I installed iTunes on my work computer and paired my iPhone with that machine I could easily get my Outlook calendar synched every time I docked the phone. This doesn’t really work for me since I already have my phone paired with my Mac.</p>
<p>The other solution would be to get the <a href="http://technet.microsoft.com/en-us/library/aa998357.aspx">Microsoft Exchange ActiveSync</a> installed on my company’s Exchange server. With that enabled, the iPhone can sync directly with the Exchange server (that feature was introduced with the 2.0 firmware release). Unfortunately, my employer is far too paranoid about security to enable this feature so this isn’t really an option for me either.</p>
<p>Having dismissed the easy solutions, what is left? Why ‘Google’ of course (isn’t that the answer to most questions these days). Turns out that it is pretty easy to sync an Outlook calendar with the <a href="http://calendar.google.com/">Google Calendar</a> application and, with the recent release of the <a href="http://www.google.com/mobile/default/sync.html">Google Sync</a>, it is pretty easy to sync your Google Calendar with your iPhone. So, the solution is to use Google Calendar as an intermediary between Outlook and the iPhone.</p>
<p>The first step is to make sure that you actually have a Google Calendar. If you have a Gmail account, you have a Google Calendar (look for the Calendar link at the top of the Gmail screen). I’m actually using the calendar associated with my <a href="http://www.google.com/apps/intl/en/business/index.html">Google Apps</a> account, but this approach will work either way.</p>
<p>Once you’ve verified that you have a Google Calendar, the next step is to get your Outlook data synced with it. This is a simple matter of installing the <a href="http://www.google.com/support/calendar/bin/answer.py?answer=89955">Google Calendar Sync</a> utility on the machine running Outlook.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/02/gcs.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Google Calendar Sync Settings" border="0" alt="Google Calendar Sync Settings" src="http://dehamerspace.com/wp-content/uploads/2009/02/gcs-thumb.png" width="400" height="419" /></a> </p>
</p>
<p>When configuring Google Calendar Sync, simply provide the email address and password for your Gmail or Google Apps account and specify the desired sync direction. In my case, I’m only interested in viewing my calendar on the iPhone (not making updates) so I selected the 1-way sync option.</p>
<p>After a few minutes of chugging, you should find that all of your Outlook calendar items are now visible in your Google Calendar as well. The screenshot below shows the Google Calendar view of the same data that’s seen in my Outlook calendar above.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/02/dehamercomcalendargooglechrome.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Google Calendar" border="0" alt="Google Calendar" src="http://dehamerspace.com/wp-content/uploads/2009/02/dehamercomcalendargooglechrome-thumb.png" width="500" height="369" /></a> </p>
<p>With the Outlook calendar now being mirrored by the Google Calendar, the final step is to get the iPhone to sync with Google Calendar. Luckily, everything you need for this step is already baked into the iPhone (as long as you’re running at least the 2.0 firmware). The steps are laid out pretty clearly in the <a href="http://www.google.com/support/mobile/bin/answer.py?answer=138740&amp;topic=14252">instructions provided by Google</a> so I’ll only summarize them here:</p>
<ul>
<li>Go into the <strong>Mail, Contact, Calendars</strong> section of the <strong>Settings</strong> application and click the <strong>Add Account…</strong> button </li>
<li>Make sure you select <strong>Microsoft Exchange</strong> for the account type. It seems totally crazy to me, but Microsoft has apparently licensed the ActiveSync technology to Google and now Google is giving it away for free. </li>
<li>Enter the username and password for Gmail or Google Apps account and specify <em>m.google.com</em> as the server (note that you can put any value you like in the Email field, it’s not really used for anything) </li>
<li>At this point, Google only supports contacts and calendars via ActiveSync so you can go ahead and disable the <strong>Mail</strong> option on the next screen. If you choose to enable contacts syncing, you’ll find that the address book from your Gmail account will get loaded into the <strong>Contacts</strong> application on the iPhone. I haven’t yet looked at syncing my Outlook contacts with Google so I don’t have a complete Outlook-to-iPhone solution for contacts yet. </li>
</ul>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/02/photo2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ActiveSync Settings" border="0" alt="ActiveSync Settings" src="http://dehamerspace.com/wp-content/uploads/2009/02/photo2-thumb.jpg" width="200" height="300" /></a> </p>
</p>
<p>Once you have everything configured you can press the <strong>Sync</strong> button and open your calendar. After a few seconds you should see your iPhone calendar populated with all the data in your Google Calendar. You should check to make sure that <strong>Push</strong> is enabled on your phone as this will ensure that any changes to your Google Calendar will be immediately synched to the phone. You can find the <strong>Push</strong> setting under the <strong>Fetch New Data</strong> section of the <strong>Settings</strong> application.</p>
<p>Here’s the same data from my Outlook calendar above after propagating to my iPhone.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2009/02/photo1.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="iPhone Calendar" border="0" alt="iPhone Calendar" src="http://dehamerspace.com/wp-content/uploads/2009/02/photo1-thumb.jpg" width="200" height="301" /></a> </p>
<p>It’s a little bit of work to get all this set-up, but ideally I won’t ever have to futz with it again – it <em>should</em> just work.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2009/02/10/outlook-calendar-syncing-to-iphone-via-google/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>VirtualBox</title>
		<link>http://dehamerspace.com/2008/09/14/virtualbox/</link>
		<comments>http://dehamerspace.com/2008/09/14/virtualbox/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 03:59:59 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/?p=45</guid>
		<description><![CDATA[ In my last post about virtual machines I talked a little about the two virtualization solutions that I&#8217;ve played with on Windows: Microsoft&#8217;s VirtualPC and VMware&#8217;s VMware Workstation.  Shortly after that post, I came across another virtualization package that nicely bridges the gap between Microsoft&#8217;s free-but-feature-poor solution and VMware&#8217;s feature-rich-but-not-free solution.  The new contender [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dehamerspace.com/wp-content/uploads/2008/09/sun-xvm-virtualbox.png"><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/09/sun-xvm-virtualbox-thumb.png" alt="Sun xVM VirtualBox" width="300" height="211" align="right" /></a> In my last post about <a href="http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/">virtual machines</a> I talked a little about the two virtualization solutions that I&#8217;ve played with on Windows: Microsoft&#8217;s VirtualPC and VMware&#8217;s VMware Workstation.  Shortly after that post, I came across another virtualization package that nicely bridges the gap between Microsoft&#8217;s free-but-feature-poor solution and VMware&#8217;s feature-rich-but-not-free solution.  The new contender is <a href="http://www.virtualbox.org/">Sun&#8217;s VirtualBox</a>.</p>
<p>The purpose of VirtualBox is the same as VirtualPC and VMware Workstation &#8212; that is to provide you with a virtualized, isolated computer on which you can install and run any operating systems and applications you choose.  You basically get a computer within your computer (see my <a href="http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/">previous post</a> in which I explore some of the cool things you can do with such an environment).</p>
<p>The most exciting thing about VirtualBox is that it is free (open-source even) yet has a number of features that were previously only available in commercial products.</p>
<h3>USB Device Support</h3>
<p>One of the biggest limitations of VirtualPC is that it has no USB device support.  Other than the mouse and keyboard, any USB devices you have are completely invisible to the virtual machine.  If you have a need to access a USB flash drive or printer from virtual machine, it&#8217;s critical your virtualization software have USB support.</p>
<p>With VirtualBox, any USB device connected to the host machine can be exposed to the virtual machine.  As long as you have the appropriate drivers installed on the virtual machine, the device should behave just as it does when connected to the host.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/09/backtrack-settings-2.png"><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/09/backtrack-settings-2-thumb.png" alt="Backtrack - Settings (2)" width="500" height="433" /></a></p>
<p>In the screenshot above, I&#8217;ve got a USB WiFi adapter connected to my <a href="http://www.remote-exploit.org/backtrack.html">Linux Backtrack</a> VM. Note that, when you &#8220;connect&#8221; a USB device to a virtual machine, it is no longer accessible to the host machine &#8212; devices are only visible to one environment at a time.</p>
<h3>Seamless Windows</h3>
<p>VirtualBox allows VMs that are running certain operating systems to be run in seamless window mode. With seamless windows, the application windows that would typically be displayed within the virtual machine are instead rendered as if they were running natively on the host machine.</p>
<p>On the Mac, I know that both <a href="http://www.vmware.com/products/fusion/">VMware Fusion</a> and <a href="http://www.parallels.com/">Parallels Desktop</a> support this sort of seamless window mode, but this is the first time that I&#8217;ve seen it in a virtualization product that runs on Microsoft Windows.</p>
<p>Here is a screenshot of a Windows XP VM running in standard mode. Note that the VM is contained completely within a window running on my Vista host desktop.  You can see that I&#8217;m running Notepad and Calculator in the virtual machine but they&#8217;re trapped within the VM window.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/09/program-manager.png"><img src="http://dehamerspace.com/wp-content/uploads/2008/09/program-manager-thumb.png" alt="Program Manager" width="500" height="402" /></a></p>
<p>The following screenshot shows exactly the same environment running in seamless window mode. Note that the virtual machine window is gone &#8212; Notepad and Calculator now <em>look</em> as if they&#8217;re running on the host machine even though they&#8217;re still completely sandboxed in the VM.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/09/program-manager-2.png"><img src="http://dehamerspace.com/wp-content/uploads/2008/09/program-manager-2-thumb.png" alt="Program Manager (2)" width="500" height="404" /></a></p>
<p>One interesting side-effect of the seamless window mode is that you end up with two taskbars: one for the host machine and one for the virtual machine. </p>
<p>If you have applications from both your host machine and virtual machine that you want to run side-by-side, seamless mode can really help to make more efficient use of your desktop real estate.</p>
<h3>Virtual Disks</h3>
<p>All of the virtualization solutions support some form of virtual disks that can be attached to the virtual machine.  In VirtualPC, these disks are called Virtual Hard Drives and have a <em>.vhd</em> extension on the host system, in VirtualBox they are called Virtual Disk Images and have a <em>.vdi</em> extension.</p>
<p>In my previous post, I talked about the &#8220;Undo Disk&#8221; feature in VirtualPC and how it can be used to create a read-only virtual machine (actually, you can write changes to the virtual machine while it&#8217;s running, but all those changes are lost as soon as you shut it down). VirtualBox supports a similar feature called immutable images.</p>
<p>Immutable VDIs are read-only and can be attached to multiple virtual machines simultaneously. At run time, any requests to write data to the immutable disk are directed to a special &#8220;differencing disk&#8221; created on the fly by VirtualBox.  Much like VirtualPC, VirtualBox completely discards any data written to the differencing disk when the VM is shut down.</p>
<p>Immutable disks are handy when you don&#8217;t care about saving the state of your VM, however in certain scenarios you&#8217;ll probably want your VM to persist its state so that you can come back to it later. I have VMs I&#8217;ve created for the different development environments that I use regularly: one with IIS and Visual Studio for .NET development and one with Tomcat and Eclipse for Java development. Since I&#8217;ll have source code in these virtual machines that I&#8217;m actively working on, I wouldn&#8217;t want to configure them with immutable disks &#8212; doing so would mean that I&#8217;d lose all my code changes whenever I shut down the VM. In VirtualBox, disk images that allow write access are called &#8220;normal images&#8221;.</p>
<p>One of the nice features of the normal disk image is the ability to save snapshots of the state of the virtual machine.  At any time you can revert to one of your previous snapshots even if you&#8217;ve made significant changes to the virtual machine since you took the snapshot.</p>
<p>Once I&#8217;ve got the operating system, service packs and necessary applications installed on a virtual machine, I&#8217;ll typically take a snapshot and label it something like &#8220;Clean install w/ applications&#8221;.  That way I can always revert back to that snapshot if the VM is ever damaged by an accidental change, malicious software or other corruption.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/09/details-of-clean-install-xp-sp3-starter.png"><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/09/details-of-clean-install-xp-sp3-starter-thumb.png" alt="Details of Clean Install (XP SP3 Starter)" width="500" height="392" /></a></p>
<p>The screenshot above shows the details of a VM snapshot I took after installing Windows XP and its associated service packs.  Even though I&#8217;ve made changes to the VM since taking this snapshot I will always be able to roll my system back to this state if needed.</p>
<p>You can sort of accomplish the same thing in VirtualPC by manually making copies of the .vhd file (these become your snapshots), but having this feature built into the application makes it much more user friendly.</p>
<h3>Missing Features</h3>
<p>Unfortunately, VirtualBox isn&#8217;t quite perfect. There are at least two features lacking that I really miss from VirtualPC: 1) Drag-n-drop support between the host and virtual machine, and 2) GUI management tools.</p>
<p>One of the great ease-of-use features in VirtualPC is the ability to drag-n-drop files between the host machine the virtual machine.  If you have a document or application on your host machine that you&#8217;d like to access, you simply drag it into the VM window and it will create a copy within the VM.  Similarly, moving files from the VM to the host is accomplished by simply dragging the file from the VM and dropping it on the host desktop.</p>
<p>With VirtualBox, the process of moving files between the host and VM isn&#8217;t nearly as straightforward. VirtualBox allows you to select a folder on the host machine which it will then expose as a network share to the virtual machine.  You can then map that network share to a drive letter and copy files back-and-forth.  It&#8217;s a bit of a hassle if you&#8217;re just looking to quickly move a file between environments.</p>
<p>My only other complaint about VirtualBox (and this is arguably a pretty minor one) is that many of the advanced features are only accessible via command line tools.  If you want to compact your virtual disks or configure an immutable disk, you have to go to the command line to do it.  Overall, the VirtualBox UI is very clean and usable, so it seems a bit arbitrary when you find certain features are presented nicely in the UI while others require that you go to the documentation to find the appropriate command line option.</p>
<p>Despite these minor faults, VirtualBox seems to be a solid product and is probably going to be taking the place of Microsoft&#8217;s VirtualPC on my systems here very quickly. I look forward to seeing what Sun does with this product in future releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/09/14/virtualbox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Virtual Machines: Application Sandbox</title>
		<link>http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/</link>
		<comments>http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 04:04:16 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/</guid>
		<description><![CDATA[I received an e-mail from my auto insurance agent yesterday containing some forms that I needed to print, sign and return to her.&#160; The forms came attached to the message as a multi-page TIFF image (something I&#8217;d never seen before).&#160; I needed to edit some of the pages before I printed them but none of [...]]]></description>
			<content:encoded><![CDATA[<p>I received an e-mail from my auto insurance agent yesterday containing some forms that I needed to print, sign and return to her.&#160; The forms came attached to the message as a multi-page TIFF image (something I&#8217;d never seen before).&#160; I needed to edit some of the pages before I printed them but none of the image editors that I had installed knew what to do with a multi-page TIFF (they would only let me edit the first page).</p>
<p>I started googling for &quot;TIFF splitter&quot; hoping that I&#8217;d find some easy way to split a multi-page TIFF into separate image files.&#160; I found all sorts of shady looking shareware that claimed to do what I needed, but I was feeling sort of apprehensive.</p>
<p>This will probably be the only time I ever need to split a TFF and who knows what malware or other junk these shareware programs were going to leave on my system.&#160; Was it worth the risk?</p>
<p>If only there were some way to install the program, use it to do what I need and then completely wipe it off my computer.&#160; It turns out that there is an easy way to do that: use a virtual machine.</p>
<p>A virtual machine allows you to run an operating system within your operating system while ensuring that anything the happens within the virtualized environment doesn&#8217;t impact your actual machine.&#160; Each virtual machine gets it&#8217;s own virtual hardware stack and runs in a separate window on your desktop.</p>
<p>The screenshot below shows a virtualized Windows XP machine running on top of my Vista desktop.</p>
<p><img class="screencap" height="439" alt="WindowClipping" src="http://dehamerspace.com/wp-content/uploads/2008/09/windowclipping.png" width="550" /> </p>
<p>There are all sorts of neat things that you can do with virtual machines (playing with new operating systems, creating truly safe web browsing environments) but I find that I most often use them to test software that I&#8217;m unwilling to install on my actual machine.&#160; Whether it&#8217;s simply beta software or some questionable application you got off Bittorrent, a VM is the perfect way to give it a spin without jeopardizing your primary system.</p>
<p>In the Microsoft Windows domain, the two big VM applications are Microsoft&#8217;s own <a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx">Virtual PC</a> and <a href="http://www.vmware.com/products/ws/">VMware Workstation</a> from VMWare.&#160; Virtual PC is completely free while VMware Workstation will set you back $189.&#160; VMWare has a free application called <a href="http://www.vmware.com/products/player/">VMware Player</a> that allows you to run existing virtual machines but won&#8217;t allow you to create new VMs (there are a lot of <a href="http://www.vmware.com/appliances/">pre-built VMs</a> available for download, but you&#8217;re unlikely to find any running a Microsoft OS if that&#8217;s what you need).&#160; VMWare Workstation has some really nice features missing from Virtual PC (USB support), but the fact that Virtual PC is free and does pretty much everything I need has earned it a spot on my system.</p>
<p>&#160;<img class="screencap" height="308" alt="Virtual PC Console (2)" src="http://dehamerspace.com/wp-content/uploads/2008/09/virtual-pc-console-2.png" width="350" /> </p>
<p>I keep all sorts of of VMs around for different tasks, but I&#8217;ve got one named &quot;Crash Burn&quot; that is specifically for running un-trusted software.&#160; One of the nice features of Virtual PC (also available in VMware Workstation) is the ability to enable &quot;Undo Disks&quot;.&#160; With the undo disk enabled, the virtual machine essentially becomes read-only &#8212; any changes you make to the system are thrown away as soon as you shut down the VM.</p>
<p><img class="screencap" height="362" alt="Settings for Crash Burn (XP)" src="http://dehamerspace.com/wp-content/uploads/2008/09/settings-for-crash-burn-xp.png" width="500" /> </p>
<p>For my crash &amp; burn VM, I installed a fresh copy of Windows XP w/ SP3, installed all the latest service packs and then enabled the undo disks.&#160; I can boot that VM, install/run whatever crazy stuff I want and then shut it down safe in the knowledge that it will be back in a pristine state the next time that I need it.&#160; It&#8217;s the perfect solution for those one-time use applications of &quot;questionable parentage&quot;.</p>
<p><strong>TIP: </strong>I&#8217;ve got a collection of about 12 different virtual machines that I keep on my external hard drive. By default, Virtual PC looks for VM images under the <nobr><em>%USERPROFILE%\Documents\Virtual Machines</em></nobr> directory (I hate applications that create folders in my <em>Documents</em> directory . . . don&#8217;t get me started).&#160; However, I recently discovered that setting a system variable named MYVIRTUALMACHINES will cause Virtual PC to use any directory of your choosing.&#160; With this setting in place, VPC will automatically create new virtual machines in <strong>my</strong> directory instead.</p>
<p><img class="screencap" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="172" alt="WindowClipping (3)" src="http://dehamerspace.com/wp-content/uploads/2008/09/windowclipping-3.png" width="365" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/09/02/virtual-machines-application-sandbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
