<?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"
	>

<channel>
	<title>DeHamerspace</title>
	<atom:link href="http://dehamerspace.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dehamerspace.com</link>
	<description></description>
	<pubDate>Thu, 30 Oct 2008 15:11:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Microsoft PDC Day 3</title>
		<link>http://dehamerspace.com/2008/10/30/microsoft-pdc-day-3/</link>
		<comments>http://dehamerspace.com/2008/10/30/microsoft-pdc-day-3/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 15:11:05 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/10/30/microsoft-pdc-day-3/</guid>
		<description><![CDATA[Surprisingly, the most interesting thing that I saw today had absolutely nothing to do with .NET, Windows or cloud computing. Rich Rashid from Microsoft Research was the keynoter today and he walked through a number of really cool things that they&#8217;re working on, but the project that really stood out for me was something called [...]]]></description>
			<content:encoded><![CDATA[<p>Surprisingly, the most interesting thing that I saw today had absolutely nothing to do with .NET, Windows or cloud computing. Rich Rashid from Microsoft Research was the keynoter today and he walked through a number of really cool things that they&#8217;re working on, but the project that really stood out for me was something called Boku.</p>
<p><a href="http://microsoftpdc.com/View.aspx?post=http://channel9.msdn.com/posts/PDCNews/Boku-Turning-Programming-Into-Kids-Stuff/">Boku</a> is an application designed to introduce kids to computer programming. Using an entirely icon-based programming language, Boku lets your build your own game consisting of different elements that you can program to interact with each other.&nbsp; It&#8217;s really hard to really describe just how cool this is in words so I encourage you to check out <a href="http://research.microsoft.com/projects/boku/video/silent/boku_programming_1600_download_silent.wmv">this video</a>.</p>
<p>I may just be rationalizing my own biases, but I like to think that teaching kids to program isn&#8217;t just about producing the next generation of nerds, but actually teaches some useful life skills as well: critical thinking, problem solving, etc. And I love the idea of exposing kids to programming concepts in a form that they&#8217;re likely already familiar with: computer games. In fact I was having a conversation with one of <a href="http://nerdguru.net">my co-workers</a> just the other day about how to get kids interested in engineering and this seems like an awesome tool for sparking that interest.</p>
<p>This reminds me a lot of something I played with awhile back called <a href="http://scratch.mit.edu/">Scratch</a> from the MIT Media Lab. I think the primary goal of Boku and Scratch is probably the same (i.e. create a kid-friendly programming environment), but Boku seems far more polished and sophisticated.</p>
<p>Scratch is available now (for free) while I think they said that Boku would be available early next year &#8212; I can&#8217;t wait to get my hands on it and start programming with my kids.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/10/programming-ui.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="282" alt="Boku UI" src="http://dehamerspace.com/wp-content/uploads/2008/10/programming-ui-thumb.jpg" width="504" border="0"></a> </p>
<p>At the other end of the programming spectrum, I also attended Anders Hejlsberg&#8217;s session on the <a href="http://channel9.msdn.com/pdc2008/TL16/">Future of C#</a>. There was so much interest in this session that it was one of the few that was actually scheduled to run twice during the week. I&#8217;m not sure if people are really excited about C# or if they just wanted to see the father of C# in person &#8212; either way, it was a great session.</p>
<p>There&#8217;s lots of cool stuff coming in C# 4.0 like optional parameters and better COM interoperability but the thing that really &#8220;wowed&#8221; the crowd was the support for dynamically typed objects. Through the use of the new <code>dynamic</code> keyword you can ask C# to resolve names at runtime instead of compile time. This opens-up a bunch of very interesting scenarios like the one that Anders showed in his demo where he was able to invoke methods on both Javascript and Python objects from C# just as if they were native C# classes.</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/10/tl16.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="379" alt="C# 4.0 Dynamically Typed Objects" src="http://dehamerspace.com/wp-content/uploads/2008/10/tl16-thumb.png" width="504" border="0"></a></p>
<p>Apparently, this capability is being built on top of the same Dynamic Language Runtime (DLR) component that they put in place to build the dynamic CLR languages like IronPython and IronRuby.</p>
<p>&nbsp;<a href="http://dehamerspace.com/wp-content/uploads/2008/10/dlr.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="379" alt="DLR" src="http://dehamerspace.com/wp-content/uploads/2008/10/dlr-thumb.png" width="504" border="0"></a> </p>
<p>That final thing I want to mention from day 3 was an interesting session entitled &#8220;<a href="http://channel9.msdn.com/pdc2008/ES31/">How HP Built Their Magcloud Service on Windows Azure</a>&#8220;. This one caught my attention cause I had initially dismissed Azure as something that HP (my employer) would not be interested in. Given that HP has been making a big deal about how great they are at building and operating world-class data centers it seemed kind of strange that we&#8217;d take one of our applications and host it on Microsoft&#8217;s infrastructure.</p>
<p>Well, after sitting through the session it became apparent that we didn&#8217;t <em>build</em> our <a href="http://magcloud.com/home">Magcloud</a> application on Windows Azure as much as we took a portion of the existing Magcloud application and ported it to Azure as a proof of concept. No part of the production Magcloud app is actually running on Azure. Looks like this may have been nothing more than a way to keep Microsoft (an important partner of HP) happy while also getting HP some visibility at PDC.</p>
<p>It&#8217;ll be interesting to keep an eye on this relationship and see if anything really happens here. Perhaps HP is hoping to persuade Microsoft to run the Azure platform in one of its &#8220;next generation data centers&#8221;.</p>
<p>That&#8217;s all from day three. Looking forward to wrapping up tomorrow and heading home.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/10/30/microsoft-pdc-day-3/feed/</wfw:commentRss>
<enclosure url="http://research.microsoft.com/projects/boku/video/silent/boku_programming_1600_download_silent.wmv" length="21925785" type="video/x-ms-wmv" />
		</item>
		<item>
		<title>Microsoft PDC Day 2</title>
		<link>http://dehamerspace.com/2008/10/29/microsoft-pdc-day-2/</link>
		<comments>http://dehamerspace.com/2008/10/29/microsoft-pdc-day-2/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 02:18:45 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/10/29/microsoft-pdc-day-2/</guid>
		<description><![CDATA[A big part of day 2 was an introduction to Windows 7, the successor to Windows Vista. Not surprisingly, there&#8217;s been plenty of coverage on this topic so I&#8217;m not going to discuss the announcements in any great detail (you can also watch the complete keynote). However, let me quickly mention a couple of things [...]]]></description>
			<content:encoded><![CDATA[<p>A big part of day 2 was an introduction to Windows 7, the successor to Windows Vista. Not surprisingly, there&#8217;s been plenty of <a href="http://www.winsupersite.com/win7/">coverage</a> on this topic so I&#8217;m not going to discuss the announcements in any great detail (you can also <a href="http://channel9.msdn.com/pdc2008/KYN02/">watch the complete keynote</a>). However, let me quickly mention a couple of things that made an impression on me:</p>
<ul>
<li>Steven Sinofsky (SVP of Windows and Windows Live) pretty much admitted that Vista didn&#8217;t really deliver. They made a big deal about learning from the mistakes of Vista. We&#8217;ll see.
<li>Big improvements to the task bar with regard to the way that you launch applications and interact with running applications.
<ul>
<li>The ability to pin applications to the taskbar. No more stupid Quick Launch area.
<li>Multiple windows from the same application automatically folded into a single taskbar icon.
<li><strong>Complete</strong> control over the junk in the notification area (AKA the tray). By default no icons get placed in the tray &#8212; users must explicitly request that an icon by placed in the tray. Additionally, for items that are in the tray, you can specify that those annoying balloon pop-ups are completely suppressed. </li>
</ul>
<li>Support for VHD files (the virtual hard drive format used by Microsoft&#8217;s virtualization products) built directly into the OS. Apparently, a VHD can be mounted as if it were a physical drive and the boot manager has been augmented to give you the ability to boot directly from a VHD at startup.
<li>They were really encouraging developers to deliver 64-bit apps. I&#8217;d love to think that I&#8217;d have a 64-bit version of every app I use by the time that Windows 7 ships.</li>
</ul>
<p>The other exciting part of the day was getting to talk with <a href="http://haacked.com/">Phil Haack</a> from the ASP.NET team. I wanted to ask Phil about his ASP.NET MVC presentation. If you read my <a href="http://dehamerspace.com/2008/10/28/microsoft-pdc-day-1/">post from day 1</a> you&#8217;ll note that I had some concerns about the use of some pretty ugly C# code in the view layer of the framework. I asked Phil what sort of plans they had for enabling developers to create codeless views. He was quick to point out that there&#8217;s no rule stating that you can&#8217;t have code in your views &#8212; I completely agree with that (after all, what is a JSP tag library but a fancy wrapper on some Java code) but from a readability and aesthetic perspective it still seems wrong to have raw C# code in your view.</p>
<p>Phil did seem to agree that the aesthetics of inline C# code in the ASPX left something to be desired (hope I&#8217;m not putting any words in your mouth here Phil) and said that they were looking at creating some declarative wrappers around the <code>HtmlHelper</code> class. Turns out that these &#8220;declarative wrappers&#8221; are really nothing more than good ol&#8217; ASP.NET server controls. The one thing that I didn&#8217;t really grok until I talked with Phil was that WebForms server controls will work in the MVC environment . . . as long as they aren&#8217;t dependent on any WebForm-specific concepts like ViewState or the page lifecycle.</p>
<p>Turns out that I&#8217;ve done some server control development so I might just take a crack at creating some of my own wrappers just to see how it works. Stay tuned for more on this.</p>
<p>The other thing to point out is that you aren&#8217;t limited to using ASPX pages as your view engine &#8212; since all of this stuff is loosely coupled you&#8217;re free to plug in whatever engine you like. At the moment, there are a handful of alternative engines available including <a href="http://www.codeplex.com/MVCContrib/Wiki/View.aspx?title=Brail&amp;referringTitle=Documentation">Brail</a>, <a href="http://www.codeplex.com/MVCContrib/Wiki/View.aspx?title=NHaml&amp;referringTitle=Documentation">NHaml</a>, and <a href="http://www.codeplex.com/MVCContrib/Wiki/View.aspx?title=NVelocity&amp;referringTitle=Documentation">NVelocity</a>.</p>
<p>Thanks to Phil for taking the time to talk with me &#8212; much appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/10/29/microsoft-pdc-day-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft PDC Day 1</title>
		<link>http://dehamerspace.com/2008/10/28/microsoft-pdc-day-1/</link>
		<comments>http://dehamerspace.com/2008/10/28/microsoft-pdc-day-1/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:01:37 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/10/28/microsoft-pdc-day-1/</guid>
		<description><![CDATA[I&#8217;ve traveled all the way from San Diego, CA to Los Angeles, CA this week to attend Microsoft&#8217;s Professional Developer&#8217;s Conference &#8212; watch out L.A. you&#8217;re about to be overrun by some pretty serious nerds!
I guess the big announcement of the day was Microsoft&#8217;s new Windows Azure cloud computing platform. This is their answer to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve traveled all the way from San Diego, CA to Los Angeles, CA this week to attend Microsoft&#8217;s Professional Developer&#8217;s Conference &#8212; watch out L.A. you&#8217;re about to be overrun by some pretty serious nerds!</p>
<p>I guess the big announcement of the day was Microsoft&#8217;s new <a href="http://www.microsoft.com/azure/default.mspx">Windows Azure</a> cloud computing platform. This is their answer to things like <a href="http://aws.amazon.com/ec2/">Amazon&#8217;s EC2</a> or <a href="http://code.google.com/appengine/">Google&#8217;s App Engine</a>. The technology seemed pretty cool and may be something I use for future side-projects, but I didn&#8217;t dive into it too deeply today since HP (my employer) is unlikely to be outsourcing their datacenters to Microsoft anytime soon (HP fancies itself to be quite the datacenter expert these days).</p>
<p>For me, the most interesting session of the day was <a href="http://haacked.com/">Phil Haack&#8217;s</a> talk on the new <a href="http://www.asp.net/MVC/">ASP.NET MVC</a> framework (<a href="http://channel9.msdn.com/pdc2008/PC21/">session replay</a>). This is something that I&#8217;ve been interested in for some time now, but haven&#8217;t yet had the opportunity to play with. As someone who splits his time pretty evenly between Java and .NET programming, there&#8217;s always been a major mental context switch that I have to go through when moving from Struts or Spring MVC in the Java world to ASP.NET Web Forms in the .NET world. The programming models are radically different.</p>
<p>On the other hand, ASP.NET MVC now brings to the .NET platform all of the things that I know and love about the MVC development model:</p>
<ul>
<li>Clear separation of concerns.
<li>Complete control over the structure of my URLs with a robust routing framework.
<li>Complete control over my generated markup (some people may lament the lack of support for WebForm-style server controls, but I&#8217;m happy to be rid of ViewState).
<li>Unit-testability. </li>
</ul>
<p>I&#8217;ve looked at a lot of the ASP.NET MVC sample code that have been released and the one that I did find disturbing was the amount of code present in the views. MVC is able to leverage the good ol&#8217; ASPX page as a view layer and you&#8217;ll often see things like this is the samples:</p>
<pre>&lt;p&gt;Please fill out the following form:&lt;/p&gt;
&lt;% using(Html.Form("Home", "Index")) { %&gt;
	&lt;input type="text" name="firstname"&gt;
	...
&lt;% } %&gt;</pre>
<p>In the Java world we&#8217;ve been told for years &#8220;keep Java code out of your JSPs&#8221;, yet here we&#8217;ve got some pretty strange looking C# code mingling with our HTML markup (this is actually a pretty clever use of the IDisposable pattern to create a form-scope within the page, but really this sort of code has no business in the view). In Java, this sort of scenario is typically handled by using things like the Java Standard Tag Library (JSTL), the JSP Expression Language or a custom tag library. These things don&#8217;t have any counterparts in the ASP.NET MVC world . . . yet.</p>
<p>I was very encouraged to hear Phil say that one of the things they are going to work on is a set of &#8220;declarative helpers&#8221; that will serve as an alternative to inline C# code within the ASPX view. If true, this would eliminate the one reservation that I currently have about using the ASP.NET MVC framework. Phil is supposed to be in the expo hall this afternoon answering questions and I&#8217;m hoping to talk to him about their plans in this area.</p>
<p>Great stuff!</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/10/28/microsoft-pdc-day-1/feed/</wfw:commentRss>
		</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>
		</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>
		</item>
		<item>
		<title>Home Office - Revisited</title>
		<link>http://dehamerspace.com/2008/06/27/home-office-revisited/</link>
		<comments>http://dehamerspace.com/2008/06/27/home-office-revisited/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 19:06:10 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/06/27/home-office-revisited/</guid>
		<description><![CDATA[After having my home office featured on Lifehacker this morning, I&#8217;ve gotten a lot of great feedback about my set-up. I&#8217;ve been following the comments left on LH as well as Flickr and my own blog and wanted to post a quick entry to address some of the common questions:

In the city of San Diego [...]]]></description>
			<content:encoded><![CDATA[<p>After having my <a href="http://lifehacker.com/397216/backyard-shed-turned-home-office">home office featured on Lifehacker</a> this morning, I&#8217;ve gotten a lot of great feedback about my set-up. I&#8217;ve been following the comments left on <a href="http://lifehacker.com/397216/backyard-shed-turned-home-office#viewcomments">LH</a> as well as <a href="http://www.flickr.com/photos/bdehamer/2397314736/in/set-72157594485548154/">Flickr</a> and my <a href="http://dehamerspace.com/2008/04/08/working-at-home-the-office/#comments">own blog</a> and wanted to post a quick entry to address some of the common questions:</p>
<ul>
<li>In the city of San Diego you need a building permit for any structure that exceeds 120 square feet in area.&nbsp; Not surprisingly, one of the best-selling sheds is the 8&#215;15 foot model (that&#8217;s exactly 120 square feet).
<li>The shed itself cost about $3800.&nbsp; Included in that cost were 3 windows, a steel door and delivery/installation.&nbsp; I spent another $2000 to have the shed insulated, dry-walled, painted and carpeted.&nbsp; I was able to get a remnant piece of carpet that fit perfectly so I saved a lot of money there.&nbsp;
<li>With two powerful computers running in here 24/7 I really don&#8217;t have to worry about heating the office in the winter (this is San Diego after all).&nbsp; However, it can get pretty warm in the summer.&nbsp; I installed a through-the-wall air conditioner and it does a great job.&nbsp; It doesn&#8217;t take much A/C to keep 120 square feet cool.&nbsp; If I&#8217;d planned ahead better I could have instructed the shed company to cut-in the necessary hole for me ahead of time.&nbsp; Since the idea for the A/C didn&#8217;t occur to me until after the shed had been installed, I ended-up cutting the hole myself prior to the dry-wall work.&nbsp; I could have gone with a window A/C unit, but I didn&#8217;t want to give up any of my windows.
<li>One area where I was able to save a lot of money was by doing all of the wiring myself.&nbsp; After the shed was installed, I went in and ran all the necessary cables for AC power, telephone, cable TV and ethernet.&nbsp; I made sure that there was power near the air conditioner and in the ceiling for my track lighting.&nbsp; I think that I ended-up with two separate AC circuits &#8212; one just for the air conditioner and one for everything else.&nbsp; Everything connects back to the house via a conduit that is running through the back yard (this part involved a long, 18 inch deep trench connecting the house to the office).
<li>For the telephone, cable and ethernet I ran one line for each from the house and terminated them in a small media panel (see below) that I installed in the wall.&nbsp; From there, I ran cables to all of the points in the office where I thought I might want to plug stuff in. <br /><img src="http://farm1.static.flickr.com/163/360977194_e56e5e53d3_d.jpg">
<li>I knew I was going to install some sort of speaker system in the office, so I also ran speaker wire in the walls to the four corners of the office and terminated them with a nice banana-plug style wall plate in the corner of the office. <br /><img src="http://farm1.static.flickr.com/160/360977221_98a88dbe0e_d.jpg"> </li>
</ul>
<p><em>Update: </em>One topic that I forgot to address was &#8217;security&#8217; &#8212; I&#8217;ve gotten a couple questions about this already.&nbsp; Given that I&#8217;ve got a fair amount of computer equipment in the shed, security was something that I thought a lot about.&nbsp; I suppose it wouldn&#8217;t be wise of me to go into too much detail, but I will say that our house already has a pretty nice alarm system so at the same time I was running the wire for the ethernet and telephone I ran the necessary wire to hook the shed up to the alarm system in the house.&nbsp; Beyond that, I just did simple things like selecting the steel door option for the shed and installing a motion-sensing flood light above the door. I also installed a keypad-based deadbolt so I don&#8217;t have to carry any keys around (or worry about losing them).</p>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/06/be365-cam-716-ho.jpg"><img height="220" alt="BE365_CAM_716_HO" src="http://dehamerspace.com/wp-content/uploads/2008/06/be365-cam-716-ho-thumb.jpg" width="220"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/06/27/home-office-revisited/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backing It Up - Email</title>
		<link>http://dehamerspace.com/2008/04/26/backing-it-up-email/</link>
		<comments>http://dehamerspace.com/2008/04/26/backing-it-up-email/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 04:29:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/?p=14</guid>
		<description><![CDATA[This is the second article in my series about backing up your system using web-based services. In my previous article, I discussed the use of Flickr as a photo archival/sharing service &#8212; this time my focus is going to be on email.
If you&#8217;re using a desktop email client like Outlook or Thunderbird you&#8217;ve likely got [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second article in my series about backing up your system using web-based services. In my previous article, I discussed the use of Flickr as a photo archival/sharing service &#8212; this time my focus is going to be on email.</p>
<p>If you&#8217;re using a desktop email client like Outlook or Thunderbird you&#8217;ve likely got some pretty large email archives sitting on your hard drive somewhere.  For the most part, your email archives are just like any other file on your system that you might want to back up &#8212; and the same tools/services you would use to do offsite backup of your other files would be equally applicable to your email archives.  However, there are some backup strategies which are unique to email that you may want to consider &#8212; and that&#8217;s precisely what want to discuss here (Note, that I still have a post on general-purpose, off-site backup solutions in the works, but I want to get through some of these application-specific solutions first).</p>
<h3>Web-based Email</h3>
<p>For most people, I suspect that email back-up is a non-issue. Those of you out there who rely on web-based services like Gmail, HotMail or Yahoo! Mail as your primary e-mail interface certainly don&#8217;t need to worry about offsite-backup since your mail is never &#8220;onsite&#8221; to begin with. Of course, if you&#8217;re concerned about a catastrophic event at Google/Microsoft/Yahoo you may want to create a local back-up of your mail, but we&#8217;ll save that topic for another post.</p>
<p>So, if most people&#8217;s e-mail lives in the cloud to begin with, why are we even talking about email backup? Well, I suspect that there are still a fair number of people (such as myself) that are pretty attached to their desktop mail clients. I&#8217;ve been using Microsoft Outlook for my Exchange-based email at work for years now and have grown so accustomed to it that it is my preferred client for my personal email as well. Similarly, my wife prefers to use a desktop mail client over the web-based services and is using Thunderbird on her Mac.</p>
<h3>IMAP</h3>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/05/gmailimap.png"><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/05/gmailimap-thumb.png" border="0" alt="GMail IMAP" width="400" height="340" align="right" /></a> So, if you&#8217;re using a desktop email client, there&#8217;s a good chance that you&#8217;re using the POP protocol to download your mail &#8212; this is the standard for retrieving email and will be supported by any service that allows remote retrieval. However, there is another, less common protocol called IMAP that is supported by some services.</p>
<p>If it&#8217;s offered by your email provider, you should give IMAP a try. With POP, the client typically downloads messages from the server to the local machine and then deletes the copy that is on the server (the POP protocol is pretty dumb, so if it didn&#8217;t delete the messages on the server it would end-up re-downloading them the next time that it went to check for messages). With IMAP, you can use your local mail client to browse/read/organize your messages but everything stays on the server. This gives you the best of both worlds: off-site storage but with access via your favorite desktop client.</p>
<p>Because IMAP leaves all your messages on the server, you have the ability to use desktop clients on multiple machines as well as your email provider&#8217;s web-based interface and still have access to all of your messages.  This is a huge benefit for people that may need to have access to their email from more than one machine.</p>
<p>I should point out that, of the three big email providers, only Gmail offers IMAP access (the screenshot above shows where you go to enable IMAP support in the Gmail settings). In fact, Gmail is the only one of the three that offers POP access for free. Both Hotmail and Yahoo! Mail require that you upgrade to a paid account in order to get even POP access and neither offer IMAP at any level of service.</p>
<h3>Server-side POP Archives</h3>
<p><a href="http://dehamerspace.com/wp-content/uploads/2008/05/gmailarchive.png"><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/05/gmailarchive-thumb.png" alt="gmailarchive" width="400" height="340" align="left" /></a> One of the downsides of IMAP is that performance can sometimes be a bit sluggish &#8212; especially for people who are used to downloading their messages via POP and working with them locally.  Even if you decide not to use IMAP, Gmail will still allow you use a desktop client while keeping a server-side archive of your messages.</p>
<p>If you are using POP to download messages from your Gmail account there is an option in the settings that will cause Gmail to put a copy of every message that is downloaded in the &#8220;All Mail&#8221; folder (see screenshot to the left).  Messages are still removed from the inbox (so you don&#8217;t have the issue of re-downloading the same messages) but you&#8217;re still left with a copy on the server.</p>
<p>Much like the IMAP solution, the server-side archive means that you can log into your Gmail account from any computer and still browse your messages &#8212; even after they&#8217;ve been downloaded by your mail client and removed from the inbox.</p>
<p>Obviously, any management of your email that you do with your desktop client (deleting messages, organizing messages into folders, etc) won&#8217;t be reflected back in the Gmail archives using this method.  However, if you&#8217;re just looking for a simple way to ensure you&#8217;ve got an offsite archive of all your messages, this will do the trick.</p>
<h3>Gmail: The Universal Inbox</h3>
<p>It should be obvious by now that I&#8217;m a big fan of Gmail.  As far as I&#8217;m concerned, the fact that they offer both POP and IMAP access with their free accounts puts them way ahead of any of the other email providers out there.  Gmail also offers 6.5 gigabytes of free storage which is probably enough to hold a lifetime&#8217;s worth of email for most people (I&#8217;ve got 3 years worth of email in my Gmail account and am currently using 4% of my available space).</p>
<p>Even if you aren&#8217;t currently using Gmail as your email provider, Google makes it pretty easy to use Gmail as your universal inbox.  In the Accounts tab of the settings you&#8217;ll find a &#8220;Get mail from other accounts&#8221; option which will allow Gmail to import messages from up to five additional email accounts (assuming they allow POP access).  If your provider doesn&#8217;t support message retrieval via POP, you may be able to automatically forward messages to your Gmail account (See <a href="http://www.googletutor.com/2006/06/20/using-gmail-as-your-universal-email-account/">Using Gmail as your Universal Email Account</a> [Google Tutor] for additional help).</p>
<p>Using this method you can maintain your existing email address while still taking advantage of Gmail features like IMAP or POP archiving.</p>
<p>For those of you that have your own domain name, you can still use Google to host your email even if your website is hosted elsewhere.  By signing-up for a free <a href="http://www.google.com/a">Google Apps</a> account and adding a few entries to your DNS record Google will manage your domain&#8217;s email while providing all of the features of a standard Gmail account. The screen shot below shows the MX records I added to the DNS entry for <em>dehamer.com </em>which allows my email to be handled by Google (if you sign up for a Google Apps account you&#8217;ll find that they have specific DNS configuration instructions for most of the major service providers).</p>
<p><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/05/nslookup1.png" alt="DNS MX Records" width="550" height="289" /></p>
<p>I&#8217;ve used this approach to set-up dehamer.com email accounts for a number of family members.  Some of them rely solely on the web-based, Gmail-like interface while others are using desktop clients.</p>
<p>In some ways, I guess this post is a bit of a love letter to Gmail, but I really do believe that it is the best service for managing your email.  I wouldn&#8217;t consider any of the techniques listed above to be &#8220;back-up solutions&#8221; in the traditional sense, but if you&#8217;re simply looking for a brain-dead way to ensure that you never lose any of your email, Gmail has a lot to offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/04/26/backing-it-up-email/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site-Specific Browsers</title>
		<link>http://dehamerspace.com/2008/04/18/site-specific-browsers/</link>
		<comments>http://dehamerspace.com/2008/04/18/site-specific-browsers/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 20:35:51 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/04/18/site-specific-browsers/</guid>
		<description><![CDATA[If you look at the continuum of software application platforms you&#8217;ll find that there is a lot of interesting stuff happening at the moment between the extremes of pure web applications and pure desktop applications. You have things like AJAX, Flash and Silverlight which are trying to bring more of the desktop app experience to [...]]]></description>
			<content:encoded><![CDATA[<p>If you look at the continuum of software application platforms you&#8217;ll find that there is a lot of interesting stuff happening at the moment between the extremes of <em>pure web applications</em> and <em>pure desktop applications</em>. You have things like AJAX, Flash and Silverlight which are trying to bring more of the desktop app experience to the browser and then you have things like Adobe AIR that are bringing some of the web-based development models to the desktop. Somewhere in between there is this concept called the site-specific browser (SSB).</p>
<p>The idea behind the site-specific browser is that you have a standalone application that is dedicated to running a single web application. You can think of it as freeing your favorite web application from the browser and allowing it to run directly alongside your other desktop applications. Site-specific browsers will typically provide a very minimal UI (none of the usual browser menus, navigation buttons or tabs that you&#8217;re used to) and some basic desktop integration through things like shortcuts, presence in the taskbar/dock and custom application icons.</p>
<p>I&#8217;ll admit that, when I was first introduced to the concept of the site-specific browser, I didn&#8217;t really get it. Isn&#8217;t this just a new browser window with all the chrome turned-off? For the most part, the answer is probably &#8216;yes&#8217; &#8212; however, I came across a demo of a very cool site-specific browser this week that caused me to spend some more time looking into the idea.</p>
<p>If you haven&#8217;t seen it already, take a look at <a href="http://internetjogging.com/2008/04/17/23/">this demonstration</a> of the <a href="http://fluidapp.com/">Fluid</a> SSB working with <a href="http://muxtape.com/">Muxtape</a> (I also encourage you to spend some time playing with Muxtape &#8212; I&#8217;ve spent a lot of time browsing the seemingly endless supply of playlists and have discovered a lot of new music in the process). The example shown in this demo is particularly compelling because it shows how to add a feature to the web application that would be incredibly difficult to do in a traditional browser.</p>
<p>Fluid looks like it has some really cool features but it is Mac-only and I spend most of my day sitting in front of a Windows machine. I started to look around for a site-specific browser for Windows that I could play with and came across the <a href="http://labs.mozilla.com/2007/10/prism/">Prism</a> project out of the Mozilla Labs (you can find the latest Prism build on the <a href="http://wiki.mozilla.org/WebRunner#Latest_version">Prism wiki page</a>).</p>
<p>If you&#8217;re anything like me, you have a tab in your browser that is dedicated completely to Google Reader. Whenever I have some downtime in my work day or am transitioning between tasks I often flip over to my Google Reader tab to see how far behind I am on my news feeds (only 188 unread items at the moment). For me, there are three applications that I <strong>always</strong> have open during the work day: 1. Outlook, 2. Pidgin, and 3. Google Reader (running in Firefox).</p>
<p>With Prism, I can take Google Reader out of Firefox and make it a first-class citizen on my desktop alongside Outlook and Pidgin. The following screenshot shows what Google Reader looks like running inside of Prism.</p>
<p><img class="screencap" height="480" alt="Google Reader in Prism" src="http://dehamerspace.com/wp-content/uploads/2008/04/google-reader-2.png" width="492"></p>
<p>The benefits of running Google Reader in this way are arguably small but, for me, still useful:</p>
<ul>
<li>Eliminates all the unnecessary browser chrome. The browser&#8217;s address bar and navigation buttons really serve no purpose for Google Reader.
<li>Simplifies task switching. When running Firefox, the taskbar always shows the Firefox icon and the title of whichever tab has the focus at the moment (which may or may not be Google Reader). Running Google Reader in a site-specific browser means that it will be easily locatable in the alt+tab task list and the taskbar.<br /><img class="screencap" height="43" alt="taskbar" src="http://dehamerspace.com/wp-content/uploads/2008/04/taskbar.png" width="550" border="0">
<li>Prevents accidental tab closure. When I&#8217;m in Firefox it seems that I&#8217;m constantly spawning and closing tabs and often find that I close things I didn&#8217;t intend to close. Splitting Google Reader out of the browser means that I won&#8217;t accidentally close it in the course of my browser tab management. This isn&#8217;t a <em>huge</em> deal for Google Reader, but if you&#8217;re using something like Muxtape where closing the tab will cause your playlist to abruptly end, it can be extremely annoying. </li>
</ul>
<p>If you really want to customize your SSB, Prism allows you to attach a custom style sheet and javascript file to each application.&nbsp; The ability to specify a local style sheet means that you can override any of the CSS used in the application and re-skin it however you see fit. Anything you can&#8217;t accomplish via CSS can certainly be handled with a little custom javascript. Attaching a local javascript file gives you a <a href="https://addons.mozilla.org/en-US/firefox/addon/748">GreaseMonkey</a>-like ability to completely manipulate the DOM of the web application.</p>
<p>To install your your local style sheet and javascript files you simply need to create files named <em>webapp.css </em>and <em>webapp.js</em> and copy them to the directory that Prism creates for each web application.&nbsp; On Vista, this directory will be something like <em>C:\User\&lt;username&gt;\AppData\Roaming\WebApps\&lt;appname&gt; </em>(XP users will find their web application directory at <em>C:\Documents and Settings\&lt;username&gt;\Application Data\WebApps\&lt;appname&gt;</em>)</p>
<p>Having used Google Reader and GMail within Prism for a few days now, I&#8217;m definitely sold on the SSB concept and look forward to seeing what the Mozilla team does with it. If you&#8217;re a heavy user of the web-based applications like GMail, Google Reader, Twitter or Facebook you might want to give it a try and see if it works for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/04/18/site-specific-browsers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mind Your Bit&#8217;ness - Codecs and Windows Vista x64</title>
		<link>http://dehamerspace.com/2008/04/14/mind-your-bitness-codecs-and-windows-vista-x64/</link>
		<comments>http://dehamerspace.com/2008/04/14/mind-your-bitness-codecs-and-windows-vista-x64/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 17:31:01 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[operating system]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/04/14/mind-your-bitness-codecs-and-windows-vista-x64/</guid>
		<description><![CDATA[Over the weekend, I sat down to copy some videos off of my Flip Ultra camcorder and do a little video editing (if you&#8217;re not familiar with the Flip see my review over on The Full Catastrophe).  Previously, I&#8217;d only used the Flip with our Mac Mini, but that machine is a bit underpowered [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend, I sat down to copy some videos off of my Flip Ultra camcorder and do a little video editing (if you&#8217;re not familiar with the Flip see my review over on <a href="http://fullcatastrophe.com/2008/04/03/and-the-oscar-goes-to/">The Full Catastrophe</a>).  Previously, I&#8217;d only used the Flip with our Mac Mini, but that machine is a bit underpowered for video editing so I decided to use my &#8220;game machine&#8221; which runs the 64-bit version of Windows Vista Ultimate Edition.</p>
<p>When you plug the Flip into a system for the first time it automatically installs a codec package which allows you to decode the video format used by the camera.  The installation process completed successfully and I copied a number of video files from the Flip to my local drive.  In order to verify that the codec was working properly, I opened one of the videos in Windows Media Player and found that it played without issue.  Everything was looking pretty good.</p>
<p>Since I wasn&#8217;t trying to do anything particularly fancy, I decided that I&#8217;d just use Window Movie Maker software that ships as part of Vista.  It&#8217;s not the best editing package out there, but is totally suitable when you need to do some basic trim/re-arrange work.  So I imported my videos into Movie Maker . . . only to find that it couldn&#8217;t decode the videos (I was getting audio, but no video).  To the best of knowledge, both Media Player and Movie Maker use the same set of DirectShow filters for audio/video decoding so it made no sense to me that Media Player was able to play the video while Movie Maker was not.</p>
<p>It wasn&#8217;t until after I&#8217;d tried un-installing/re-installing the codec and rebooting a couple of times that I thought to look at the Task Manager.</p>
<p><img class="screencap" src="http://dehamerspace.com/wp-content/uploads/2008/04/taskman.png" alt="Task Manager" width="550" height="572" /></p>
<p>Looking at the entries for Media Player and Movie Maker in the Task Manager made it pretty obvious what was happening.  Note the <em>*32</em> that appears as part of the image name for Media Player in the task list.  This indicates that Media Player is a 32-bit application that is being run on top of the operating system&#8217;s 32-bit emulation layer.  In contrast, Movie Maker is a true 64-bit application.</p>
<p>I haven&#8217;t dug into this yet, but it wouldn&#8217;t surprise me at all to learn to that the Flip codec package is 32-bit only.  This would explain why the 32-bit Media Player was able to decode the videos while the 64-bit Movie Maker was not.</p>
<p>I was a bit leery when I first installed 64-bit Vista &#8212; I was sure that I was going to run into all sorts of compatibility problems.  However, I have to say that it has been working pretty smoothly for me for the past year.  Every once in awhile though a subtle issue like this one will sneak up on me and leave me scratching my head for awhile.  It&#8217;s because of things like this that I typically counsel friends/family <em>against</em> installing Vista x64 unless they really know what they&#8217;re doing.  For someone that doesn&#8217;t know where to look, an issue like this can drive you mad.</p>
<p>In the end, I simply moved my videos over to another 32-bit machine that I have and did my editing there.  In the long term I guess I need to figure out what codec the Flip is using and find a 64-bit version of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/04/14/mind-your-bitness-codecs-and-windows-vista-x64/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backing It Up - Digital Photos</title>
		<link>http://dehamerspace.com/2008/04/10/backing-it-up-digital-photos/</link>
		<comments>http://dehamerspace.com/2008/04/10/backing-it-up-digital-photos/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 20:42:31 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[backup services]]></category>

		<category><![CDATA[backup solutions]]></category>

		<category><![CDATA[photo services]]></category>

		<category><![CDATA[photo sharing services]]></category>

		<guid isPermaLink="false">http://dehamerspace.com/2008/04/10/backing-it-up-digital-photos/</guid>
		<description><![CDATA[When wildfires raged through San Diego county last fall, my wife and I found ourselves pondering the question of what to take with us if we were forced to evacuate our home.  Luckily, we weren&#8217;t ever in any danger but it did force us to consider what things were important to take with us [...]]]></description>
			<content:encoded><![CDATA[<p>When wildfires raged through San Diego county last fall, my wife and I found ourselves pondering the question of what to take with us if we were forced to evacuate our home.  Luckily, we weren&#8217;t ever in any danger but it did force us to consider what things were important to take with us in the event that we did have to leave.  Beyond the obvious family heirlooms and important documents, I found myself wondering how to best save the various artifacts of my digital life.</p>
<p>In the past year, I&#8217;ve been trying to put together a good backup strategy for the various computers in our household.  Through the use of mirrored disks, external hard drives and DVD back-ups, I&#8217;m reasonably confident that I won&#8217;t be losing any data to system or disk failures.  However, I realized that recovering from a failed hard disk and recovering from a burnt-down house are not exactly the same thing.  If I have to leave my house with 5 minutes notice, do I want to be running around collecting hard drives and DVDs?  Probably not &#8212; we&#8217;d be lucky to get our kids and dog loaded in the car in that amount of time.</p>
<p>Recognizing a pretty serious deficiency in our backup strategy, I spent some time investigating the various web-based backup options available.  This sort of thing probably wouldn&#8217;t have been affordable to the average home user a few years back, but these days most people have pretty big internet pipes running to their house (I&#8217;m jealous of you Verizon FIOS users out there with your 5+ Mbps upload speeds) and the big web companies seem to have more storage space available than they know what to do with.  With bandwidth to spare and the low cost of hosted storage there&#8217;s little reason not to be doing some sort of offsite backup.</p>
<p>This will be the first in a series of posts where I discuss the various back-up options that I&#8217;ve explored.  I can&#8217;t promise that I&#8217;ve conducted an exhaustive investigation of all the services out there, but I have found a number of solutions that I&#8217;m very happy with.</p>
<p>Later in this series I&#8217;ll discuss some of the general-purpose backup solutions available, but first I want to cover some online applications that address very specific backup needs.</p>
<h3>Photos</h3>
<p><img class="righty" src="http://farm3.static.flickr.com/2198/2279516617_5e6ac2bfe2_m_d.jpg" alt="Baby Laurel" /> There is nothing on my computer that would be more devastating to lose than my photo collection.  With two young kids in the house we take a lot of pictures, so my photo collection probably consumes more space than anything else on my system.  With the ability to view photos on my computer, phone, iPod and game console there is almost no reason for me to print photos anymore (sorry HP, I&#8217;m probably not running through that ink and photo paper quite as fast as you might like).  This means that the digital versions of my pictures are often the <em>only</em> versions.</p>
<p>So when it comes to my back-up strategy, the top priority is always to make sure that my photos are secure. For the most part, photos can be treated just like any other file that you want to back up.  However, in addition to storing my photos, I&#8217;d also like to be able to share them with friends/family.  All of the general-purpose backup services that I&#8217;ll discuss later will allow you to upload your photos, but they&#8217;re not stored in a way that you (or anyone else) can browse online.</p>
<p>I&#8217;ve played with a lot of the photo sharing services out there but ultimately settled on <a href="http://www.flickr.com">Flickr</a> as the one that I&#8217;m using.  You can set-up an account for free on Flickr, though it does come with some limitations (100MB of photo uploads per month).  That might work well for some people, but I upgraded to the Pro account ($24.95 per year) which gives me unlimited uploads and unlimited storage space.</p>
<p>I&#8217;ve gotten into the habit of simply uploading all my photos to Flickr (at least the ones that are worth saving) and those become the &#8220;master&#8221; copies.  The grandparents know that they can always go to my Flickr page to find the latest pics of the grandkids and I never have to worry about backing-up my pictures.  I do still have many of my pics on my local hard drive, but I&#8217;m not going to sweat-it if that disk ever crashes.</p>
<p>It seems that every major photo editor has an &#8220;Upload to Flickr&#8221; option now so the process of getting your pics uploaded could hardly be an easier.  I&#8217;m using the <a href="http://www.flickr.com/tools/">Flickr Uploadr</a> on both Windows and Mac and it makes it pretty simple to quickly organize, title, tag and upload images.</p>
<p>One of the great things about Flickr is that they don’t dumb-down your pics at all.  If you have a nice camera that&#8217;s generating multi-megabyte JPGs, Flickr will happily store your huge photo files and let you retrieve the full-res images with all the associated metadata intact at any time (Note to the serious photographers out there, Flickr obviously isn&#8217;t an option for archiving RAW files &#8212; stay tuned for my post on general-purpose backup solutions).</p>
<p>I&#8217;ve looked at other photo services like Shutterfly and Snapfish (apologies again to my employer) but they come up short on one key feature: once you upload your pictures, you can never get at the original file again.  They may have the original, full-resolution image stored somewhere, but you don&#8217;t have access to it. This is unacceptable if you&#8217;re thinking of using these services for archival purposes.  Of course, the whole idea behind sites like Shutterlfy and Snapfish is to get people to print their photos so it isn&#8217;t surprising that they don&#8217;t meet my needs when it comes to backing-up and sharing pictures.  However, I know plenty of people that try and use these services for this purpose and it drives me crazy.</p>
<p>I should point out that Google&#8217;s <a href="http://picasaweb.google.com/">Picasa Web Albums</a> offers many of the same benefits as Flickr, but it&#8217;s more expensive for comparable amounts of storage and I find the interface to be a lot clunkier than Flickr.  Compare them for yourself though &#8212; I know plenty of people that prefer Picasa.</p>
<p>Whichever solution you settle on, make sure you back up those pictures!</p>
]]></content:encoded>
			<wfw:commentRss>http://dehamerspace.com/2008/04/10/backing-it-up-digital-photos/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
