<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>RobPickering.com</title>
	
	<link>http://robpickering.com</link>
	<description>a rough whimper of insanity</description>
	<lastBuildDate>Wed, 25 Aug 2010 00:16:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RobPickering" /><feedburner:info uri="robpickering" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>OSX Hints and Tips</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/nDRcfpEPIMI/osx-hints-and-tips-228</link>
		<comments>http://robpickering.com/2010/08/osx-hints-and-tips-228#comments</comments>
		<pubDate>Wed, 25 Aug 2010 00:11:29 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Apple/Mac]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=228</guid>
		<description><![CDATA[There are many ways to customize your OSX environment to suit your personal tastes. However, not every preference you want to change can be modified using System Preferences or Application Preferences. Often, settings are deemed too obscure for everyday users and relegated to complex keystrokes or hidden system settings. This is my guide to a number [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>There are many ways to customize your OSX environment to suit your personal tastes.  However, not every preference you want to change can be modified using System Preferences or Application Preferences.  Often, settings are deemed too obscure for everyday users and relegated to complex keystrokes or hidden system settings.  This is my guide to a number of these that can make your life a little easier, or your experience a little better.</p>
<h2 id="osx-keystrokes">OSX Keystroke Shortcuts</h2>
<p>I&#8217;ll start with a series of keystrokes that are available in different contexts while you use your Macintosh.  These are not your normal keystrokes that are self-documented underneath application menus, these are hidden gems you&#8217;ll want to become familiar with:</p>
<h3 id="start-up-keystrokes">Start-up Keystrokes (hold at power-on):</h3>
<table border="0">
<tbody>
<tr>
<th>Keystroke</th>
<th>Result</th>
</tr>
<tr>
<td>C</td>
<td>Starts up from CD</td>
</tr>
<tr>
<td>D</td>
<td>Starts up from the hard disk&#8217;s first partition</td>
</tr>
<tr>
<td>N</td>
<td>Starts up from the network server</td>
</tr>
<tr>
<td>N</td>
<td>Starts up from the network server</td>
</tr>
<tr>
<td>T</td>
<td>Puts the Mac into Firewire Target Disk Mode</td>
</tr>
<tr>
<td>X</td>
<td>Starts up in OSX (if OS9 is on the same disk)</td>
</tr>
<tr>
<td>SHIFT</td>
<td>Prevents start-up items from opening</td>
</tr>
<tr>
<td>OPTION</td>
<td>Shows icons of all start-up disks or partitions and allows you to select one</td>
</tr>
<tr>
<td>Apple-Option-Shift-Delete</td>
<td>Starts up from an external drive (or CD)</td>
</tr>
<tr>
<td>Apple-V</td>
<td>Shows all console messages during boot</td>
</tr>
<tr>
<td>Hold Mouse Button Down</td>
<td>Ejects a stuck CD or DVD</td>
</tr>
</tbody>
</table>
<h3 id="finder-keystrokes">Finder Keystrokes:</h3>
<table border="0">
<tbody>
<tr>
<th>Keystroke</th>
<th>Result</th>
</tr>
<tr>
<td>Apple-Option-W</td>
<td>Closes all Finder windows</td>
</tr>
<tr>
<td>Apple-Up Arrow</td>
<td>Opens the parent folder</td>
</tr>
<tr>
<td>Apple-Option-Shift-Up Arrow</td>
<td>Selects next item alphabetically</td>
</tr>
<tr>
<td>Tab</td>
<td>Selects next item alphabetically</td>
</tr>
<tr>
<td>Shift-Tab</td>
<td>Selects previous item alphabetically</td>
</tr>
<tr>
<td>Apple-Shift-H</td>
<td>Opens your Home folder</td>
</tr>
<tr>
<td>Apple-Shift-A</td>
<td>Opens your Applications folder</td>
</tr>
<tr>
<td>Option-Click &#8220;Green Ball&#8221;</td>
<td>Minimizes all Finder windows</td>
</tr>
</tbody>
</table>
<h3 id="general-keystrokes">General Keystrokes:</h3>
<table border="0">
<tbody>
<tr>
<th>Keystroke</th>
<th>Result</th>
</tr>
<tr>
<td>Apple-Tab</td>
<td>Switches to the next open program &#8211; press once and release</p>
<p>the Apple key to switch to the program you used most recently</td>
</tr>
<tr>
<td>Apple-Shift-Tab</td>
<td>Switches to the previous open program</td>
</tr>
<tr>
<td>Apple-tilde</td>
<td>Switches to the next open window in this prog.</td>
</tr>
<tr>
<td>option-Empty Trash</td>
<td>Empties the Trash without asking, &#8220;Are you sure&#8221;</td>
</tr>
<tr>
<td>Apple-option-D</td>
<td>Hides/shows the Dock</td>
</tr>
<tr>
<td>Apple-click on Dock icon</td>
<td>Reveals the original item in the Finder</td>
</tr>
<tr>
<td>Apple-option-click on Dock icon</td>
<td>Switches to this program and hides all others</td>
</tr>
<tr>
<td>Apple-option-H</td>
<td>Hides all windows except the one you&#8217;re in</td>
</tr>
</tbody>
</table>
<h3 id="keyboard-wo-powerkey">On Keyboards w/o Power Key:</h3>
<table border="0">
<tbody>
<tr>
<td>control-eject</td>
<td>Brings up the dialog box for shutdown/sleep/rs</td>
</tr>
<tr>
<td>Apple-control-eject</td>
<td>Forces a restart</td>
</tr>
<tr>
<td>Apple-option-eject</td>
<td>Puts the Mac to sleep</td>
</tr>
<tr>
<td>Apple-control-option-eject</td>
<td>Shuts down.</td>
</tr>
</tbody>
</table>
<h3 id="robs-additions">Rob&#8217;s Additions:</h3>
<table border="0">
<tbody>
<tr>
<td>Command-click Directory name in a file browser</td>
<td>Brings up filesystem directory path where you can select any Parent directory</td>
</tr>
<tr>
<td>option-click Dock icon</td>
<td>If done on current app, hides app.  If done on different app, brings forward, and hides other applications</td>
</tr>
<tr>
<td>option-click desktop</td>
<td>Hides current application</td>
</tr>
</tbody>
</table>
<h2 id="terminal-commands-finder">OSX Terminal Defaults for Finder</h2>
<p>There are a large number of system settings that can only be used by running the Terminal application and then typing them at the command line.  A large database of them can be found at http://secrets.blacktree.com/.  They have also created a Preference Pane that can be used for changing these defaults, which you can download <a href="http://blacktree-secrets.googlecode.com/files/Secrets_1.0.6.zip">here</a>.</p>
<h3>Generic OS X Tricks</h3>
<p>Disable the Dashboard (<strong>NO</strong> reverses):<br />
<code>defaults write com.apple.dashboard mcx-disabled -boolean YES</code></p>
<p>Allow Widgets to stay on Desktop (<strong>NO</strong> reverses):<br />
<code>defaults write com.apple.dashboard devmode YES</code></p>
<p>Make Hidden Dock Icons Transparent (<strong>NO</strong> reverses):<br />
<code>defaults write com.apple.Dock showhidden -boolean YES</code><br />
<code>killall Dock</code></p>
<p>Disable &#8220;wake on open&#8221; (you&#8217;ll need to press a key now) (1 reverses):<br />
<code>sudo pmset -a lidwake 0</code></p>
<p>To disable safe sleep (<strong>3</strong> and <strong>true</strong>, respectively, reverses):<br />
<code>sudo pmset -a hibernatemode 0<br />
sudo nvram "use-nvramrc?"=false</code></p>
<h2 id="terminal-commands-mail">OSX Terminal Defaults for Mail.app</h2>
<p>Disable in-line Attachment Viewing (<strong>false</strong> reverses):<br />
<code>defaults write com.apple.mail DisableInlineAttachmentViewing -bool true</code></p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/nDRcfpEPIMI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/08/osx-hints-and-tips-228/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/08/osx-hints-and-tips-228</feedburner:origLink></item>
		<item>
		<title>Battle of the Clouds – Rackspace Cloud vs. Amazon EC2</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/0AhSVUACXJU/battle-of-the-clouds-rackspacecloud-vs-amazon-ec2-247</link>
		<comments>http://robpickering.com/2010/08/battle-of-the-clouds-rackspacecloud-vs-amazon-ec2-247#comments</comments>
		<pubDate>Sun, 01 Aug 2010 16:09:25 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[rackspace]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=247</guid>
		<description><![CDATA[You can&#8217;t pick up a technical magazine, hang out on Twitter, or read an article on a technology blog without hearing the phrase:  Cloud Computing.  What is cloud computing?  Wikipedia defines it as &#8220;Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand&#8220;.  That definition is pretty good, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>You can&#8217;t pick up a technical magazine, hang out on <a href="http://twitter.com/robpickering" target="_blank">Twitter</a>, or read an article on a technology blog without hearing the phrase:  <strong>Cloud Computing</strong>.  What is cloud computing?  <a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">Wikipedia</a> defines it as &#8220;<em>Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand</em>&#8220;.  <span id="more-247"></span>That definition is pretty good, but what does it actually mean?</p>
<p>Cloud Computing provides businesses and consumers the ability to create on-demand resources and pay only for what you&#8217;re using.  In the case of Amazon&#8217;s Elastic Compute Cloud (EC2) and Rackspace Cloud servers (or Instances as they call them) you can very quickly provision yourself a server, meeting your personal requirements, use it for a period of time you determine, and then remove it, drastically cutting down on the costs and complexities of building your own server or purchasing dedicated server resources.</p>
<p>So, let&#8217;s take a look at the various areas that you as a consumer should care about, starting with one of the more important areas:  Pricing.</p>
<h3 id="pricing">Pricing</h3>
<p>Pricing is important.  You&#8217;re talking about pay-on-demand server resources, so you want them to be economical.  You also want the long-term pricing model to be competitive to dedicated servers, so you don&#8217;t have to spread things between providers.  All prices are for basic Linux (Ubuntu 10.04), both services also offer Windows servers (at a higher price) and other Database options.</p>
<h4 id="ec2-pricing">Amazon EC2</h4>
<p>Amazon provides multiple Instance options, depending on what you need:</p>
<ul>
<li><strong>Small Instance</strong> (the default):  1.7GB of RAM, 1 CPU Core, 160GB of Storage, 32-bit platforms only</li>
<li><strong>Large Instance</strong>:  7.5GB of RAM, 2 virtual cores, 850GB of Storage, 64-bit platforms (and 32-bit if you wish)</li>
<li><strong>Extra Large Instance</strong>:  15GB of RAM, 4 virtual cores, 1.7TB of Storage, 64-bit platforms (and 32-bit if you wish)</li>
</ul>
<p><strong>Note</strong>:  Amazon EC2 also can provide High-Memory, High-CPU, and Cluster capable Instances (not covered here).</p>
<p>These various options come in 3 different Pricing Options:</p>
<ul>
<li><strong>On Demand</strong> &#8211; Pay by the hour that the Instance is running ($0.085/hour for Small, $0.34/hour for Large, $0.68/hour for Extra Large)</li>
<li><strong>Reserved</strong> &#8211; Pay by the year ($227.50/year for Small, $910/year for Large, $1820/year for Extra Large), additional discounts for additional years</li>
<li><strong>Spot</strong> &#8211; These are different, you specify a maximum you&#8217;re willing to pay/hour and as long as the price is below that, you get it.  If the price increases (because demand for these types of Instances is growing) above your maximum, the Instance is terminated.  Since the prices fluctuate, all I can give you are the current prices:  $0.031/hour for Small, $0.14/hour for Large, $0.233/hour for Extra Large (about 1/3 of an On Demand at the moment)</li>
</ul>
<p>All of Amazon EC2 sizing and pricing are available here:  <a href="http://aws.amazon.com/ec2/#pricing" target="_blank">http://aws.amazon.com/ec2/#pricing</a></p>
<h4 id="rackspace-pricing">RackspaceCloud</h4>
<p>RackspaceCloud doesn&#8217;t have nearly the complexity in picking an Instance, but they do give you more granularity in the configuration (and price):</p>
<ul>
<li>256MB RAM, 10 GB Disk:  $0.015/hour</li>
<li>512MB RAM, 20 GB Disk:  $0.03/hour</li>
<li>1024MB RAM, 40GB Disk:  $0.06/hour</li>
<li>2048MB RAM, 80GB Disk:  $0.12/hour</li>
<li>4096MB RAM, 160GB Disk:  $0.24/hour</li>
<li>8192MB RAM, 320GB Disk:  $0.48/hour</li>
<li>15872MB RAM, 620GB Disk:  $0.96/hour</li>
</ul>
<h4 id="pricing-winner">Pricing Winner</h4>
<p><strong>Amazon EC2</strong> &#8211; Oddly, this is where I expected the newcomer, RackspaceCloud, to shine.  Amazon&#8217;s smallest Instance, Small, is 1.7GB of RAM and 160GB of Disk, while the equivalent RackspaceCloud Instance is 2GB of RAM and 80GB of disk, but the RackspaceCloud Instance is around $26.00 more per month, for 80GB less storage.  That pricing discrepancy is also just for the on-demand Instance.  If you&#8217;re willing to commit to a reserved Instance at Amazon EC2, then the Amazon EC2 Instance ends up being about the same price as the low-end RackspaceCloud Instance.  However, if you can get away with less RAM and Storage then RackspaceCloud does offer a 256MB Instance that&#8217;s cheaper than anything Amazon EC2 provides.</p>
<h3 id="signup">Signup</h3>
<h4 id="ec2-signup">Amazon EC2</h4>
<p>The Amazon.com EC2 signup is almost non-existant, provided you&#8217;ve already purchased something from Amazon.com previously.  If so, you already have your EC2 account credentials.  Just head over to <a href="http://aws.amazon.com/" target="_blank">http://aws.amazon.com/</a> and click <strong>Sign Up Now</strong>.  As long as your credit card information is on file, and correct, you&#8217;re done.  Amazon will just drop you at your <a href="https://console.aws.amazon.com/ec2/home" target="_blank">AWS Management Console</a>.</p>
<h4 id="rackspace-signup">RackspaceCloud</h4>
<p>The RackspaceCloud signup is also a reasonably straight forward 4-step process:</p>
<ol>
<li>Choose one of the three product offerings<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/RackspaceCloudOptions.png"><img class="alignnone size-medium wp-image-248" title="RackspaceCloudOptions" src="http://robpickering.com/wp-content/uploads/2010/07/RackspaceCloudOptions-300x121.png" alt="" width="300" height="121" /></a></li>
<li>Provide a username and password (password must meet strength requirements (which is better than Amazon&#8217;s requirements)</li>
<li>Input your billing information (while they annoy you with an animated advertisement that drops from the top of the page offering financing options, <strong>Amazon didn&#8217;t have ads  Edit</strong>:  As pointed out in the comments, Rackspace doesn&#8217;t have ads.  They do have a drop-down box if you pause too long on a page offering support options.  That&#8217;s nice, but I would prefer something a little less obtrusive.).  <strong>Note</strong>:  For reasons beyond me, you also are required to enter an Organization/Company (um, it&#8217;s just me&#8230;), I put <a href="http://robpickering.com" target="_blank">RobPickering.com</a></li>
<li>Input your Credit Card information (I used Promotion Code <strong>REF-YY</strong>, I think it worked, there&#8217;s no feedback to tell me)</li>
</ol>
<p>Now sit back and wait for your Welcome email from Rackspace.  Oops!  Wait a second, there <strong>IS NO WELCOME EMAIL</strong>, at least not yet.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RackspaceCloudConfirm.png"><img class="alignnone size-medium wp-image-250" title="RackspaceCloudConfirm" src="http://robpickering.com/wp-content/uploads/2010/07/RackspaceCloudConfirm-300x126.png" alt="" width="300" height="126" /></a></p>
<p>Rackspace requires that someone actually call you, at the number you provided, in order to confirm your billing address and the last four digits of your credit card.  They claimed that you&#8217;d hear back in 15 minutes, it took them about 25 to contact me.  No idea why this step is required, it seems completely arbitrary, but make sure you provide a good phone number, that you can immediately answer, or you will have to call them at the number provided.  Once you&#8217;ve talked to them and confirmed your information, the elusive Welcome email is forthcoming.  Of course, I had to wait another 25 minutes for mine to arrive.</p>
<h4 id="signup-winner">Signup Winner</h4>
<p><strong>Amazon EC2 </strong>- You&#8217;ve probably already got an Amazon.com account, so there really isn&#8217;t any sign-up.  Regardless, tossing me an advertisement while I&#8217;m trying to sign-up for your service is just amateur, especially one that drops in the middle of the screen blocking the fields you&#8217;re asking me to fill out, then add the fact that I&#8217;m required to actually talk to someone, FAIL.</p>
<h3 id="launching-instance">Launching an Instance</h3>
<h4 id="ec2-launching">Amazon EC2</h4>
<p>Launching an Instance on Amazon EC2 happens by first accessing your <a href="https://console.aws.amazon.com/ec2/home" target="_blank">AWS Management Console</a>.  Once there, click the large &#8220;Launch Instance&#8221; button:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/EC2LaunchInstance.png"><img class="size-medium wp-image-253 alignnone" title="EC2LaunchInstance" src="http://robpickering.com/wp-content/uploads/2010/07/EC2LaunchInstance-300x76.png" alt="" width="300" height="76" /><br />
</a>This will take you to a list of AMI (Amazon Machine Images) that you can use as the basis for your new server:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/EC2Instances.png"><img class="size-medium wp-image-255 alignnone" title="EC2Instances" src="http://robpickering.com/wp-content/uploads/2010/07/EC2Instances-300x182.png" alt="" width="300" height="182" /></a></p>
<p>Amazon supports Fedora, Windows, and CentOS.  That&#8217;s not a huge selection (no Ubuntu), but never fear.  The power of the AMIs on EC2 is that you aren&#8217;t restricted to what Amazon supports as their <strong>Quick Start</strong> images.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/EC2Community.png"><img class="size-medium wp-image-254 alignnone" title="EC2Community" src="http://robpickering.com/wp-content/uploads/2010/07/EC2Community-300x80.png" alt="" width="300" height="80" /></a></p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/EC2Community.png"></a>There are also <strong>Community AMIs</strong>&#8230;over <span style="text-decoration: underline;">5000</span> of them!  So, you shouldn&#8217;t have a problem finding a server that meets your needs.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/SelectInstanceSize.png"><img class="size-medium wp-image-256 alignnone" title="SelectInstanceSize" src="http://robpickering.com/wp-content/uploads/2010/07/SelectInstanceSize-300x95.png" alt="" width="300" height="95" /></a></p>
<p>Once you&#8217;ve selected your AMI, you&#8217;re taken to another screen to select your Instance size (see above) and your <strong>Availability Zone</strong>.  The <strong>Availability Zones </strong>are the different EC2 installations around the world where your server can run.  You may not want all of your servers to be in the same data center.  It&#8217;s up to you.  However, keep in mind that servers in the same Availability Zone can pass data back and forth free of charge, and can share storage.</p>
<p>There are now two more tasks you have to perform to get your Instance launched:</p>
<ul>
<li>Select (or create) a <strong>Key Pair</strong> for access (see Security)</li>
<li>Configure your EC2 <strong>Security Zone</strong>/Firewall (see Security)</li>
</ul>
<p>At this point, your Instance will be provisioned and then booted for the first time.  The entire process takes about 5 minutes and then you&#8217;ll be able to access your fresh, new server.</p>
<h4 id="rackspace-launching">Rackspace Cloud</h4>
<p>Launching an Instance for the first time under Rackspace Cloud is similar to the process outlined above for Amazon EC2.  First access your <a href="https://manage.rackspacecloud.com/" target="_blank">Rackspace Cloud Management Interface</a>.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSLogin.png"><img class="size-medium wp-image-260 alignnone" title="RSLogin" src="http://robpickering.com/wp-content/uploads/2010/07/RSLogin-300x234.png" alt="" width="180" height="140" /></a></p>
<p>Once you&#8217;ve logged into your Rackspace Cloud account, select the <strong>Hosting</strong> button from the left-hand navigation, then select <strong>Cloud Servers</strong>.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSHosting.png"><img class="alignnone size-medium wp-image-261" title="RSHosting" src="http://robpickering.com/wp-content/uploads/2010/07/RSHosting-243x300.png" alt="" width="243" height="300" /></a></p>
<p>The screen now displayed will be where all of your provisioned Instances can be found.  To launch a new one, click the <strong>Add Server</strong> button.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSAddServer.png"><img class="alignnone size-medium wp-image-263" title="RSAddServer" src="http://robpickering.com/wp-content/uploads/2010/07/RSAddServer-300x54.png" alt="" width="300" height="54" /></a></p>
<p>You will now be presented with a list of the available Operating Systems from which you can provision your Instance.  Unfortunately, there are limited choices:  ArchLinux, CentOS, Debian, Fedora, GenToo, Oracle Enterprise Linux, RedHat, Ubuntu, Windows 2003, and Windows 2008.  There are no Community Images supported by RackSpace, so you won&#8217;t find specialized images to use, only base Operating System loads.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSImages.png"><img class="alignnone size-medium wp-image-264" title="RSImages" src="http://robpickering.com/wp-content/uploads/2010/07/RSImages-300x181.png" alt="" width="300" height="181" /></a></p>
<p>I selected Ubuntu 10.04 (Lucid Lynx).  You&#8217;ll now be presented with a screen to select the hostname (this is a really nice feature that Amazon EC2 doesn&#8217;t provide, though you can manually alter it) and a <strong>Server Size </strong>(RAM), which will also determine your pricing.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSCreateServer.png"><img class="alignnone size-medium wp-image-265" title="RSCreateServer" src="http://robpickering.com/wp-content/uploads/2010/07/RSCreateServer-260x300.png" alt="" width="260" height="300" /></a></p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSCreateServer.png"></a> Once you&#8217;ve clicked the <strong>Create Server</strong> button, the instance is provisioned, assigned an IP address, and you are presented with a screen outlining your <strong>root </strong>account password.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/RSServer.png"><img class="alignnone size-medium wp-image-266" title="RSServer" src="http://robpickering.com/wp-content/uploads/2010/07/RSServer-231x300.png" alt="" width="231" height="300" /></a></p>
<p>You&#8217;ve now got a running Instance under Rackspace Cloud.</p>
<h4 id="launching-winner">Launching an Instance Winner</h4>
<p><strong>A Draw</strong> - Both providers do a great job of getting an Instance up and running quickly.  I almost gave this one to Amazon EC2, due to the enormous number of options you have for building an Instance using AMIs, however; Rackspace Cloud has a nicer user interface and gives you some smaller options for servers, as well as the nice ability to set your hostname at boot.</p>
<h3 id="security">Security</h3>
<p>I had planned for the next section to be a discussion of the various ways you access your Instance.  However, after my experiences with Rackspace Cloud, I felt it to be critically important to discuss the security of the two offerings before showing you how to access your servers.</p>
<p>I&#8217;m very passionate about security.  Once you have suffered a breach, virus, trojan, worm, or any other security issue, you cannot get back your sense of security.  In most cases, your best option is to scrap the entire system and start over.  This is why I was shocked at the extremely low amount of security that Rackspace Cloud enforces.  Before I get to that, I&#8217;d like to discuss the security controls that are in place at Amazon EC2.</p>
<h4 id="ec2-security">Amazon EC2</h4>
<p>Amazon EC2, when creating your Instance, will have you configure two items as outlined above:  A Key Pair and a Security Zone.  Let&#8217;s take a look at each of these security measures and how to use them.</p>
<p><strong>Key Pair</strong>:  The key pair is a requirement for building an Amazon EC2 Instance.  When you&#8217;re creating your first Instance, Amazon will force you to create a Key Pair, giving it a name and then automatically downloading the Private Key to your computer.  <strong>SAVE THIS IN A SECURE PLACE</strong>.  This private key is downloaded to you, and <strong>IS NOT</strong> retrievable again.  You will require this Private Key in order to access your Instance for the first time.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/08/EC2-KeyPair.png"><img class="alignnone size-medium wp-image-278" title="EC2-KeyPair" src="http://robpickering.com/wp-content/uploads/2010/08/EC2-KeyPair-300x103.png" alt="" width="300" height="103" /></a></p>
<p><strong>Security Zone</strong>:  The Security Zone is a firewall that rests <strong>ON TOP OF</strong> your Amazon EC2 Instance.  It will override any and all firewall rules you later place on your Instance.  I love this about Amazon&#8217;s EC2 service, because it allows me to create granular security controls on my Instances <strong>BEFORE</strong> they are exposed to the public Internet.  Additionally, I can use the same Security Zone for each of my Instances, performing updates to all of them without having to revisit each one individually.  When you&#8217;re creating your first Instance, Amazon will force you to create a new Security Zone, giving it a name, a description, and setting up any port controls you want beyond the defaults.  The default behaviors of the Security Zone you create may depend on the type of Instance you chose to create, for this article I selected the Fedora Core 8 LAMP Web Starter Instance, which gave me a Security Zone that allowed open access via SSH, HTTP, and MySQL.  However, if you wanted to tighten down any of these, you can remove them from the default provided, then re-add the protocol with more specific IP sources, all before the Instance is created.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/08/EC2-SecurityZone.png"><img class="alignnone size-medium wp-image-279" title="EC2-SecurityZone" src="http://robpickering.com/wp-content/uploads/2010/08/EC2-SecurityZone-300x123.png" alt="" width="300" height="123" /></a></p>
<p>The only way you are going to be able to access your Instance, by default, is going to be by using the Private Key of the Key Pair you created.  I&#8217;ll talk more about using these keys, and getting rid of these keys, below under <strong>Accessing your Instance</strong>.</p>
<h4 id="rackspace-security">Rackspace Cloud</h4>
<p><del>Rackspace Cloud doesn&#8217;t have any security.</del>  Update:  Rackspace DOES have Security, but with regards to Securing your initial Instances, <span style="text-decoration: underline;">they don&#8217;t.</span> In fact, they make it worse than I could have imagined.  When you first create your Instance, they will provide you the <strong>root</strong> account password on your screen.  That&#8217;s not too bad, they have to provide the password to you some how, at least the session is TLS encrypted, so you should be the only person that now has this.  However, then they do something <span style="text-decoration: underline;">completely bone-headed</span>.  <strong>THEY EMAIL IT TO YOU</strong>!  I was shocked, visibly shaken, when my email client dinged and there was my Instance name, IP address, and <strong>root</strong> account password.  They had just sent it, in clear text, over the public Internet, to some random mail server that may or may not be in my control.  Yay!  Furthermore, by default, you can SSH into the root account, and there are no blocks on where you can source SSH connections to the Instance, nor can you set these up before the Instance is created.  So, from the time the Instance is created, to the time you log into the Instance and secure it (see below), anyone who can intercept your email has complete and full access to the <strong>root</strong> account of your Instance.  You may not care, but I certainly do.  Here&#8217;s the email I got:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/08/RS-welcome.png"><img class="alignnone size-medium wp-image-281" title="RS-welcome" src="http://robpickering.com/wp-content/uploads/2010/08/RS-welcome-300x215.png" alt="" width="300" height="215" /></a></p>
<p>So, they&#8217;ve provided a would-be attacker my IP address, my Hostname (it&#8217;s part of the password, which is even worse), and the password to the root account.  Everything needed to take over my Instance remotely.  I can of course destroy the Instance when I find out someone has accessed it, but then I have to rebuild it myself.  So, at a minimum, please immediately change your <strong>root</strong> account password the moment you log into your server, and double-check your log files to ensure no one accessed the server before you did.  Better yet, secure your Instance the way Amazon EC2 is secured by default, and completely ignore the use of passwords.  (Yes, I&#8217;ve destroyed the above instance, so please don&#8217;t hassle poor IP 184.106.228.18, as it&#8217;s no longer mine and you&#8217;ll get in trouble).  I also cannot understand why Rackspace includes the hostname as part of the &#8220;random&#8221; password.  Once you&#8217;ve included non-random components in the password, you lower the overall strength of the password, it appears pointless.</p>
<h4 id="security-winner">Overall Security Winner</h4>
<p><strong>Amazon EC2</strong>:  No contest.  I think the above speaks for itself.</p>
<h3 id="access-instance">Accessing your Instance</h3>
<p>The most important aspect of having a server in the Cloud is accessing it.  I&#8217;m going to show you how to gain access to your newly created Instance as well as some immediate security steps you should take once you&#8217;ve gained that access.</p>
<h4 id="access-ec2">Amazon EC2</h4>
<p>You&#8217;ve launched your EC2 Instance, now log into it.  When you created your Instance, Amazon downloaded the <strong>Private Key</strong> of your <strong>Key Pair</strong> to your computer.  To use this <strong>Private Key</strong> (in my case I called it <em>MyAmazonKeyPair.pem</em>) under a Unix-based operating system (like a Macintosh running OSX), perform the following steps:</p>
<ol>
<li>Save your Private Key file to your Desktop (or anywhere else, these examples assume on your Desktop)</li>
<li>Open <strong>Terminal </strong>(it is found under Applications -&gt; Utilities)</li>
<li>Change directory to your Desktop:<br />
<code>cd Desktop</code></li>
<li>Change the permissions on your Private Key, or you&#8217;ll get an error:<br />
<code>chmod 600 MyAmazonKeyPair.pem</code></li>
<li>Run ssh:<br />
<code>ssh -i MyAmazonKeyPair.pem root@ec2-&lt;<em>Your-IP-Address</em>&gt;.compute-1.amazonaws.com</code></li>
</ol>
<p>You should now be logged into your Instance as <strong>root</strong>.  Quick note, some of the Ubuntu AMIs on Amazon.com have the <strong>root</strong> account disabled for ssh by default (which is one of the best things about them, see below for doing this yourself), so in that case you&#8217;ll have to ssh in as <strong>ubuntu</strong>.  Just replace <strong>root</strong> with <strong>ubuntu</strong> in the above ssh command.</p>
<h4 id="access-rackspace">Rackspace Cloud</h4>
<p>Accessing your Rackspace Cloud Instance comes in two flavors, one of which is something Amazon EC2 doesn&#8217;t provide:  Console.  The first method to access your server is straight SSH, this is a simple affair since they&#8217;ve so thoughtfully provided your <strong>root</strong> password:</p>
<ol>
<li>Open Terminal (it is found under Applications -&gt; Utilities)</li>
<li>Run ssh:<br />
<code>ssh root@&lt;<em>Your-IP-Address</em>&gt;</code></li>
</ol>
<p>You should now be logged into your Rackspace Cloud Instance as root.</p>
<p>The second method to access your server is via Console.  To perform this type of access:</p>
<ol>
<li>Log into your <a href="https://manage.rackspacecloud.com/" target="_blank">Rackspace Cloud Management Interface</a></li>
<li>Select <strong>Cloud Servers</strong> under the <strong>Hosting</strong> tab</li>
<li>Click the name of the server you wish to access</li>
<li>Click the <strong>Console</strong> button.  Use the same <strong>root</strong> account and password to access the server</li>
</ol>
<h4 id="securing-instance">Initially Securing your Instance</h4>
<p>In both cases both Amazon EC2 and Rackspace Cloud allow <strong>root</strong> access to the Instance over ssh.  This is a Bad Idea™.  So, to properly secure your Instance and give you a more secure method to access it:</p>
<ol>
<li>Log into your Instance</li>
<li>Add yourself a local account, make sure to add this account to the <strong>wheel</strong> group:<br />
<code># useradd -G wheel <em>account</em></code></li>
<li>Set the password for the new account:<br />
<code># passwd <em>account</em></code></li>
<li>Edit the <strong>/etc/sudoers</strong> file to allow your new account to perform commands:<br />
<code># visudo</code></li>
<li>Remove the comment from the following line in <strong>sudoers</strong>, I do the second line so I don&#8217;t have to use a password every time:<br />
<code>## Allows people in group wheel to run all commands<br />
# %wheel        ALL=(ALL)       ALL<br />
## Same thing without a password<br />
%wheel  ALL=(ALL)       NOPASSWD: ALL</code></li>
</ol>
<p>At this point, you have a local account on your Instance, which you can access over ssh, once logged into your Instance, you can issue any command as <strong>root</strong> by preceeding it with the command <strong>sudo</strong>.  To learn more about using <strong>sudo</strong> see this article at <a href="http://en.wikipedia.org/wiki/Sudo" target="_blank">Wikipedia</a>.  If you&#8217;re using Amazon EC2 you have a couple of additional steps you need to take, because EC2 instances require the use of your <strong>Private Key</strong>.  After you&#8217;ve edited the <strong>/etc/sudoers</strong> file, perform these steps on your Amazon EC2 Instance:</p>
<ol>
<li>Change to your new account&#8217;s home directory:<br />
<code>cd /home/<em>account</em></code></li>
<li>Create a .ssh directory:<br />
<code>mkdir .ssh</code></li>
<li>Copy the authorized_keys file from root to your new account:<br />
<code>cp /root/.ssh/authorized_keys .ssh</code></li>
<li>Set the proper permissions on the .ssh directory and its contents:<br />
<code>chown -R <em>account</em>:<em>account</em> .ssh</code></li>
</ol>
<p>You can now access your Amazon EC2 <em>account</em> using your Private Key.</p>
<h4 id="access-instance-winner">Accessing your Instance Winner</h4>
<p><strong>A Draw</strong>:  Both environments give you relatively easy access to the server Instance.  Rackspace Cloud is super easy, just ssh there as <strong>root</strong> using the password they emailed you and you&#8217;re in.  However, that ease of use comes at a very high price to the security of your installation, so buyer beware.  I&#8217;m not going to ding Rackspace Cloud twice on security, even though I should.  On the other hand, Amazon EC2 doesn&#8217;t provide <strong>Console</strong> access to your Instance, which can provide you emergency access if something goes wrong or you lock yourself out through a bad firewall command.</p>
<h3 id="overall-winner">Overall Winner</h3>
<p><strong>Amazon EC2</strong>:  With three outright wins and two draws, Amazon&#8217;s Elastic Compute Cloud server Instances come out on top in my review.  They provide better overall pricing, easier account signup, better Instance creation options, MUCH better security, and similar access options.  Rackspace Cloud is the new kid on the block for Cloud Computing and on-demand Instances, but they need to make some major changes to their overall service if they are going to give Amazon EC2 serious competition going forward.</p>
<h3 id="discussion">Further Discussion</h3>
<p>If you liked this article, and you enjoyed reading it, please take a few moments and Digg, Tweet, Buzz, or Stumble it above to let others know about it.  Additionally, if you have comments about it, just click the Comments link.  I thoroughly enjoy differing opinions and discussions.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/0AhSVUACXJU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/08/battle-of-the-clouds-rackspacecloud-vs-amazon-ec2-247/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/08/battle-of-the-clouds-rackspacecloud-vs-amazon-ec2-247</feedburner:origLink></item>
		<item>
		<title>Moving from SquareSpace to WordPress</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/2OhR1n6FXL4/moving-from-squarespace-to-wordpress-3</link>
		<comments>http://robpickering.com/2010/07/moving-from-squarespace-to-wordpress-3#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:12:13 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[squarespace]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=3</guid>
		<description><![CDATA[On July 20th, I moved my personal blog site, robpickering.com from SquareSpace to WordPress.  This article is about why I did it and then how I performed the task, maintaining all of my posts, post dates, migrating authors, and most importantly, keeping all of my user comments.  I&#8217;ll also discuss some of the downsides and [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>On July 20th, I moved my personal blog site, <a href="http://robpickering.com">robpickering.com</a> from <a href="http://www.squarespace.com/?associateTag=pickerin">SquareSpace</a> to <a href="http://wordpress.com">WordPress</a>.  This article is about why I did it and then how I performed the task, maintaining all of my posts, post dates, migrating authors, and most importantly, keeping all of my user comments.  <span id="more-3"></span>I&#8217;ll also discuss some of the downsides and what you&#8217;ll lose (and how to get it back).</p>
<h3 id="why-move"><span style="font-weight: normal;">The Why</span></h3>
<p><span style="font-weight: normal;">SquareSpace is a great personal website hosting company.  They have an amazing platform and lots of options for building yourself a web presence, be it a blogging platform, or just a standard website.  However, those tools come at a price:  the inability to have complete control over your environment.  If their tools cannot do something you want, then you can&#8217;t do it.  If you want a certain widget (say a Tag Cloud) on your blog, forget it, there is no Tag Cloud widget.  Want to add Mint analytics to your blog?  Or *any* analytics besides the built in SquareSpace ones?  Probably not without a lot of work. </span></p>
<p><span style="font-weight: normal;">After a friend of mine asked me to solve a problem he was having with SSH support in WordPress, I found out that I liked the platform.  So, I setup a WordPress installation and began configuring it for my personal blog.  I eventually decided I liked it better than SquareSpace and tried to figure out how to move it.</span></p>
<h3 id="migrating-from-squarespace"><span style="font-weight: normal;">Migrating from SquareSpace</span></h3>
<p><span style="font-weight: normal;">SquareSpace does an excellent job in supporting a variety of ways of getting your site </span><strong>INTO</strong><span style="font-weight: normal;"> their platform.  However, the support for leaving their platform is a bit limited, but can be made to work with some effort.</span></p>
<p>The first thing you&#8217;ll want to do is export all of your content.</p>
<h4 id="exporting-content">Exporting Content</h4>
<p>SquareSpace names each of your Blog pages a <strong>Journal</strong>.  You can have multiple Journal pages on a site, each with its own navigation tab.  Unfortunately, each Journal has to be exported individually.  I figured that the place to look for exporting your data would be under the <strong>Website Management</strong> area, probably under <strong>Data &amp; Media</strong>.  There&#8217;s even a <strong>Data Snapshots</strong> selection.  Unfortunately, that&#8217;s just for making a backup of your data, a dead end.</p>
<p>To export your Journal (and all of the comments for all posts) you actually have to edit each page (<strong>repeat steps for each Journal</strong>):</p>
<ol>
<li>Log into your SquareSpace site</li>
<li>Change into <strong>Structure Editing Mode</strong><br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/StructureEditingMode.png"><img class="alignnone size-full wp-image-231" title="StructureEditingMode" src="http://robpickering.com/wp-content/uploads/2010/07/StructureEditingMode.png" alt="" width="212" height="50" /></a></li>
<li>Select <strong>configure this page</strong> to edit the page settings<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/ConfigurePage.png"><img class="alignnone size-full wp-image-232" title="ConfigurePage" src="http://robpickering.com/wp-content/uploads/2010/07/ConfigurePage.png" alt="" width="126" height="31" /></a></li>
<li>Scroll all the way to the bottom of the <strong>Journal Page Configuration</strong> options to <strong>Data Export</strong> and click <strong>Export Blog Data</strong><br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/ExportBlogData.png"><img class="alignnone size-medium wp-image-233" title="ExportBlogData" src="http://robpickering.com/wp-content/uploads/2010/07/ExportBlogData-300x92.png" alt="" width="300" height="92" /></a><br />
This will download a <em><strong>&lt;information&gt;</strong></em><strong>.export.txt.html</strong> file, which is actually a <a href="http://en.wikipedia.org/wiki/Movable_Type" target="_blank">Moveable Type</a> formatted HTML file representing your Journal page, including <strong>Content</strong>, <strong>Authors</strong>, and <strong>Comments</strong>.</li>
</ol>
<p>Now that you have your Journal exported, it&#8217;s time to import it into your WordPress site.</p>
<h4 id="preparing-to-import">Preparing to Import</h4>
<p>The only preparation you have to perform, prior to importing your Journal, is that any authors you had on your SquareSpace site <em>should</em> be created <strong>BEFORE</strong> you import your Journal.  However, WordPress will prompt you for author mappings when you import, so you could just assign all posts to your main account then update the posts after the fact.  Alternatively, WordPress <strong>WILL</strong> automatically create new accounts for you as it imports, if you want.  That&#8217;s better than SquareSpace will do for you.</h4>
<h4 id="importing-your-journal">Importing your Journal</h4>
<p>To import your Moveable Type export file follow these steps:</p>
<ol>
<li>Access <strong>Import</strong> under the <strong>Tools</strong> menu<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/ToolsImport.png"><img class="alignnone size-full wp-image-238" title="ToolsImport" src="http://robpickering.com/wp-content/uploads/2010/07/ToolsImport.png" alt="" width="152" height="75" /></a></li>
<li>Select <strong>MoveableType and Type Pad</strong><br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/ImportMoveableType.png"><img class="alignnone size-full wp-image-239" title="ImportMoveableType" src="http://robpickering.com/wp-content/uploads/2010/07/ImportMoveableType.png" alt="" width="295" height="211" /></a><br />
<strong>Note</strong>:  If you haven&#8217;t installed the Plugin previously, WordPress will prompt you to install it now, go ahead</li>
<li>Click the <strong>Choose File</strong> button, and select the <strong>&lt;</strong><em><strong>information</strong></em><strong>&gt;.export.txt.html</strong> file you downloaded above</li>
<li>Assign your <strong>Authors</strong>, or have WordPress automatically create them</li>
<li>WordPress will now print a list of each article it imports, if it prints nothing, it imported nothing</li>
</ol>
<p>You&#8217;ve now moved <em>almost</em> all of the content of your site from SquareSpace into WordPress.  Yea, almost&#8230;</p>
<h3 id="the-bad-news">The Bad News</h3>
<p>There are two pieces of bad news I have to tell you about now.  The first isn&#8217;t too bad:</p>
<p>All of your Posts will have the same Status they had on SquareSpace, so if they were <em>Published</em>, they&#8217;re now <em>Published</em> on your WordPress site.  You&#8217;re probably going to want to immediately go edit every article and change the status of them to <em>Draft</em>.  That&#8217;s because&#8230;</p>
<p><strong>None of your images/media have been exported or imported.</strong></p>
<p>This isn&#8217;t an insurmountable task, but you&#8217;ll have to manually download all of your media from SquareSpace, and then manually re-upload it into your Posts in WordPress.  Fortunately for me, I have a Macintosh, so I just dragged each of my images out to my Desktop, then re-uploaded them into my articles.  This is by far the worst part of the process, so I&#8217;m open to other suggestions folks may have.</p>
<p><strong>Note</strong>:  It may not appear that your Posts are missing images.  This is most likely because the images are being loaded from your old site, as the references are still pointing there.  You can leave this alone, but once you move the domain name, they&#8217;ll most likely break.  So, re-uploading is your best bet.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/2OhR1n6FXL4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/07/moving-from-squarespace-to-wordpress-3/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/07/moving-from-squarespace-to-wordpress-3</feedburner:origLink></item>
		<item>
		<title>Track Spammers using Gmail</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/H1tfoPuNc9A/track-spammers-using-gmail-139</link>
		<comments>http://robpickering.com/2010/07/track-spammers-using-gmail-139#comments</comments>
		<pubDate>Tue, 20 Jul 2010 23:54:28 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=139</guid>
		<description><![CDATA[I hate spam.  I&#8217;m sure you hate spam.  I&#8217;ve spent a significant amount of my personal time working on solutions to combat spam.  I&#8217;m fortunate, in that I run my own mail server, and can therefore deploy a variety of spam fighting techniques.  My current mail server is running: SpamAssassin amavisd-new Greylisting Postfix UCE Rules [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2><span style="font-weight: normal; font-size: 13px;">I hate <a href="http://en.wikipedia.org/wiki/Spam_(electronic)">spam</a>.  I&#8217;m sure you hate spam.  I&#8217;ve spent a significant amount of my personal time working on solutions to combat spam.  I&#8217;m fortunate, in that I run my own mail server, and can therefore deploy a variety of spam fighting techniques.  My current mail server is running:</span></h2>
<ul>
<li><a href="http://spamassassin.apache.org/">SpamAssassin</a></li>
<li><a href="http://www.ijs.si/software/amavisd/">amavisd-new</a></li>
<li><a href="http://www.greylisting.org/">Greylisting</a></li>
<li><a href="http://jimsun.linxnet.com/misc/postfix-anti-UCE.txt">Postfix UCE Rules</a></li>
</ul>
<p>In general, these technologies work pretty well.  However, spammers are constantly finding ways around them, and I still get a few spam emails (3-5) every day.  That number isn&#8217;t too shabby when you think about it, since I&#8217;ve had the same email address now for 14 years.  One of the most effective tools I&#8217;ve found for fighting spam?  Don&#8217;t give out, or publish, your real email address, <strong>anywhere</strong>.  My friends and family know it of course, but that&#8217;s about it.  Whenever a website or a merchant asks me for an email address, I make up a unique one for that site, and give it to them.  I then build an email alias for that address pointing it to my real email.  That way I don&#8217;t miss any emails from that merchant, but I also know if someone starts using that email incorrectly.</p>
<h2><span style="font-weight: normal;">Tracking Merchants with Gmail</span></h2>
<p>Recently I found out that Gmail <a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;answer=12096">offers a similar service</a>.  To begin using this feature just follow these three steps, yep, just three:</p>
<ol>
<li>Come up with a unique identifier for the vendor (e.g. flowers)</li>
<li>Add the unique identifier, preceded by a &#8220;+&#8221; to your existing GMail address (e.g. myid+flowers@gmail.com)</li>
<li>Give the address, myid+flowers@gmail.com, to your online flower shop</li>
</ol>
<p>Now, if you see an email arrive in your mailbox addressed to &#8220;myid+flowers@gmail.com&#8221; you know that email address should only be in use with your online flower merchant.  If you see it being used by someone else, you know for a fact that your online flower merchant sold, or gave, that address to them.  Just be sure to not re-use the same alias for multiple merchants, because then you won&#8217;t know for sure which one violated your personal privacy.</p>
<p>Another great use for this capability in Gmail is that you can now filter your emails based on the address they&#8217;re using to email you.  Just select a message you&#8217;ve received (tick the checkbox), then:</p>
<ol>
<li>Click the <strong>More actions</strong> menu</li>
<li>Select <strong>Filter messages like this these</strong></li>
<li>Enter the email address that you gave the merchant in the <strong>To:</strong> field</li>
<li>Select filter actions for your messages</li>
</ol>
<p>Now you have your own spam fighting tool!</p>
<h2><span style="font-weight: normal;">Merchant Email Hall of Shame</span></h2>
<p>The Merchant Email Hall of Shame is my listing of the Merchants that violate my personal privacy by selling my email address to spammers without my permission. &#8220;Wait a second&#8221; you say, &#8220;How do you know they&#8217;ve sold your address?&#8221;. The answer is simple: I followed my own Blog post and gave a unique email address to each of them. Since they&#8217;ve violated my personal privacy, I&#8217;m going to post their original contact information to this table. You should beware doing business with these people. I&#8217;ve also added a <strong>Mail List Provider</strong> to my table, because I&#8217;m already seeing some commonalities in my first entries.</p>
<p>Ultimately, I gave my information to the Merchant, not the Mail List Provider, so it is their responsibility to keep it safe.  I will be updating this table as I find additional violations of my trust.</p>
<table border="0" cellspacing="0" cellpadding="5" width="100%" align="left">
<tbody>
<tr>
<td>Vendor:</td>
<td>Derek Beachler</td>
</tr>
<tr>
<td>Vendor Email:</td>
<td><a href="mailto:questions@warcraftriches.com">questions@warcraftriches.com</a></td>
</tr>
<tr>
<td>Website:</td>
<td>N/A</td>
</tr>
<tr>
<td>Mail List Provider:</td>
<td>aweber.com</td>
</tr>
<tr>
<td>Email Sold:</td>
<td>goldmaking@[mydomain]</td>
</tr>
<tr>
<td>Result:</td>
<td>Received a Facebook password reset phishing message</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="5" width="100%" align="left">
<tbody>
<tr>
<td>Vendor:</td>
<td>Matt Campbell</td>
</tr>
<tr>
<td>Vendor Email:</td>
<td><a href="mailto:mattcampbell@howtomakeiphoneapps.com">mattcampbell@howtomakeiphoneapps.com</a></td>
</tr>
<tr>
<td>Vendor Website:</td>
<td>http://howtomakeiphoneapps.com</td>
</tr>
<tr>
<td>Mail List Provider:</td>
<td>aweber.com</td>
</tr>
<tr>
<td>Email Sold:</td>
<td>howtomakeiphone@[mydomain]</td>
</tr>
<tr>
<td>Result:</td>
<td>Received a Facebook password reset phishing message</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/H1tfoPuNc9A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/07/track-spammers-using-gmail-139/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/07/track-spammers-using-gmail-139</feedburner:origLink></item>
		<item>
		<title>Inexpensive eBooks from O’Reilly Media</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/xCGMcOnDEfk/inexpensive-ebooks-from-oreilly-media-112</link>
		<comments>http://robpickering.com/2010/07/inexpensive-ebooks-from-oreilly-media-112#comments</comments>
		<pubDate>Mon, 19 Jul 2010 20:48:07 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=112</guid>
		<description><![CDATA[I love eBooks.  I&#8217;m not actually sure the last time I purchased a physical, paper book.  If I have recently purchased one, then it was a Computer Reference book of some type.  Most likely it was a Cisco Press, O&#8217;Reilly &#8220;animal&#8221; book, or any one of a number of technical books and programming manuals.  Over [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2><span style="font-weight: normal; font-size: 13px;">I love eBooks.  I&#8217;m not actually sure the last time I purchased a physical, paper book.  If I have recently purchased one, then it was a Computer Reference book of some type.  Most likely it was a Cisco Press, O&#8217;Reilly &#8220;animal&#8221; book, or any one of a number of technical books and programming manuals.  Over the years, I&#8217;ve purchased close to 50 O&#8217;Reilly &#8220;animal&#8221; books, with multiple copies of the &#8220;Camel&#8221; book (Perl Programming) being purchased.  A programmer always wants to have the latest copy of a reference guide, because the languages develop so quickly.  Same thing goes for a Network Engineer (I&#8217;m one of those too), or a Security Specialist (ditto).</span></h2>
<p>I figured out a long time ago that I love to read digital books (eBooks).  I first started reading them on my Palm PDA using DocReader.  I later started purchasing eBooks online using an application called eReader and the ereader.com and fictionwise.com websites.  These were mostly books for pleasure reading, because no serious technical manuals could be found in eBook format.  Fortunately for all of us, mostly in the last 12 months, eBooks have become wildly popular and even serious technical manuals are now being offered in a variety of digital formats:  PDF, ePub, Mobi, Android, and of course Kindle.  However, I have a TON of older O&#8217;Reilly &#8220;animal&#8221; books that I would LOVE to have in a digital format and carry around with me.  O&#8217;Reilly sells most of them in an eBook format, for less money than the paper format.</p>
<p>Enter <a href="https://epoch.oreilly.com/register/register.orm">Register Your O&#8217;Reilly Books</a>.</p>
<h2>Registering your Books</h2>
<p>O&#8217;Reilly offers the ability, with an O&#8217;Reilly Account, to register all of the physical O&#8217;Reilly books you have in your possession.</p>
<p>To register your Books, just go to the O&#8217;Reilly site, setup a free account, and then click this link:  <a href="https://epoch.oreilly.com/register/register.orm">Register Your O&#8217;Reilly Books</a>.</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/07/OReilly-Register.png"><img class="alignnone size-medium wp-image-198" title="OReilly-Register" src="http://robpickering.com/wp-content/uploads/2010/07/OReilly-Register-300x153.png" alt="" width="300" height="153" /></a></p>
<p>You&#8217;ll be taken to the page above, where you can list up to 15 titles per screen, and then submit them.  Some titles are harder to get registered than others, but just keep at it and soon you&#8217;ll see a gigantic list of titles under your <strong>Registered Books</strong> area.  This service is pretty neat in that there are links provided for each Book to:</p>
<ul>
<li> The books main O&#8217;Reilly page.</li>
<li>Errata made available for the book.</li>
<li>Writing a Review of the book.</li>
</ul>
<p>This is a nice complement to the book, but I always overlooked this service because I didn&#8217;t want to bother dragging my books out and registering them online, for no other apparent reason.</p>
<p>Except&#8230;There&#8217;s a reason.</p>
<h2>Why Register your Books</h2>
<p>Once you&#8217;ve registered your books to your online O&#8217;Reilly account, O&#8217;Reilly does something that I wish every physical book publisher on the planet would do:</p>
<p><strong>They offer you the eBook version for $5.</strong></p>
<p><span style="font-weight: normal; font-size: 13px;">I&#8217;m going to say that again, because it&#8217;s incredible.</span></p>
<p><span style="font-size: 13px;"><strong>O&#8217;Reilly offers you the eBook version of your physical book, </strong></span><span style="font-size: 13px;"><strong>for $5</strong></span><span style="font-weight: normal; font-size: 13px;">:</span></p>
<p><span style="font-weight: normal; font-size: 13px;"><a href="http://robpickering.com/wp-content/uploads/2010/07/OReilly-eBooks.png"><img class="alignnone size-medium wp-image-197" title="OReilly-eBooks" src="http://robpickering.com/wp-content/uploads/2010/07/OReilly-eBooks-300x175.png" alt="" width="300" height="175" /></a></span></p>
<p><span style="font-weight: normal; font-size: 13px;">But, it gets better than just an eBook version.  I mean, having the eBook is excellent, but what you really want is the most recent edition of the book, right? </span><span style="font-size: 13px;"><strong>Yea, they give you that! </strong></span><span style="font-weight: normal; font-size: 13px;">So, if you have the First Edition of a book, and the Third Edition of the book is the current one, </span><span style="font-size: 13px;"><strong>THAT&#8217;S </strong></span><span style="font-weight: normal; font-size: 13px;">the version of the eBook you get!  Amazing!  Notice how the offer in the above graphic says &#8220;</span><span style="font-size: 13px;"><strong>Upgrades</strong></span><span style="font-weight: normal; font-size: 13px;">&#8220;?  It made me so happy, and my wife so sad, the day I figured this out, because I registered every O&#8217;Reilly book I could lay my hands on in the house and in boxes, and then purchased every one of them as the eBook.</span></p>
<p><span style="font-weight: normal; font-size: 13px;">Now I carry my entire O&#8217;Reilly library with me, everywhere, inside of iBooks (both ePub and PDF) on my iPad 3G.  Sheer joy.</span></p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/xCGMcOnDEfk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/07/inexpensive-ebooks-from-oreilly-media-112/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/07/inexpensive-ebooks-from-oreilly-media-112</feedburner:origLink></item>
		<item>
		<title>Create a Full Backup Image of your Amazon EC2 Instance</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/vvTCIVyBJW8/create-a-full-backup-image-of-your-amazon-ec2-instance-2-129</link>
		<comments>http://robpickering.com/2010/07/create-a-full-backup-image-of-your-amazon-ec2-instance-2-129#comments</comments>
		<pubDate>Sun, 18 Jul 2010 13:05:37 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=129</guid>
		<description><![CDATA[I&#8217;m doing this backwards.  I&#8217;m currently writing another article about Amazon EC2 and getting started by moving your existing hosting service to EC2.  However, I recently realized how much time and effort I had devoted to my EC2 Instance and getting things installed, configured, and running the way I want them.  Then I stumbled upon [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2><span style="font-weight: normal; font-size: 13px;">I&#8217;m doing this backwards.  I&#8217;m currently writing another article about Amazon EC2 and getting started by moving your existing hosting service to EC2.  However, I recently realized how much time and effort I had devoted to my EC2 Instance and getting things installed, configured, and running the way I want them.  Then I stumbled upon this forum article:  <a href="http://developer.amazonwebservices.com/connect/message.jspa?messageID=68858">Degraded Amazon EC2 Instance</a>.  So, your Amazon EC2 instance is fragile.  Just as fragile as anything you&#8217;d run at home.  More so, in some cases, because you don&#8217;t control any of the hardware.  Out of sight, is out of mind.  So, backups are not only a good idea, they are required.  But how do you perform image backups of your EC2 Instance so you can recover quickly to a working base image?</span></h2>
<h2>Preparing to Image</h2>
<h3>Security Keys</h3>
<p>First, you will need your <strong>Security Credentials</strong>.  Amazon AWS (and EC2) have tons of different security credentials, certificates, keys, etc.  I had a hard time, at first, figuring out which credentials I required in order to create my Backup.  Here are the steps, in order, to get your <strong>Private Key</strong> and <strong>X.509 Certificate</strong> needed to perform an <a href="http://en.wikipedia.org/wiki/Amazon_Machine_Image">Amazon Machine Image</a> (AMI) backup:</p>
<ol>
<li>Log into your Amazon <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a></li>
<li>Click the <strong>Account</strong> button at the top<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Account.png"><img class="alignnone size-medium wp-image-170" title="Amazon_AWS_Account" src="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Account-300x17.png" alt="" width="300" height="17" /></a></li>
<li><a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Account.png"></a>Click the <strong>Security Credentials</strong> link<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Security.png"><img class="alignnone size-medium wp-image-171" title="Amazon_AWS_Security" src="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Security-300x123.png" alt="" width="300" height="123" /></a></li>
<li><a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Security.png"></a>Click the <strong>X.509 Certificates</strong> tab</li>
<li>Click the <strong>Create a new Certificate</strong> link<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Certificates.png"><img class="alignnone size-medium wp-image-172" title="Amazon_AWS_Certificates" src="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Certificates-300x131.png" alt="" width="300" height="131" /></a></li>
<li>You will be presented with a popup to download <strong>BOTH</strong> your X.509 Certificate and your Private Key file.  It is <strong>CRITICAL</strong> that you download the Private Key file immediately, as Amazon <strong>DOES NOT</strong> retain, store, or allow you to download it again.  Make sure you download both files to your local computer:<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Cert_Download.png"><img class="alignnone size-medium wp-image-173" title="Amazon_AWS_Cert_Download" src="http://robpickering.com/wp-content/uploads/2010/07/Amazon_AWS_Cert_Download-278x300.png" alt="" width="278" height="300" /></a></li>
<li>After downloading your keys, scroll to the bottom of the page and note your <strong>AWS Account ID</strong>:<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_Account_ID.png"><img class="alignnone size-medium wp-image-177" title="AWS_Account_ID" src="http://robpickering.com/wp-content/uploads/2010/07/AWS_Account_ID-300x81.png" alt="" width="300" height="81" /></a></li>
</ol>
<p>You now have the two <strong>Security Credentials</strong> you require to build your AMI as well as  your AWS Account ID.  Throughout the rest article I will reference them in commands with the following notations:</p>
<ul>
<li>Private Key File:  pk-PRIVATEKEY.pem</li>
<li>X.509 Certificate File:  cert-X509CERT.pem</li>
<li>AWS Account ID:  AWS-ACCT-ID</li>
</ul>
<h3>Setup the Server for Image Creation</h3>
<p>There are two tasks to perform in order to prepare your server for AMI creation:</p>
<ol>
<li>Create a location on your server to build the AMI Bundle file:
<pre class="brush:bash">sudo mkdir /mnt/bundle</pre>
</li>
<li>Copy your two Security credentials to your Server and into the <strong>/mnt/bundle</strong> directory:
<pre class="brush:bash">cd /mnt/bundle
sudo mv /home/[YOUR HOME]/cert-X509CERT.pem .
sudo mv /home/[YOUR HOME]/pk-PRIVATEKEY.pem .</pre>
</li>
</ol>
<p>You&#8217;re now ready to build your Amazon Machine Image.</p>
<h2>Creating your AMI</h2>
<h3>Building the Bundle</h3>
<p>Run the following command to create your AMI Bundle:</p>
<pre class="brush:bash">sudo ec2-bundle-vol -k pk-PRIVATEKEY.pem -c X509CERT.pem -u AWS-KEY-ID -d /mnt/bundle/ -p BUNDLE-NAME.ami</pre>
<p>This process will take a significant amount of time, you&#8217;ll get output like the following:</p>
<pre>Please specify a value for arch [i386]:
Copying / into the image file /mnt/bundle/BUNDLE-NAME.ami...
Excluding:
/sys/kernel/debug
/sys/kernel/security
/sys
/proc
/sys/fs/fuse/connections
/dev/pts
/dev
/media
/mnt
/proc
/sys
/etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/z25_persistent-net.rules
/mnt/bundle/BUNDLE-NAME.ami
/mnt/img-mnt
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00253524 s, 414 MB/s
mke2fs 1.41.9 (22-Aug-2009)
Bundling image file...
Splitting /mnt/bundle/BUNDLE-NAME.ami.tar.gz.enc...
Created BUNDLE-NAME.ami.part.000
Created BUNDLE-NAME.ami.part.001
Created BUNDLE-NAME.ami.part.002
[...]
Created BUNDLE-NAME.ami.part.283
Created BUNDLE-NAME.ami.part.284
Generating digests for each part...
Digests generated.
Unable to read instance meta-data for ancestor-ami-ids
Unable to read instance meta-data for product-codes
Creating bundle manifest...
ec2-bundle-vol complete.</pre>
<p>You now have an AMI Backup of your entire Instance.  However <strong>YOU&#8217;RE NOT DONE</strong>!  Currently, this AMI is sitting in your <strong>/mnt</strong> partition.  This is a temporary storage area, so it can be deleted at any time.  You need to upload this AMI to your S3 account for permanent storage.</p>
<h3>Creating a S3 Bucket</h3>
<p>In order to have a location at S3 to upload your AMI to, you first have to create a <strong>Bucket</strong>.  If you&#8217;re not sure what a Bucket is, or if some of the Amazon S3 terminology is unfamiliar to you, try reading the <a href="http://en.wikipedia.org/wiki/Amazon_S3">Amazon S3 Wikipedia</a> article.  If you already have a Bucket ready to use, skip this section.</p>
<ol>
<li>Log into your <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a> again</li>
<li>Click the <strong>Amazon S3</strong> tab in your Console<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_S3_Bucket.png"><img class="alignnone size-medium wp-image-179" title="AWS_S3_Bucket" src="http://robpickering.com/wp-content/uploads/2010/07/AWS_S3_Bucket-300x41.png" alt="" width="300" height="41" /></a></li>
<li><a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_S3_Bucket.png"></a> Click the <strong>Create Bucket</strong> button<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/Amazon_S3_Bucket.png"><img class="alignnone size-full wp-image-180" title="Amazon_S3_Bucket" src="http://robpickering.com/wp-content/uploads/2010/07/Amazon_S3_Bucket.png" alt="" width="242" height="150" /></a></li>
<li>Give your Bucket a name (BUCKET-NAME) and click <strong>Create</strong></li>
</ol>
<p>You now have a Bucket where you can store your AMI files.</p>
<h3>More Credentials</h3>
<p>You&#8217;re now dealing with Amazon S3, and another set of Credentials.  Here&#8217;s how to get the two Credentials you need for Amazon S3:</p>
<ol>
<li>Log into the <strong>Security Credentials</strong> area of your <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a> (see beginning of article)</li>
<li>Click the <strong>Access Keys</strong> tab and note both the <strong>Access Key ID</strong> (ACCESS-KEY-ID) and <strong>Secret Access Key</strong> (SECRET-ACCESS-KEY)<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_S3_Access_Key.png"><img class="alignnone size-medium wp-image-181" title="AWS_S3_Access_Key" src="http://robpickering.com/wp-content/uploads/2010/07/AWS_S3_Access_Key-300x124.png" alt="" width="300" height="124" /></a></li>
</ol>
<p>You&#8217;re now finally ready to upload the AMI to Amazon S3 for permanent storage.</p>
<h3>Uploading the Bundle</h3>
<p>Issue the following command to upload your AMI to Amazon S3:</p>
<pre class="brush:bash">sudo ec2-upload-bundle -b BUCKET-NAME -m BUNDLE-NAME.ami.manifest.xml -a ACCESS-KEY-ID -s SECRET-ACCESS-KEY</pre>
<p>This process also takes a while, you&#8217;ll get output like the following:</p>
<pre>Uploading bundled image parts to the S3 bucket BUCKET-NAME ...
Uploaded BUNDLE-NAME.ami.part.000
Uploaded BUNDLE-NAME.ami.part.001
Uploaded BUNDLE-NAME.ami.part.002
[...]
Uploaded BUNDLE-NAME.ami.part.283
Uploaded BUNDLE-NAME.ami.part.284
Uploading manifest ...
Uploaded manifest.
Bundle upload completed.</pre>
<p><strong>CONGRATULATIONS </strong>!  You now have an AMI safely stored at Amazon S3.</p>
<h2>But Wait There&#8217;s More</h2>
<p>Now that your AMI is saved at Amazon S3, you should register it to your EC2 account, this allows you to easily spin up new Instances based on that AMI (more on that in a second).  To register your AMI follow these steps:</p>
<ol>
<li>Log into your <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a></li>
<li>Click the <strong>AMIs</strong> link under <strong>Images<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_AMI.png"><img class="alignnone size-medium wp-image-186" title="AWS_AMI" src="http://robpickering.com/wp-content/uploads/2010/07/AWS_AMI-198x300.png" alt="" width="198" height="300" /></a></strong></li>
<li>Click the <strong>Register New AMI</strong> button<br />
<a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_Register_AMI.png"><img class="alignnone size-medium wp-image-187" title="AWS_Register_AMI" src="http://robpickering.com/wp-content/uploads/2010/07/AWS_Register_AMI-300x76.png" alt="" width="300" height="76" /></a></li>
<li><a href="http://robpickering.com/wp-content/uploads/2010/07/AWS_Register_AMI.png"></a>Enter the AMI Manifest Path:  <strong>BUCKET-NAME/BUNDLE-NAME</strong><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"><strong>.ami.manifest.xml</strong></span></li>
</ol>
<p>You should now see your AMI listed.  If so, you&#8217;re done.</p>
<h2>Testing the AMI</h2>
<p>This step is optional and I&#8217;m not going to go into much detail about it.  You should always test your backups, because that&#8217;s the only way you&#8217;ll know if they will work properly when you really need them.  However, in order to test the AMI, you&#8217;ll have to spend some amount of money to spin up a new EC2 Instance using your saved AMI.  Fortunately, you probably only need it for about an hour, and that&#8217;s the beauty of Amazon EC2, because an hour of time is dirt cheap.</p>
<p>To test your AMI as a Spot Instance:</p>
<ol>
<li>Log into your <a href="https://console.aws.amazon.com/ec2/home">AWS Management Console</a></li>
<li>Click the <strong>Spot Requests</strong> link under <strong>Instances</strong></li>
<li>Click the <strong>Request Spot Instance</strong> button</li>
<li>Click the <strong>My AMIs</strong> tab</li>
<li>Click the <strong>Select</strong> button next to your saved AMI</li>
<li>Run through all of the options to build an Instance (these should match your current Instance settings)</li>
<li>Once created and Launched, log into it and verify your files, applications, and data</li>
</ol>
<p>I hope you enjoyed this HOWTO, this is the most detailed explanation I&#8217;ve found on how to do this properly and what to expect.  If you liked it, please click one of the buttons below and tell someone about it.  Thank you!</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/vvTCIVyBJW8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/07/create-a-full-backup-image-of-your-amazon-ec2-instance-2-129/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/07/create-a-full-backup-image-of-your-amazon-ec2-instance-2-129</feedburner:origLink></item>
		<item>
		<title>Goodbye Geek Brief TV…</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/qGpAy0EYq5M/goodbye-geek-brief-tv-114</link>
		<comments>http://robpickering.com/2010/07/goodbye-geek-brief-tv-114#comments</comments>
		<pubDate>Sun, 18 Jul 2010 02:02:30 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[farewell]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://robpickering.com/?p=114</guid>
		<description><![CDATA[Saturday Mornings I get up early, my wife Deb does not.  This is time for me to relax and catch up on my &#8220;me&#8221; time by drinking some coffee and watching my video podcasts.  There are several video podcasts that I download and watch on my AppleTV, among them:  TedTalks, Hak5, Tekzilla, Scam School, and [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Saturday Mornings</p>
<p>I get up early, my wife Deb does not.  This is time for me to relax and catch up on my &#8220;me&#8221; time by drinking some coffee and watching my video podcasts.  There are several video podcasts that I download and watch on my <a href="http://www.amazon.com/Apple-appletv-320-AppleTV-320-Storage/dp/B0027Z0AUQ%3FSubscriptionId%3DAKIAIIE33VISUW746DYQ%26tag%3Dbaldusgateitempa%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0027Z0AUQ">AppleTV</a>, among them:  <a href="http://www.ted.com/talks">TedTalks</a>, <a href="http://www.hak5.org/">Hak5</a>, <a href="http://revision3.com/tekzilla/">Tekzilla</a>, <a href="http://revision3.com/scamschool">Scam School</a>, and the occassional <a href="http://revision3.com/diggnation">DiggNation</a> (until recently).  However, the podcast I always looked forward to, that I knew I would always watch:  <a href="http://geekbrief.mevio.com/">Geek Brief TV</a> with Cali Lewis.</p>
<p>It wasn&#8217;t just the energy that Cali displayed on the screen.  It wasn&#8217;t just the unabashed enthusiasm she had for the show, her viewers, technology, and all things related to gadgets.  It was her connection with the audience.  You quickly got lost that you were watching a video podcast and actually believed that Cali was talking straight to you.  She connected.</p>
<p>I&#8217;ve watched Geek Brief TV since it began four years ago.  I watched when the &#8220;gimick&#8221; of the show was Cali in a new tech/vintage/cartoon/superhero T-Shirt every show.  Those were my favorites.  I watched when they tried new things, dressing her up in fancier clothes, better makeup (those didn&#8217;t appeal as much, because the connection got lost), and many, many, different hairstyles (long is better).  I even watched when they tried spinning an &#8220;International Gadget Spy&#8221;.  I also empathized with Cali when she had health issues, which she shared with her audience through video and audio podcasts.</p>
<p>Then, July 5th, 2010, I got Episode #779.  It was a blooper episode.  I thought it was okay, they didn&#8217;t really cover any gadget or technology news on the show, but okay.</p>
<p>Then nothing&#8230;</p>
<p>No more shows&#8230;</p>
<p>No sign-off, no goodbye, nothing.</p>
<p>Then on July 14th, 2010, I saw a new show on the Podcast listing on the AppleTV.  It was called <a href="http://geekbeat.tv/">Geek Beat TV</a> with Cali Lewis.  I thought, &#8220;Weird, the name is close, I wonder if she&#8217;s just trying something new?&#8221;  But alas, she wasn&#8217;t.  I subscribed to the podcast, downloaded the first episode, and watched.  It was a Revision3 production.  No way <a href="http://www.mevio.com/">Mevio</a> would allow her to run both of these at the same time, let alone on a competing network.  Something was amiss.</p>
<p>So, I hopped over to <a href="http://calilewis.me">CaliLewis.me</a> and found the following blog aricle:</p>
<p><a href="http://calilewis.me/hmm-why-would-mevio-remove-the-last-episode-of-geek-brief">Hmm…WHY Would Mevio Remove the Last Episode of Geek Brief?</a></p>
<p>So, there <strong>WAS</strong> a final episode of Geek Brief TV!  Unfortunately, Mevio pulled it not only from the Internet, but <strong>OUT OF THE ITUNES FEED</strong>!  In fact, I believe it never hit the iTunes syndication feed.  Therefore, all of the Geek Brief fans who were watching through iTunes downloads, <strong>NEVER SAW IT</strong>.</p>
<p><span style="text-decoration: underline;">Shame on you Mevio!</span> Shame.  I can understand that you may own the rights to the name &#8220;Geek Brief TV&#8221;.  I can understand that you wouldn&#8217;t want a &#8220;Final Episode&#8221; to go out, because you want to protect the brand.  However, there are <strong>MUCH</strong> better ways of handling this than just pulling the entire episode and leaving your loyal viewers completely in the dark as to what has happened.  When you have a four-year relationship with a host, you don&#8217;t just make them disappear without an explanation, period.</p>
<p>I&#8217;m very sad to see Cali Lewis leave Geek Brief TV.  The new show is good, I&#8217;m going to watch it.  But the connection with the audience seems to be gone.  The intimacy of the setting is missing.  That feeling that she&#8217;s talking directly to you seems to be a thing of the past.  Revision3 produces great podcasts.  But, that&#8217;s what they are, productions.  Geek Beat feels productionized now, polished, more professional.  With that comes a loss of intimacy with the audience.  Cali is now presenting TO the audience, she&#8217;s not discussing WITH the audience.  That feeling of wonder and desire to share and explore together is gone for me.</p>
<p>I&#8217;m not saying these things lightly.  I&#8217;ve watched the first 10 episodes (all that are available).  I think Cali is one of the best technology podcasters in the business.  I&#8217;ve watched and listened to just about all of them.  Unfortunately, the new format is pushing her into the background of &#8220;me too&#8221;, and the uniqueness of what was there is now missing.</p>
<p>If you don&#8217;t believe me, watch the final episode of Geek Brief TV (the one Mevio pulled from the iTunes feed and their website), and tell me you aren&#8217;t moved as Cali explains the difficulties she and Neal have faced, and the monumental decision to leave Geek Brief forever:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="253" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="src" value="http://player.wizzard.tv/player/o/i/x/127799141404/config/k-1b37dbdb0ab9a756/uuid/null/episode/k-b9be610e413000b0" /><param name="name" value="movie" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="450" height="253" src="http://player.wizzard.tv/player/o/i/x/127799141404/config/k-1b37dbdb0ab9a756/uuid/null/episode/k-b9be610e413000b0" name="movie" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>Exactly.</p>
<p>Now, here is one of the new episodes:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="555" height="312" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://revision3.com/player-v6417" /><param name="allowfullscreen" value="true" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="555" height="312" src="http://revision3.com/player-v6417" quality="high" allowfullscreen="true"></embed></object></p>
<p>Some of my key issues with the new format are:</p>
<ol>
<li>She&#8217;s standing.  Cali moves a lot, that makes a still camera chop her head off constantly, it&#8217;s distracting.</li>
<li>She keeps moving back and forth.  It draws your focus off of the subject and onto Cali herself, it&#8217;s distracting.</li>
<li>She&#8217;s on a white background.  The HD version of the podcast shows &#8220;jaggies&#8221; around her image, plus it&#8217;s moving, making it worse.</li>
<li>She wears white, against a white background.  Nuff said.</li>
</ol>
<p>Hopefully these are just &#8220;first 10 show issues&#8221;.  I certainly hope so&#8230;</p>
<p>However, my wife, who is not a techie (though I&#8217;m trying), likes the new show better.  She believes the format is much less &#8220;campy&#8221; and is in fact more professional looking (I agree).  She&#8217;s more inclined to watch the new show versus the old one.  Hopefully, this is the reaction Revision3 wanted to get.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/qGpAy0EYq5M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/07/goodbye-geek-brief-tv-114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/07/goodbye-geek-brief-tv-114</feedburner:origLink></item>
		<item>
		<title>Automatically add PDF Files to iBooks / iTunes via Dropbox</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/5-RxkHWksmw/automatically-add-pdf-files-to-ibooks-itunes-via-dropbox-20</link>
		<comments>http://robpickering.com/2010/06/automatically-add-pdf-files-to-ibooks-itunes-via-dropbox-20#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:31:59 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ibooks]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://robpickering.com/2010/06/automatically-add-pdf-files-to-ibooks-itunes-via-dropbox/</guid>
		<description><![CDATA[If you&#8217;ve just recently upgraded to iOS 4 (aka iPhone OS 4), then you are eligible to download iBooks version 1.1. Why is iBooks version 1.1 so exciting? Because it provides support for PDF files, natively, on the iPad and the iPhone. Previous to iBooks 1.1, I was using GoodReader as my primary application for [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2><span style="font-weight: normal; font-size: 13px;">If you&#8217;ve just recently upgraded to iOS 4 (aka iPhone OS 4), then you are eligible to download iBooks version 1.1. Why is iBooks version 1.1 so exciting? Because it provides support for PDF files, natively, on the iPad and the iPhone. Previous to iBooks 1.1, I was using <a href="http://click.linksynergy.com/fs-bin/stat?id=DZCQ8oFEXdE&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fgoodreader-for-ipad%252Fid363448914%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store">GoodReader <img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-sm.gif" alt="GoodReader for iPad - Good.iWare Ltd." /></a> as my primary application for reading and manipulating PDF files. GoodReader is a great, very solid, application and has served its purpose. However, having all of my books in one place (or 3 places as the case may be: iBooks, Kindle, and eReader) has a lot of appeal.</span></h2>
<p>Getting your PDF files into iBooks is as simple as dragging and dropping them on iTunes. This is great if I&#8217;m on the computer where I synch my iPhone. However, if I&#8217;m not near a computer or I&#8217;m on my work computer, then I have to email the PDF to myself, then remember to extract it on my home computer, drag it onto iTunes, and synch my iPhone / iPad. I usually forget, right up to the point where I want to read the PDF. Enter <a title="Dropbox" href="http://www.dropbox.com/" target="_blank">Dropbox</a>.</p>
<h2>Dropbox Automation</h2>
<p>I&#8217;m a big Dropbox fan. My wife and I use it all the time to communicate purchase receipts, wishlist items, and share photos. However, were you aware that the Dropbox folders on your Macintosh are just folders? That means you can assign <a href="http://en.wikipedia.org/wiki/AppleScript">AppleScript</a> Folder Actions to those folders, which will run those AppleScripts anytime something is added to the folder. I originally got the idea to use Folder Actions with Dropbox from reading Ken Clark&#8217;s Blog Post: <a href="http://kenclark.me/2009/10/use-dropbox-to-create-a-yojimbo-iphone-app/">Use Dropbox to Create a Yojimbo iPhone App</a>. In fact, I still use his ideas and scripts so my wife and I can have purchase receipts automatically entered into Yojimbo (for me to add them to Quicken). I recently realized after reading a post on SimpleHelp, <a href="http://www.simplehelp.net/2010/06/23/how-to-add-pdfs-to-ibooks-using-dropbox/">How to add PDFs to iBooks using Dropbox</a> , that the two ideas could be combined. The SimpleHelp article points out that it only works on the iPad, though they give some work-arounds for iPhones and iPod Touches. By combining the two ideas, you can have a folder in your Dropbox that automatically adds them to your home system&#8217;s iTunes LIbrary, where they will be synchronized to any device you connect. This solution will also work well if you have a large number of PDFs (say at the office) that you want to put into your iPhone without having to tap every one. You can always use the SimpleHelp tips to gain access to individual PDF files immediately.</p>
<h2>The Setup</h2>
<ol>
<li>First create a new folder in your Dropbox to handle all of your PDF needs, <strong>PDF</strong> is a good suggestion</li>
<li>Second, copy and paste the following script into <strong>AppleScript Editor</strong></li>
<pre class="brush:[applescript]">on adding folder items to this_folder after receiving these_items
repeat with x from 1 to the count of these_items
set theFile to item x of these_items
try
tell application "iTunes"
set t to add (theFile)
end tell
end try
end repeat
end adding folder items to</pre>
<li>Click <strong>Compile</strong> and make sure there are no errors</li>
<li>Save the script to your <strong>Macintosh HD:Library:Scripts:Folder Action Scripts</strong> folder</li>
<li>Right-click the <strong>PDF</strong> folder in your Dropbox and select <strong>Folder Actions Setup</strong></li>
<li>Select the new script, it should now appear on the right-half of the <strong>Folder Actions Setup</strong> screen</li>
<li>Test it by placing a PDF file into the <strong>PDF</strong> folder, it should open iTunes and import the file into your <strong>Books</strong> area</li>
</ol>
<h2>Alternative Method</h2>
<p>If you don&#8217;t mind paying for an application in the iTunes App Store to solve this problem, then there is another, very clean, way of putting PDF files into iBooks. <a href="http://click.linksynergy.com/fs-bin/stat?id=DZCQ8oFEXdE&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fair-sharing-hd%252Fid365541415%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store">AirSharing Pro/HD <img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-sm.gif" alt="Air Sharing HD - Avatron Software, Inc." /></a> will allow you to open PDF attachments from MobileMail directly into iBooks. These attachments are then saved in iBooks and will synchronize back into iTunes on your Macintosh, similar to the SimpleHelp article, but it works on iPhones and iPod Touches.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/5-RxkHWksmw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/06/automatically-add-pdf-files-to-ibooks-itunes-via-dropbox-20/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/06/automatically-add-pdf-files-to-ibooks-itunes-via-dropbox-20</feedburner:origLink></item>
		<item>
		<title>CloudEngines Plugs Security Flaw in Pogoplug with Firmware 2.1</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/riVwufTtdak/cloudengines-plugs-security-flaw-in-pogoplug-with-firmware-2-1-12</link>
		<comments>http://robpickering.com/2010/03/cloudengines-plugs-security-flaw-in-pogoplug-with-firmware-2-1-12#comments</comments>
		<pubDate>Fri, 26 Mar 2010 02:16:53 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[pogoplug]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://robpickering.com/2010/03/cloudengines-plugs-security-flaw-in-pogoplug-with-firmware-2-1/</guid>
		<description><![CDATA[In my original Blog Post entitled Beware the Pogoplug I pointed out a rather serious security hole in the Cloud Engines&#8216; Pogoplug device. That security hole allowed public SSH access into the device, as long as the device was reachable over the Internet or a Wi-Fi connection. CloudEngines&#8217; even published the root password you needed [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In my original Blog Post entitled <a href="index.php?p=7">Beware the Pogoplug</a> I pointed out a rather serious security hole in the <a href="http://www.cloudengines.com/">Cloud Engines</a>&#8216; Pogoplug device.  That security hole allowed public SSH access into the device, as long as the device was reachable over the Internet or a Wi-Fi connection.  CloudEngines&#8217; even <a href="http://www.cloudengines.com/dev/linux.html">published the root password</a> you needed to access the device.  That&#8217;s been fixed now.</p>
<h2><a href="http://www.amazon.com/Pogoplug-POGO-E02-Multimedia-Sharing-Device/dp/B0033WSDR4%3FSubscriptionId%3DAKIAIIE33VISUW746DYQ%26tag%3Dbaldusgateitempa%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0033WSDR4"><img src="http://ecx.images-amazon.com/images/I/41LnMgExJaL._SL160_.jpg" alt="" /></a></h2>
<h2>Enter Pogoplug Firmware 2.1</h2>
<h3>Introduction:</h3>
<p>By default now, the Pogoplug has SSH access disabled.  This is a welcome improvement and is the single biggest issue I had with the old firmware.  I wholly support vendors giving us root-level SSH access to our devices.  It frankly makes them much more useful and interesting to people like myself, as it opens the door to modifications.  However, I cannot condone leaving that door open by default and not informing users, or giving them the ability to close it.  Firmware 2.1 addresses those concerns.</p>
<p>No sooner did I get the Pogoplug upgraded than I immediately tested SSH access.  Refused.  Now of course, I wanted it open again, under my terms.  Here&#8217;s how to do it.</p>
<h3>Enabling SSH Access on the Pogoplug</h3>
<p>Access the <strong>Settings</strong> link at the top-right of your <a href="http://my.pogoplug.com">My Pogoplug</a> page:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSettings.png"><img class="alignnone size-full wp-image-37" title="PogoPlug Settings" src="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSettings.png" alt="PogoPlug Settings" width="470" height="40" /></a></p>
<p>This is a new Settings panel with lots of new options, explore them at your leisure, but you want to drop down and select the <strong>Security Settings</strong> link:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSecuritySettings.png"><img class="alignnone size-medium wp-image-38" title="PogoPlug Security Settings" src="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSecuritySettings-300x155.png" alt="PogoPlug Security Settings" width="300" height="155" /></a></p>
<p>Here you will find two new options:</p>
<ol>
<li><strong>Use full security sessions</strong>:  this option will fully encrypt (using HTTPS/TLS) all transmissions to and from the Pogoplug</li>
<li><strong>Enable SSH access for this Pogoplug</strong></li>
</ol>
<p>That second option is the one you want to check off.  Once you do, you&#8217;ll get a pop-up prompting you for your password:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSSHPassword.png"><img class="alignnone size-medium wp-image-39" title="PogoPlug SSH Password" src="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugSSHPassword-300x190.png" alt="PogoPlug SSH Password" width="300" height="190" /></a></p>
<p>Unfortunately, this is where I ran into some problems.  The page wouldn&#8217;t update.  When I reloaded the <a href="http://my.pogoplug.com">My Pogoplug</a> page, the option remained unchecked.  I suspected my firewall and found I was right:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugEnableSSH.png"><img class="alignnone size-full wp-image-40" title="PogoPlug Enable SSH" src="http://robpickering.com/wp-content/uploads/2010/03/PogoPlugEnableSSH.png" alt="PogoPlug Enable SSH" width="480" height="120" /></a></p>
<p>After creating a Port Forwarding entry for port 54003 to my Pogoplug, I again checked the box and this time it took.</p>
<h3>Conclusion:</h3>
<p>Cloud Engines has an extremely popular device in the Pogoplug, I&#8217;m very happy they corrected this flaw.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/riVwufTtdak" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/03/cloudengines-plugs-security-flaw-in-pogoplug-with-firmware-2-1-12/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/03/cloudengines-plugs-security-flaw-in-pogoplug-with-firmware-2-1-12</feedburner:origLink></item>
		<item>
		<title>PXE Boot your Parallels VM</title>
		<link>http://feedproxy.google.com/~r/RobPickering/~3/TPJnCieD_b0/pxe-boot-your-parallels-vm-19</link>
		<comments>http://robpickering.com/2010/03/pxe-boot-your-parallels-vm-19#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:45:11 +0000</pubDate>
		<dc:creator>Rob Pickering</dc:creator>
				<category><![CDATA[Apple/Mac]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[parallels]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://robpickering.com/2010/03/pxe-boot-your-parallels-vm/</guid>
		<description><![CDATA[The Problem If you&#8217;re in a corporate environment you probably have Windows OS servers. Those servers probably use a protocol to boot machines without an OS called PXE (Preboot Execution Environment). Here at the office, this is how we load the Windows OS on all of our desktops / laptops. However, if you use Parallels [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2><a href="http://www.amazon.com/Parallels-Desktop-Upgrade-Windows-7/dp/B003M85RAA%3FSubscriptionId%3DAKIAIIE33VISUW746DYQ%26tag%3Dbaldusgateitempa%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB003M85RAA"><img src="http://ecx.images-amazon.com/images/I/51ApfceJE%2BL._SL160_.jpg" alt="" /></a></h2>
<h2>The Problem</h2>
<p>If you&#8217;re in a corporate environment you probably have Windows OS servers. Those servers probably use a protocol to boot machines without an OS called PXE (<a href="http://en.wikipedia.org/wiki/Preboot_Execution_Environment">Preboot Execution Environment</a>). Here at the office, this is how we load the Windows OS on all of our desktops / laptops.</p>
<p>However, if you use <a href="http://www.parallels.com/products/desktop/">Parallels Desktop</a> on a Macintosh, you may want to have the same corporate image of Windows running in your Parallels VM.</p>
<p>Unfortunately, Parallels doesn&#8217;t offer a &#8220;Network Boot&#8221; option by default. So, what&#8217;s a Macintosh guy living in a Windows world to do?</p>
<h2>The Solution</h2>
<p>First things first, let&#8217;s create a new Virtual Machine (VM) to use as our base:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE1.png"><img class="alignnone size-medium wp-image-43" title="ParallelsPXE1" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE1-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Leave the <strong>Installation CD/DVD</strong> set to the CD-ROM/DVD drive.</p>
<p>Next, select the <strong>Operating System Type</strong> you&#8217;ll eventually be booting:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE2.png"><img class="alignnone size-medium wp-image-44" title="ParallelsPXE2" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE2-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Select Custom as your <strong>Virtual Machine Type</strong>:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE3.png"><img class="alignnone size-medium wp-image-45" title="ParallelsPXE3" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE3-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Set your <strong>CPU and Memory Options</strong> to whatever works for your image (you can change them later):</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE4.png"><img class="alignnone size-medium wp-image-46" title="ParallelsPXE4" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE4-300x235.png" alt="" width="300" height="235" /></a></p>
<p>You shouldn&#8217;t have a pre-built image, so set <strong>Hard Disk Options</strong> to <strong>New image file</strong>:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE5.png"><img class="alignnone size-medium wp-image-47" title="ParallelsPXE5" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE5-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Set the <strong>New Virtual Disk</strong> to whatever you&#8217;d like (I use expanding disks):</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE6.png"><img class="alignnone size-medium wp-image-48" title="ParallelsPXE6" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE6-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Set <strong>Networking Type</strong> to <strong>Bridged Networking</strong> (PXE boot will not work through Shared Networking):</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE7.png"><img class="alignnone size-medium wp-image-49" title="ParallelsPXE7" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE7-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Set <strong>Network Adapter</strong> to an adapter that will be used for booting (I use <strong>Default Adapter</strong> to ensure it&#8217;s working):</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE8.png"><img class="alignnone size-medium wp-image-50" title="ParallelsPXE8" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE8-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Set <strong>Optimization Options</strong> to whatever you&#8217;d like:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE9.png"><img class="alignnone size-medium wp-image-51" title="ParallelsPXE9" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE9-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Name your installation and determine if you want to use <strong>Sharing</strong>:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE10.png"><img class="alignnone size-medium wp-image-52" title="ParallelsPXE10" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE10-300x235.png" alt="" width="300" height="235" /></a></p>
<p>On the <strong>Prepare to Install Operating System</strong> screen, select <strong>Start</strong> to boot:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE11.png"><img class="alignnone size-medium wp-image-53" title="ParallelsPXE11" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE11-300x235.png" alt="" width="300" height="235" /></a></p>
<p>You will now PXE boot your installation, remember to hit <strong>F12</strong> to get it to look for the PXE Server:</p>
<p><a href="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE12.png"><img class="alignnone size-medium wp-image-54" title="ParallelsPXE12" src="http://robpickering.com/wp-content/uploads/2010/03/ParallelsPXE12-300x253.png" alt="" width="300" height="253" /></a></p>
<p><strong>Note</strong>:  By default, on a Macintosh, F12 has been bound to Dashboard.  You can unbind it (which then allows you to actually type a F12 key to Parallels to get it to boot, by going into System Preferences | Expose &amp; Spaces | Expose and setting Dashboard <strong>HIde and show</strong> to a different key (or none).  Alternatively, you can just select F12 from the Devices | Keyboard | F12 menu choice in Parallels.</p>
<p>Parallels is now booting your network image, the rest is up to you.</p>
<img src="http://feeds.feedburner.com/~r/RobPickering/~4/TPJnCieD_b0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robpickering.com/2010/03/pxe-boot-your-parallels-vm-19/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://robpickering.com/2010/03/pxe-boot-your-parallels-vm-19</feedburner:origLink></item>
	</channel>
</rss>
