<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mark.bockenstedt.net &#187; Google</title>
	<atom:link href="http://mark.bockenstedt.net/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://mark.bockenstedt.net</link>
	<description>Tech Tips, How-To's, and Miscellaneous Geekery</description>
	<lastBuildDate>Tue, 19 May 2009 03:05:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Backup Your Gmail With&#8230; Gmail Backup</title>
		<link>http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/</link>
		<comments>http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 19:20:34 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=492</guid>
		<description><![CDATA[Yesterday&#8217;s article was written giving instructions on how to back up all your email accounts using some pretty simple techniques. In the end, Thunderbird was the agent that we used to grab all the email from our gateway account. Today, I&#8217;d like to show you how we can accomplish the same thing with a different [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday&#8217;s article was written giving instructions on how to back up all your email accounts using some pretty simple techniques. In the end, <a href="http://mozilla.org/thunderbird">Thunderbird</a> was the agent that we used to grab all the email from our gateway account. Today, I&#8217;d like to show you how we can accomplish the same thing with a different service called <a href="http://www.gmail-backup.com/">Gmail Backup</a>.</p>
<p>Rather than copy and paste all of <a href="http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/">yesterday&#8217;s article</a> to this one, please read that article and come back to this one. The only difference will be in step 3, which is the step in which we&#8217;re actually pulling email to the local machine.</p>
<p><span id="more-492"></span></p>
<p><strong>New Step 3</strong></p>
<p>The previous method used POP to download email. This step will use a different protocol called IMAP. Here&#8217;s the info you&#8217;ll need for <a href="http://mail.google.com/support/bin/answer.py?answer=77695">enabling IMAP</a> on your gateway account. Once you&#8217;ve got IMAP enabled, you need to download the Gmail Backup program, available for <a href="http://home.zcu.cz/~honzas/gmb/gmail-backup-0.104.exe">Windows</a> or <a href="http://www.gmail-backup.com/files/gmail-backup-0.104-linux.zip">Linux</a>. Once you have your client of choice, jump to the appropriate section below for instructions on setting up the client.</p>
<p><strong>Generic Setup<br />
</strong></p>
<p>For the most part, this software can be used uniformly across multiple platforms. If you want to use the GUI version in Linux, you need to install the WxPython packages (python-wxgtk2.8 in Ubuntu). You can also run it from the command line in any platform. With command line access comes the ability to script and schedule updates! The command line version may also work on OS X, but the GUI version doesn&#8217;t (yet).</p>
<p><strong>GUI Version</strong></p>
<p>I&#8217;ll just walk through this once, since it&#8217;s the same for both platforms. After installing (or extracting) Gmail Backup, launch the executable. If you&#8217;re on Linux, you want to run the gmail-backup-gui.sh file. You&#8217;ll be presented with a window like this one:</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/picture-4.png"><img class="alignnone size-medium wp-image-493" title="Gmail Backup GUI" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/picture-4-300x298.png" alt="" width="180" height="179" /></a></p>
<p>Fill in the first three text boxes in the GUI. If you only want to grab email for a date range, you can specify that in the Since Date and Before Date fields. This will allow you to grab email from only a certain timeframe, which makes it easier to archive your email by month.</p>
<p>Once you&#8217;ve got your archive, you can put it in your Dropbox or another safe location.</p>
<h3><strong>Linux &#8211; Command Line<br />
</strong></h3>
<p>I want to spend more time on this part because, let&#8217;s face it, I&#8217;m lazy and I like having things done for me. When run from the command line, the Linux variant of Gmail Backup can be be extremely powerful. You can easily set up Cron jobs to run the backup at a defined interval and use command line arguments to drill down to exactly what you want and where you want to place the backup.</p>
<p><strong>1. Install Dropbox (optional)</strong></p>
<p>If you plan on using Dropbox to store your backups, you can find Linux Dropbox packages <a href="https://www.getdropbox.com/install?os=linux">here</a>. When you&#8217;re run Dropbox and have defined a folder to use, you can proceed.</p>
<p><strong>2. Tweak Command<br />
</strong></p>
<p>In the folder you extracted from the Gmail Backup archive, you&#8217;ll find gmail-backup.sh. There are a number of command line arguments you can pass to this bash script. Whichever method you choose, you should consider appending <code>2&gt;&amp;1 /dev/null</code> at the end because the command will generate a considerable amount of output. I only recommend doing this AFTER you&#8217;ve run it successfully so you know that it&#8217;s doing what its supposed to.</p>
<p><strong>a. Cumulative Backup</strong></p>
<p>For a cumulative backup (i.e. everything), simply use the following.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>gmail-backup.sh backup <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>backup<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">dir</span> gateway<span style="color: #000000; font-weight: bold;">@</span>gmail.com password</pre></div></div>

<p><strong>b. Incremental Backup</strong></p>
<p>Here&#8217;s a shot of what the file structure should look like on your disk (this is all in my home directory).</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/picture-1.png"><img class="alignnone size-medium wp-image-494" title="Backup Folder Structure" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/picture-1.png" alt="" width="232" height="170" /></a></p>
<p>Incremental backups are more useful and easier to organize. Here&#8217;s the syntax for that.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>gmail-backup.sh backup <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>backup<span style="color: #000000; font-weight: bold;">/</span>dir<span style="color: #000000; font-weight: bold;">/</span>subdir gateway<span style="color: #000000; font-weight: bold;">@</span>gmail.com password <span style="color: #000000;">20081001</span> <span style="color: #000000;">20081031</span></pre></div></div>

<p>The last two arguments specify a start and end date for archiving. This example will archive everything from October 1, 2008, to October 31, 2008. But how do you calculate those dates in Bash, you ask?</p>
<p>You can use the &#8211;date parameter of the date command to get past and future dates. For instance, if you want to run a backup of your email for the last week (not including today, obviously), you can do something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>gmail-backup.sh backup <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>backup<span style="color: #000000; font-weight: bold;">/</span>dir<span style="color: #000000; font-weight: bold;">/</span>subdir gateway<span style="color: #000000; font-weight: bold;">@</span>gmail.com password <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;7 days ago&quot;</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d <span style="color: #660033;">--date</span>=<span style="color: #ff0000;">&quot;1 day ago&quot;</span><span style="color: #000000; font-weight: bold;">`</span></pre></div></div>

<p>I realize that&#8217;s pretty ugly, but it does the trick. If you&#8217;re ambitious enough to use a wrapper to get full control over directories, timeframes, etc., you can use something similar to <a href="http://mark.bockenstedt.net/wp-content/uploads/gmail-backup.txt">this</a>.</p>
<p><strong>3. Insert Into Cron</strong></p>
<p>This is the easy part &#8211; all you have to do is decide on a frequency and then make sure your $sd variable in the bash script matches that. If you run it every week, $sd should go back 7 days; if you run it every month, it should go back 1 month, etc. The command to run the script every Sunday at midnight:</p>
<pre>0 0 * * 7 cd /home/mark/email_backup; ./gmail-backup.sh;</pre>
<p><strong>Restoring Archives</strong></p>
<p>It&#8217;s important that I tell you that you can also restore backups made this way. However, I feel that it&#8217;s outside of the scope of this article. For info on that, check out the documentation page of Gmail Backup&#8217;s website.</p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/" title="How To Use Gmail as an Email Backup Service">How To Use Gmail as an Email Backup Service</a></li><li><a href="http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/" title="Google Alerts, RSS Style">Google Alerts, RSS Style</a></li><li><a href="http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/" title="Creating a Fluid-Based Google Reader App">Creating a Fluid-Based Google Reader App</a></li><li><a href="http://mark.bockenstedt.net/2008/09/22/laconica-xmpp-sms-oh-my/" title="Laconica, XMPP, SMS, Oh My!">Laconica, XMPP, SMS, Oh My!</a></li><li><a href="http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/" title="Noise Filtering on Google Search Results">Noise Filtering on Google Search Results</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Use Gmail as an Email Backup Service</title>
		<link>http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/</link>
		<comments>http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 20:05:47 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Computers & Tech]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=484</guid>
		<description><![CDATA[With recent horror stories of Google users getting locked out of their accounts floating around the Internet, it makes you reconsider putting so much trust in Google. A lot of people have all their eggs in the Google basket, but they could too be locked out at any given time. Gmail could also go down [...]]]></description>
			<content:encoded><![CDATA[<p>With recent horror stories of Google users getting <a href="http://www.chrisbrogan.com/when-google-owns-you/">locked out of their accounts</a> floating around the Internet, it makes you reconsider putting so much trust in Google. A lot of people have all their eggs in the Google basket, but they could too be locked out at any given time. Gmail could also go down or lose some of your email when you need it most. Here&#8217;s a method for archiving all your email to a local machine using a Gmail account and a POP3 email client.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/diagram.png"><img class="alignnone size-medium wp-image-491" title="Workflow" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/diagram-300x293.png" alt="" width="180" height="176" /></a></p>
<p><span id="more-484"></span></p>
<p><strong>1. Create a Gateway Email Account</strong></p>
<p>I call this a gateway account because all your archived email will pass through this account. If you&#8217;ve already got one, make sure you can dedicate it to this sole purpose. If not, head over to <a href="http://www.gmail.com/">Gmail</a> and sign up for an account. Once you&#8217;ve got the account set up, we can start forwarding email to it.</p>
<p><strong>2. Gathering Email</strong></p>
<p>There are two ways to accomplish this and both methods are outlined assuming you&#8217;re getting email from another Gmail account (Google Apps for Your Domain works this way too). Method A involves forwarding a copy of your email to your gateway account; Method B involves grabbing email using POP3 from your gateway account.</p>
<p><strong>a. Forwarding Email</strong></p>
<p>This is pretty straight forward. Go into each of the Gmail accounts you wish to forward email from and click on the Settings link in the upper right, then click on the <em>Forwarding and POP/IMAP</em> tab. Check the radio button next to &#8220;Forward a copy&#8221; and then enter the address for your gateway account. You&#8217;ll probably want to select <em>keep Gmail&#8217;s copy in the inbox</em>, especially if you intend on using the address. When you&#8217;re finished, click <em>Save Changes</em>.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-forwarding.jpg"><img class="alignnone size-full wp-image-487" title="Forward Settings" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-forwarding.jpg" alt="" width="500" height="77" /></a></p>
<p><strong>b. Popping Email</strong></p>
<p>Gmail has directions on <a href="http://mail.google.com/support/bin/answer.py?answer=13273&amp;topic=13293">enabling POP</a> for your archive accounts, which is just step one. The beauty of this method is that you can set this up for any account that supports POP, which is just about every email service on the planet. Even if you&#8217;re not using Gmail, you can employ similar techniques to get this working.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-pop.jpg"><img class="alignnone size-full wp-image-488" title="POP Settings" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-pop.jpg" alt="" width="400" height="88" /></a></p>
<p>Once you&#8217;ve enabled POP for your account, you can start pulling email from up to five accounts into your gateway account. Again, Google has directions on <a href="http://mail.google.com/support/bin/answer.py?answer=21289">enabling Mail Fetcher</a>, so check those out.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-pop-accounts.jpg"><img class="alignnone size-full wp-image-489" title="Gmail POP Accounts" src="http://mark.bockenstedt.net/wp-content/uploads/2008/11/gmail-pop-accounts.jpg" alt="" width="329" height="62" /></a></p>
<p><strong>3. Setting Up the Email Client</strong></p>
<p>There are a ton of applications you can use to do this, but I recommend using <a href="http://www.mozilla.com/thunderbird">Mozilla Thunderbird</a> (it&#8217;s free, fast, and just good). The basic idea is to set up Thunderbird to grab copies of email from your gateway account &#8211; and subsequently all other accounts funneled into it &#8211; and store them locally. Google already has good <a href="http://mail.google.com/support/bin/answer.py?answer=38343">directions</a> on how to do this, so I won&#8217;t reinvent the wheel.</p>
<p>Some tips for setting up your POP3 client are to make sure you enable POP for all mail and keep Gmail&#8217;s copy in the inbox (just in case). If you&#8217;re funneling high volumes of email into your gateway, you&#8217;ll want to keep an eye on your gateway&#8217;s disk quota so you don&#8217;t go over the limit. You could also tell Gmail to remove the server&#8217;s copy once you download it. After you do that, you can proceed with setting up Thunderbird.</p>
<p>FYI &#8211; You can also do this with <a href="http://mail.google.com/support/bin/answer.py?answer=13275">Apple Mail 3.0</a>, <a href="http://mail.google.com/support/bin/answer.py?answer=13276">Outlook Express</a>, <a href="http://mail.google.com/support/bin/answer.py?answer=13278">Outlook 2003</a>, <a href="http://mail.google.com/support/bin/answer.py?answer=86373">Outlook 2007</a>, or <a href="http://mail.google.com/support/bin/answer.py?answer=86382">Windows Mail</a>.</p>
<p><strong>4. Safely Storing the Archive</strong></p>
<p>The final step is to make sure you&#8217;re storing the archive somewhere safe. If you trust your computer, you can just leave it as is. But, the whole point of this article is having a backup, so I recommend putting a copy of the email archive somewhere safe, such as <a href="https://www.getdropbox.com/">Dropbox</a>. Any cloud storage solution will work and most offer around 2GB of storage, which should be plenty. You can also use an old-fashioned CD or thumb drive if you so desire.</p>
<p>To grab the mail archive from Thunderbird, you need to find your profile folder. This folder is generally a hidden folder, so you&#8217;ll need to unhide folders temporarily if you&#8217;ve got them hidden. The x characters below will be a random string, so don&#8217;t actually look for xxxxxxxx.default.</p>
<ul>
<li>In XP, go to C:\Documents and Settings\[User]\Application Data\Thunderbird\Profiles\xxxxxxxx.default\</li>
<li>In Vista, go to C:\Users\[User]\AppData\Local\Thunderbird\Profiles\xxxxxxxx.default\</li>
<li>In Leopard, go to ~/Library/Thunderbird/Profiles/xxxxxxxx.default/</li>
<li>In Ubuntu, go to ~/.thunderbird/xxxxxxxx.default/</li>
</ul>
<p>Your safest bet is to copy the entire profile folder to ensure you get everything. Once you&#8217;ve got that, throw it into your Dropbox in a folder named <em>email_backup</em> or something similarly indicative of its contents. Keep in mind the folders you&#8217;ll put into Dropbox are cumulative, meaning they&#8217;ll contain all the email that Thunderbird knows about.</p>
<p><strong>5. Automate</strong></p>
<p>Well, this isn&#8217;t really automation in the true spirit, but you can leave your Thunderbird running in the background grabbing email every 5 or so minutes. Then, you can set up automatic exports in Linux or OS X to copy your backup into your Dropbox. I don&#8217;t have advice on how to do that in anything other than Linux, so I&#8217;ll skip this step. Just be aware that it&#8217;s possible.</p>
<p><strong>All your email are belong to you&#8230;</strong></p>
<p>That&#8217;s it, 5 simple steps to backing up your email. Look for an article soon on importing email to Thunderbird from this backup. I&#8217;ll also be covering a similar solution using <a href="http://www.gmail-backup.com/">Gmail Backup</a> which will use a lot of the same techniques, but will omit the use of Thunderbird.</p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/" title="Backup Your Gmail With&#8230; Gmail Backup">Backup Your Gmail With&#8230; Gmail Backup</a></li><li><a href="http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/" title="Google Alerts, RSS Style">Google Alerts, RSS Style</a></li><li><a href="http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/" title="Creating a Fluid-Based Google Reader App">Creating a Fluid-Based Google Reader App</a></li><li><a href="http://mark.bockenstedt.net/2008/09/22/laconica-xmpp-sms-oh-my/" title="Laconica, XMPP, SMS, Oh My!">Laconica, XMPP, SMS, Oh My!</a></li><li><a href="http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/" title="Noise Filtering on Google Search Results">Noise Filtering on Google Search Results</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Alerts, RSS Style</title>
		<link>http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/</link>
		<comments>http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:55:54 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=478</guid>
		<description><![CDATA[Yesterday Google allowed users to subscribe to their alerts via an RSS feed instead of email. I prefer this option as my RSS reader is open almost all day and I like to know about things as they happen. Sure, that was always available for the email notice too, but RSS is so much easier. [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday Google allowed users to subscribe to their alerts via an RSS feed instead of email. I prefer this option as my RSS reader is open almost all day and I like to know about things as they happen. Sure, that was always available for the email notice too, but RSS is so much easier.</p>
<p>To get an alert through RSS, head over to <a href="http://www.google.com/alerts">google.com/alerts</a> and set up (or change) an alert&#8217;s &#8220;deliver to&#8221; menu to feed.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/10/alerts-feed.jpg"><img class="alignnone size-full wp-image-480" title="Alerts RSS Menu" src="http://mark.bockenstedt.net/wp-content/uploads/2008/10/alerts-feed.jpg" alt="" width="500" height="34" /></a></p>
<p>The frequency menu will go away because RSS is delivered as it happens. Here&#8217;s what you should see if you se it up correctly.</p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/10/google-alerts.jpg"><img class="alignnone size-medium wp-image-481" title="Alerts Feed" src="http://mark.bockenstedt.net/wp-content/uploads/2008/10/google-alerts-300x36.jpg" alt="" width="300" height="36" /></a></p>
<p>You&#8217;ll be given an RSS link, which you can copy and paste into your reader of choice (or add it straight to Google Reader). After I heard about this yesterday, my alerts went from three to about 10. If you&#8217;re a blogger not already using Alerts, you really should set it up. It only takes a few minutes and it&#8217;ll let you know whenever your keywords are mentioned elsewhere. Alerts you should set up include your name, your blog&#8217;s name, your Twitter handle, etc.</p>
<p>As always, <a href="http://www.readwriteweb.com/">ReadWriteWeb</a> has a fantastic article on using these new <a href="http://www.readwriteweb.com/archives/how_to_use_the_new_google_web_feeds.php">feeds with Yahoo! Pipes</a> to filter out duplicates and do other fancy things, so check that out.</p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/11/17/how-to-move-copy-in-leopard-with-drag-and-drop/" title="How to Move, Copy in Leopard with Drag and Drop">How to Move, Copy in Leopard with Drag and Drop</a></li><li><a href="http://mark.bockenstedt.net/2008/11/13/quiet-your-rock-band-drums-for-cheap/" title="Quiet Your Rock Band Drums for Cheap">Quiet Your Rock Band Drums for Cheap</a></li><li><a href="http://mark.bockenstedt.net/2008/11/12/disable-bonjour-in-cyberduck/" title="Disable Bonjour in Cyberduck">Disable Bonjour in Cyberduck</a></li><li><a href="http://mark.bockenstedt.net/2008/11/11/diy-craigslist-super-feed/" title="DIY Craigslist Super Feed">DIY Craigslist Super Feed</a></li><li><a href="http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/" title="Backup Your Gmail With&#8230; Gmail Backup">Backup Your Gmail With&#8230; Gmail Backup</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Fluid-Based Google Reader App</title>
		<link>http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/</link>
		<comments>http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 14:44:55 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dock]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Growl]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Reader]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=403</guid>
		<description><![CDATA[For Mac OS X: I&#8217;ve been looking for a solution to feed my addiction to Google Reader without having to go the the website every time. There&#8217;s an AIR application called ReadAIR, but I didn&#8217;t like it very much. I really like the usability of the Reader interface, so I would be hard-pressed to use [...]]]></description>
			<content:encoded><![CDATA[<p><em>For Mac OS X:</em> I&#8217;ve been looking for a solution to feed my addiction to Google Reader without having to go the the website every time. There&#8217;s an AIR application called <a href="http://code.google.com/p/readair/">ReadAIR</a>, but I didn&#8217;t like it very much. I really like the usability of the Reader interface, so I would be hard-pressed to use anything else.</p>
<p>I found a solution over on <a href="http://flingmedia.com/articles/making-google-reader-for-fluid/">FlingMedia</a> that allowed me to use <a href="http://fluidapp.com/">Fluid</a> to create an SSB (Site Specific Browser) for Google Reader. The end result is that I have a dedicated &#8220;application&#8221; that does Reader and only Reader. I decided to install the theme as described in the article and am pleased with the end result.</p>
<p>There were a few modifications I made to the CSS for the Fluid app. For everything else, you can get directions from the article on FlingMedia. If you want to use my CSS modifications, you can get them <a href="http://mark.bockenstedt.net/greader/greader-fluid.css">here</a>. Go ahead and modify them to your needs if you so desire. Since Fluid also supports user scripts, you can also use JavaScript to customize the page if you so desire. If you want to get really fancy, you can even add Growl notifications and Dock badge updates to tell you when new items arrive.</p>
<p><strong>Screenshot</strong></p>
<p><a href="http://mark.bockenstedt.net/wp-content/uploads/2008/09/fluid-reader.jpg"><img class="alignnone size-medium wp-image-405" title="fluid-reader" src="http://mark.bockenstedt.net/wp-content/uploads/2008/09/fluid-reader-300x164.jpg" alt="" width="300" height="164" /></a></p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/10/21/vmware-fusion-vms-as-apps/" title="VMware Fusion VMs as Apps">VMware Fusion VMs as Apps</a></li><li><a href="http://mark.bockenstedt.net/2008/10/17/virtualbox-icons-for-ubuntu-windows/" title="VirtualBox Icons for Ubuntu, Windows">VirtualBox Icons for Ubuntu, Windows</a></li><li><a href="http://mark.bockenstedt.net/2008/10/13/create-virtualbox-vms-as-apps/" title="Create VirtualBox VMs as Apps">Create VirtualBox VMs as Apps</a></li><li><a href="http://mark.bockenstedt.net/2008/07/24/optimize-google-reader-for-wide-screens/" title="Optimize Google Reader for Wide Screens">Optimize Google Reader for Wide Screens</a></li><li><a href="http://mark.bockenstedt.net/2008/11/17/how-to-move-copy-in-leopard-with-drag-and-drop/" title="How to Move, Copy in Leopard with Drag and Drop">How to Move, Copy in Leopard with Drag and Drop</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noise Filtering on Google Search Results</title>
		<link>http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/</link>
		<comments>http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 16:00:22 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=352</guid>
		<description><![CDATA[Firefox with Greasemonkey: If you&#8217;ve ever searched for your website content on Google (and chances are you have), you&#8217;ll agree with me that it can be difficult to find your material amongst the results. Sometimes I search for my posts and see where they rank in specific queries to Google. Usually it takes me a [...]]]></description>
			<content:encoded><![CDATA[<p><em>Firefox with Greasemonkey</em>: If you&#8217;ve ever searched for your website content on Google (and chances are you have), you&#8217;ll agree with me that it can be difficult to find your material amongst the results. Sometimes I search for my posts and see where they rank in specific queries to Google. Usually it takes me a while to find it because I&#8217;m impatient and skip over the link accidentally.</p>
<p>Off to trusty ol&#8217; Greasemonkey we go for a quick script to run through each search result on the page and see if it points to my site (or has my site&#8217;s URL in it). If it does, it gets highlighted with a pretty orange box to make it stand out.</p>
<p><img class="alignnone size-full wp-image-353" title="gen_search" src="http://mark.bockenstedt.net/wp-content/uploads/2008/08/gen_search.jpg" alt="" width="500" height="98" /></p>
<p>I also wanted to know if my first and last name were mentioned in any of the descriptions on the current page. These results get highlighted with a red box.</p>
<p><img class="alignnone size-full wp-image-355" title="gen_search1" src="http://mark.bockenstedt.net/wp-content/uploads/2008/08/gen_search1.jpg" alt="" width="500" height="235" /></p>
<p>Some quick, easy noise filtration on Google&#8217;s results makes life much easier. Here&#8217;s the code for the script (feel free to use and modify it as you see fit).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ==UserScript==</span>
<span style="color: #006600; font-style: italic;">// @name           My Google Results</span>
<span style="color: #006600; font-style: italic;">// @namespace      google.com</span>
<span style="color: #006600; font-style: italic;">// @include        http://www.google.com/search?*</span>
<span style="color: #006600; font-style: italic;">// ==/UserScript==</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Enter the name of the URL you wish to find - for multiple sites, separate urls by the vertical bar character |</span>
<span style="color: #006600; font-style: italic;">// You don't need to enter the full url, just the domain is fine. (eg google.com)</span>
<span style="color: #003366; font-weight: bold;">var</span> find_site <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/mark.bockenstedt.net/i</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// If you wish to regex your full name also, enter it here</span>
<span style="color: #006600; font-style: italic;">// Otherwise, comment out the next two lines</span>
<span style="color: #003366; font-weight: bold;">var</span> first_name <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/mark/i</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> last_name <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/bockenstedt/i</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Get a list of all li elements</span>
<span style="color: #003366; font-weight: bold;">var</span> lis <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;li&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> lis.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">// the li we're working with</span>
	<span style="color: #003366; font-weight: bold;">var</span> li <span style="color: #339933;">=</span> lis<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// for search results, the element has a class of g</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>li.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;g&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">// get the anchor and the result text</span>
		<span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> li.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> li.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// regex match the anchor href</span>
		<span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> a.<span style="color: #660066;">href</span>.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span>find_site<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>result <span style="color: #339933;">!=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			li.<span style="color: #660066;">style</span>.<span style="color: #660066;">border</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;2px solid orange&quot;</span><span style="color: #339933;">;</span>
			li.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;600px&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #006600; font-style: italic;">// regex match the name</span>
		<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>first_name <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> last_name<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>d.<span style="color: #660066;">innerHTML</span>.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span>first_name<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> d.<span style="color: #660066;">innerHTML</span>.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span>last_name<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				li.<span style="color: #660066;">style</span>.<span style="color: #660066;">border</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;2px solid red&quot;</span><span style="color: #339933;">;</span>
				li.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;600px&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/07/31/5-firefox-addons-i-cant-live-without/" title="5 Firefox Addons I Can&#8217;t Live Without">5 Firefox Addons I Can&#8217;t Live Without</a></li><li><a href="http://mark.bockenstedt.net/2008/07/24/optimize-google-reader-for-wide-screens/" title="Optimize Google Reader for Wide Screens">Optimize Google Reader for Wide Screens</a></li><li><a href="http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/" title="Backup Your Gmail With&#8230; Gmail Backup">Backup Your Gmail With&#8230; Gmail Backup</a></li><li><a href="http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/" title="How To Use Gmail as an Email Backup Service">How To Use Gmail as an Email Backup Service</a></li><li><a href="http://mark.bockenstedt.net/2008/10/31/google-alerts-rss-style/" title="Google Alerts, RSS Style">Google Alerts, RSS Style</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimize Google Reader for Wide Screens</title>
		<link>http://mark.bockenstedt.net/2008/07/24/optimize-google-reader-for-wide-screens/</link>
		<comments>http://mark.bockenstedt.net/2008/07/24/optimize-google-reader-for-wide-screens/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 16:35:56 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Addons]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Reader]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=190</guid>
		<description><![CDATA[Firefox only I recently heard (via Lifehacker) of this GreaseMonkey script that will optimize your Google Reader window to fill 100% of the available horizontal space. This works not only for wide screens, but for standard screens as well. In my experience, Reader doesn&#8217;t maximize its horizontal space by default, but this script modifies the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Firefox only</em></p>
<p>I recently heard (via <a href="http://lifehacker.com/399109/make-google-reader-widescreen+friendly">Lifehacker</a>) of this <a href="http://greasespot.net">GreaseMonkey</a> script that will optimize your Google Reader window to fill 100% of the available horizontal space.  This works not only for wide screens, but for standard screens as well.  In my experience, Reader doesn&#8217;t maximize its horizontal space by default, but this script modifies the style for each article to fill that space.</p>
<p>To use this script, you must have the <a href="https://addons.mozilla.org/en-US/firefox/addon/748">GreaseMonkey add-on</a> installed.  Download the script <a href="http://userscripts.org/scripts/show/6415">here</a> and add it to GreaseMonkey.  Then enjoy the pleasure of reduced vertical scrolling.</p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/09/23/creating-a-fluid-based-google-reader-app/" title="Creating a Fluid-Based Google Reader App">Creating a Fluid-Based Google Reader App</a></li><li><a href="http://mark.bockenstedt.net/2008/08/24/noise-filtering-on-google-search-results/" title="Noise Filtering on Google Search Results">Noise Filtering on Google Search Results</a></li><li><a href="http://mark.bockenstedt.net/2008/07/31/5-firefox-addons-i-cant-live-without/" title="5 Firefox Addons I Can&#8217;t Live Without">5 Firefox Addons I Can&#8217;t Live Without</a></li><li><a href="http://mark.bockenstedt.net/2008/11/05/backup-your-gmail-with-gmail-backup/" title="Backup Your Gmail With&#8230; Gmail Backup">Backup Your Gmail With&#8230; Gmail Backup</a></li><li><a href="http://mark.bockenstedt.net/2008/11/04/how-to-use-gmail-as-an-email-backup-service/" title="How To Use Gmail as an Email Backup Service">How To Use Gmail as an Email Backup Service</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/07/24/optimize-google-reader-for-wide-screens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Stat Trackers</title>
		<link>http://mark.bockenstedt.net/2008/07/18/website-stat-trackers/</link>
		<comments>http://mark.bockenstedt.net/2008/07/18/website-stat-trackers/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 21:17:14 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mark.bockenstedt.net/?p=144</guid>
		<description><![CDATA[Everyone who runs a website should be keeping track of the number of visitors they have. There are many tools that allows people to do this. WordPress, for example, has a built-in tool that gives you information such as page views, referrers, top posts, clicks (links clicked on your blog), and incoming links. Google Analytics [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone who runs a website should be keeping track of the number of visitors they have.  There are many tools that allows people to do this.  <a href="http://wordpress.org/">WordPress</a>, for example, has a built-in tool that gives you information such as page views, referrers, top posts, clicks (links clicked on your blog), and incoming links.  <a href="http://www.google.com/analytics">Google Analytics</a> also has a tool that you embed into the body of your pages that sends a request over to their trackers.  Google Analytics is much more in-depth than WordPress is, and tracks things such as visitor trending, visitor loyalty, page views, visitors, unique visitors, absolute unique visitors, where hits came from, and much more.  It also provides a look into the client&#8217;s machine, providing information on which browser they used, what speed their connection was, what OS they used, what version of Flash they have, etc.</p>
<p>It&#8217;s somewhat scary to see the amount of information that Google Analytics provides.  For the hardcore web admins, it&#8217;s great to know exactly what your readers are using so you can customize your site to what the readers use.  All in all, it provides web admins with all the information they need to know about their site and the people viewing it.</p>
<p>Since I have two stat trackers running, it&#8217;s interesting to compare the numbers between the two.  For instance, WordPress reports my site had 934 page views on July 17.  Google reports only 790 page views.  The same is to be said with top post views; WordPress reports 694 hits on <a href="http://mark.bockenstedt.net/?p=117" target="_blank">this article</a>, while Google only reports 660.  So what gives?  Why are the numbers so different?</p>
<p>I assumed whatever stat tracker I installed on my site would be accurate.  For as long as this site has been up, I&#8217;ve taken Google&#8217;s word as bond.  Now I&#8217;ve been introduced to a level of uncertainty that I can&#8217;t explain.  I will admit that for the most part, I&#8217;m micro-managing.  After all, they&#8217;re just numbers, right?  Wrong.  I&#8217;ve seen the statistics and can tell which types of articles are more popular, and I try to write posts about that so people will come back and enjoy the site more.  Stats are a driving force not just in blogging, but in the world as a whole.</p>
<p>So now I&#8217;m just confused.  I feel a little like Luke Skywalker who&#8217;s trying to be convinced by Darth Vader to join the Dark Side (Google Analytics).  Obi-Wan is telling me to trust my instincts and use The Force (WordPress Stats).  OK, maybe I&#8217;m not as cool as Luke, nor is Vader really trying to woo me.  And Obi-Wan, he&#8217;s just there because my imagination runs wild.  Maybe I should seek the aid of Yoda, the stat tracker that is wise beyond its years and knows the truth.  So, it&#8217;s off to Dagobah I go to find just that.</p>
<h3  class="related_post_title"><h2>Related Posts</h2></h3><ul class="related_post"><li><a href="http://mark.bockenstedt.net/2008/12/11/wordpress-gets-admin-facelift/" title="WordPress Gets Admin Facelift">WordPress Gets Admin Facelift</a></li><li><a href="http://mark.bockenstedt.net/2008/12/03/what-happens-when-wordpress-stats-fails/" title="What Happens When WordPress Stats Fails">What Happens When WordPress Stats Fails</a></li><li><a href="http://mark.bockenstedt.net/2008/11/13/more-mu-updates-coming/" title="More mu Updates Coming">More mu Updates Coming</a></li><li><a href="http://mark.bockenstedt.net/2008/11/12/wptouch-skins-your-blog-for-iphone-look-and-feel/" title="WPTouch Skins Your Blog for iPhone Look and Feel">WPTouch Skins Your Blog for iPhone Look and Feel</a></li><li><a href="http://mark.bockenstedt.net/2008/11/07/mu-updated/" title="mu Updated">mu Updated</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mark.bockenstedt.net/2008/07/18/website-stat-trackers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
