<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">

<channel>
<title>Hackszine: Google</title>
<link>http://www.hackszine.com/blog/archive/google/</link>
<description>O&apos;Reilly&apos;s Hacks Series reclaims the term &apos;hacking&apos; for the good guys--innovators who explore and experiment, unearth shortcuts, create useful tools, and come up with fun things to try on their own</description>
<language>en-us</language>
<copyright>Copyright 2008, O'Reilly Media, Inc.</copyright>
<lastBuildDate>Wed, 24 Sep 2008 22:41:07 -0800</lastBuildDate>
<pubDate>Fri, 10 Oct 2008 11:52:05 -0800</pubDate>
<generator>http://www.movabletype.org/?v=4.1</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<itunes:author>O'Reilly Media, Inc.</itunes:author>
<itunes:subtitle>Clever solutions to interesting problems.</itunes:subtitle>
<itunes:summary>Hackszine Podcast</itunes:summary>
<itunes:owner>
<itunes:email>webmaster@makezine.com</itunes:email>
</itunes:owner>
<category>Technology</category>
<itunes:category text="Technology">
</itunes:category>
<itunes:category text="Technology">
  <itunes:category text="Gadgets" />
</itunes:category>
<itunes:category text="Games &amp; Hobbies" >
</itunes:category>
<itunes:category text="Science">
</itunes:category>
<itunes:image href="http://makezine.com/images/hackszine/rss_icon.jpg" />
<itunes:explicit>no</itunes:explicit>


<item>
<title>Google Gadget that monitors Arduino sensor data</title>
<itunes:summary> Matthew Karas sent us a hack for creating an iGoogle homepage interface for physical measurement devices. Using an Arduino and a python script, he found a clever way to send real-time sensor data to a Google Gadget, and it...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="arduino_gadget_20080925.jpg" src="http://www.hackszine.com/arduino_gadget_20080925.jpg" width="600" height="471" class="mt-image-none" style="" /></span></p>

<p>Matthew Karas sent us a hack for creating an iGoogle homepage interface for physical measurement devices. Using an Arduino and a python script, he found a clever way to send real-time sensor data to a Google Gadget, and it doesn't even require having a web server.</p>

<blockquote>I managed to hack up an arduino to upload data to google docs in real time.  I then created a real time data gadget and sent that to google home page.  That way I can monitor a sensor network from anywhere, with minimal cash outlay.  I don't need to have a web host.  I did it in two evenings.</blockquote>

<p>The python code can run on a laptop connected the the Arduino. This script reads sensor data from the device and then posts it to a Google Spreadsheet using the python gdata API.  From there, you can easily use the spreadsheet as a datasource for a Google Gadget which is then embedded in iGoogle or wherever you want to view your sensor data.</p>

<p>He's posted the necessary code and instructions for making this work. You should be able to customize it for your own projects and get something like this up and running in no time flat.</p>

<p><a href="http://lucidguppy.googlepages.com/dataloggeridea">Real Time Arduino Data To iGoogle Homepage</a><br />
<a href="http://code.google.com/p/gdata-python-client/">gdata - Google Data Python API</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/09/google_gadget_that_monitors_ar.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/09/google_gadget_that_monitors_ar.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/09/google_gadget_that_monitors_ar.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/09/google_gadget_that_monitors_ar.html?CMP=OTC-7G2N43923558</guid>
<category>Electronics</category>
<pubDate>Wed, 24 Sep 2008 22:41:07 -0800</pubDate>

</item>

<item>
<title>Run Google Chrome in Linux with Wine</title>
<itunes:summary> If you&apos;re waiting impatiently for the native Linux release of Chrome, check out the instructions by Romeo Adrian Cioaba, who was able to get Chrome running on his Ubuntu box using Wine. The latest Wine release (1.1.4) contains a...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="chrome_linux_20080908.jpg" src="http://www.hackszine.com/chrome_linux_20080908.jpg" width="600" height="409" class="mt-image-none" style="" /></span></p>

<p>If you're waiting impatiently for the native Linux release of Chrome, check out the instructions by Romeo Adrian Cioaba, who was able to get Chrome running on his Ubuntu box using Wine. The latest Wine release (1.1.4) contains a fix that corrects some rendering problems with the application, so make sure to upgrade first. </p>

<p>Most of the application is functional, except for HTTPS support. Unfortunately, <a href="http://wiki.winehq.org/Secur32">according to the Wine wiki</a>, this is because SSL support has only been stubbed in at this point. I can't say for sure if it'd work, but you could try copying the native Windows secur32.dll and crypt32.dll files into your Wine installation (assuming you can get your hands on them). There's a chance that there might be a few other incomplete libraries that you'll run into along this path, but if you get it to work, let us know.</p>

<p><a href="http://www.myscienceisbetter.info/2008/09/install-google-chrome-on-linux-using-wine.html">Install Google Chrome on Linux using wine</a> [via <a href="http://lifehacker.com/5045334/run-google-chrome-in-ubuntu-with-wine">Lifehacker</a>]</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/09/run_google_chrome_in_linux_wit.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/09/run_google_chrome_in_linux_wit.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/09/run_google_chrome_in_linux_wit.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/09/run_google_chrome_in_linux_wit.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Mon, 08 Sep 2008 20:43:18 -0800</pubDate>

</item>

<item>
<title>Use iPhone version of Google Reader on your Mac</title>
<itunes:summary> I&apos;m fond of iPhone-specific versions of web sites; they usually have just the minimal set of features you need and are very easy to use. Adam Darowski just posted a great way to get the iPhone version of Google...</itunes:summary>
<description>
<![CDATA[<p><img src="http://www.hackszine.com/upload/2008/08/use_iphone_version_of_google_r/googlereader_iphone_fluid.png" width="463" height="409" alt="iPhone version of Google Reader on a Mac"/><br />
I'm fond of iPhone-specific versions of web sites; they usually have just the minimal set of features you need and are very easy to use. Adam Darowski just posted a great way to get the iPhone version of Google Reader running on a Mac as a desktop app:<br />
<blockquote>Do you find yourself checking feeds on your iPhone and thinking, "Man... I wish Google Reader looked like this on my computer, too." I have. Using Fluid.app and a bit of user agent trickery, you can make it happen...</blockquote><br />
Read all about it; thanks to Adam's instructions, you can get this going yourself in minutes. <a href="http://www.darowski.com/tracesofinspiration/2008/08/14/using-fluidapp-to-bring-google-reader-for-iphone-to-your-desktop/">Using Fluid.app to Bring Google Reader for iPhone to your Desktop</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/use_iphone_version_of_google_r.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/use_iphone_version_of_google_r.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/08/use_iphone_version_of_google_r.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/08/use_iphone_version_of_google_r.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Sun, 17 Aug 2008 13:16:30 -0800</pubDate>

</item>

<item>
<title>10 Google Apps Tips</title>
<itunes:summary><![CDATA[&nbsp; 1. Create special email addresses to better filter your mail This one's an oldie but goodie. If you're using Gmail, you can append "+something" to your name in your email address to better sort incoming mails. For instance, if...]]></itunes:summary>
<description>
<![CDATA[<p>&nbsp;</p>
<big><p><strong>1. Create special email addresses to better filter your mail</strong></p></big>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="create-a-filter.png" src="http://www.hackszine.com/create-a-filter.png" width="402" height="236" class="mt-image-none" style="" /></span></p>

<p>This one's an oldie but goodie. If you're using <a href="http://gmail.com" id="p-m8">Gmail</a>, you can append "+something" to your name in your email address to better sort incoming mails. For instance, if your name is John Doe and you wanted to separate work mail from family mail, you can use "john.doe+work@gmail.com" and "john.doe+family@gmail.com"... and then create a filter in Gmail to differently label incoming mail to these two addresses. Just use the Create a Filter link in Gmail, and enter your customized email in the "To:" field.</p>

<p>On that note, you can also remove the dot in the name of your email -- as in "johndoe@gmail.com" -- and messages still reach you fine. (On yet another note, is there anybody out there who's actually really named John Doe? He must get an awful lot of spam.)</p>

<p>&nbsp;</p>
<big><p><strong>2. Check the online discussion of your blog posts</strong></p></big>

<p>If you have a blog, you might want to check who talks about the things you post. There are many ways to go about this, and one involves <a href="http://blogsearch.google.com" id="u-ia">Google Blog Search</a>. Just type the full URL of your blog post in question -- say, http://example.com/archive/102.html -- and hit the search button (you can also use the "link:" operator preceding your URL, though Google adds that one automatically for you). To the right hand side you can now sort the results by date, and you'll see the latest other blogs linking to yours.</p>

<p>As another interesting way to keep updated on discussions circling around your blog, company or person, you can also use <a href="http://www.google.com/alerts" id="s5xv">Google News Alerts</a> (for extra usefulness, include spelling errors in alerts you set up -- like ["acme inc" OR "amce inc"]).</p>

<p>&nbsp;</p>
<big><p><strong>3. Prepare to be moved away from Google Page Creator</strong></p></big>

<p>This is more of a warning than a tip... if you're currently using <a href="http://pages.google.com" id="zzg4">Google Page Creator</a> as a website creation tool, note that Google on their help page for this service announced they're slowly closing it down! Instead of Google Page Creator, Google say they shifted their focus on the newer Google Sites, and new sign-ups for Page Creator are not accepted anymore. Google <a href="http://pages.google.com/-/about.html" id="kuwc">writes</a>, "If you are currently a Page Creator user, you can continue to use Page Creator and your pages will automatically be transitioned to Google Sites later this year. We are committed to making this transition as smooth and easy as possible, and we will post more details as we get closer to the transition time. You can also manually move your web pages from Page Creator to Google Sites or other service providers at any time."</p>

<p>&nbsp;</p>
<big><p><strong>4. Get a replacement for Google Answers</strong></p></big>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="uclue.png" src="http://www.hackszine.com/uclue.png" width="402" height="216" class="mt-image-none" style="" /></span></p>

<p>Have you ever had a chance to see the Google Answers service while it was still active? Google shut it down for actual usage a while ago, but while it was live, it was a nice service to ask a paid question and then have a researcher get back with an answer to you (somewhat similar to Yahoo Answers, but in higher quality... if I may say so as an ex-Google Answers Researcher in 2002). However, there's a cool replacement for this service: <a href="http://uclue.com" id="rd3j">Uclue</a>. In fact, they have nothing but ex-Google Answers Researchers on board; I'm using that site quite a bit myself.</p>

<p>&nbsp;</p>
<big><p><strong>5. Create a quick link to your unread mails</strong></p></big>

<p>You might have heard of the <a href="http://blogoscoped.com/archive/2008-06-06-n28.html">Gmail Labs</a> which allows you to opt-in to special, prototypical features. I just wanted to mention my favorite experimental feature of them all: a Quick Link to your unread mail. Now first of all, let me say there's several user types in Gmail (as Gmail designer Kevin Fox <a href="http://blogoscoped.com/archive/2008-06-02-n56.html" id="l83i">explained</a>), and if you're the kind of Gmail user who archives mails as soon as they're read, you won't need the following tip. If, however, you let everything flow into your inbox but you don't like to archive read mails, creating an "Unread mail" quick link comes in handy.</p>

<p>To do so, just click on Settings on top and switch to the Labs tab. Check the "Enable" box next to Quick Links. Approve by hitting Save Changes at the bottom. Now search Gmail for [in:inbox is:unread] (without the square brackets) and in the Quick Links box appearing to the left side, click Add Quick Link. Enter "Unread" for the title and approve the dialog. Next time you want to see all your unread mails in one go, just click the Unread link to the left!</p>

<p>&nbsp;</p>
<big><p><strong>6. Automatically expand spreadsheet sets</strong></p></big>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="magic-sets.png" src="http://www.hackszine.com/magic-sets.png" width="402" height="260" class="mt-image-none" style="" /></span></p>

<p>Are you using <a href="http://docs.google.com" id="i43g">Google Spreadsheets</a> as your web-based spreadsheet editor alternative to desktop programs like Excel? If you do, give the "magic" auto-completions a try. To understand what this does, enter "Superman" in the top left cell, and enter "Batman" and "Wonder Woman" in the cells below. Now select all three cells you created. Hold down the Ctrl key, and drag the bottom right corner of the selection downwards over the other cells. Notice something? Your list is now continued with entries like "spider man", "x men", "green lantern". (Admittedly, not all continuations make sense -- "star wars"? -- but where would be the fun in magic without surprises.)</p>

<p>What's happening here? Well, the Google Labs have a member called <a href="http://labs.google.com/sets" id="qrma">Google Sets</a>. (Being from 2002, it's the oldest member still listed in the Labs, too.) This tool automatically expands a given set of items. Like "Batman" and "Superman", but also anything else that could be thought of as a group. For instance, entering "google" and "yahoo" also shows "altavista", "lycos" and "msn". Entering "tom cruise" and "nicolas cage" yields "brad pitt", "angelina jolie", "johnny depp" and others.</p>

<p>&nbsp;</p>
<big><p><strong>7. See the images of a website</strong></p></big>

<p>Do you want to get to see only the images of a particular website? You can, by using Google Image Search in combination with the "site:" operator. To see all images Google crawled on Makezine.com, for instance, you'd search Google Images for <em><a href="http://images.google.com/images?hl=en&amp;q=site%3Amakezine.com&amp;btnG=Search+Images&amp;gbv=2" id="n6d4">site:makezine.com</a></em>. This returns around 44,800 images, though as things go, Google will restrict you to look at around the first 1000 pics. Note that you can combine this search type with other keywords, too -- like the keyword "screenshot" -- and you can also mix it with other settings from the advanced image search page... like by checking the "faces" box to show faces only (with 117 results for that one on Makezine.com).</p>

<p>&nbsp;</p>
<big><p><strong>8. Use the Google Toolbar to translate a document</strong></p></big>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="translate.png" src="http://www.hackszine.com/translate.png" width="402" height="200" class="mt-image-none" style="" /></span></p>

<p>I like my Firefox browser relatively uncluttered but there's one or two features I don't want to miss... like the Google Toolbar's "Translate Page into English" functionality. You can find it as part of the <a href="http://www.google.com/tools/firefox/toolbar/FT3/intl/en/index.html" id="amh4">Google Toolbar for Firefox</a>. On any page you're on, you can click the arrow icon next to the translate button, and pick Translate Page into English. The translated page will load in place of the original one after some seconds. Not only is this approach quite quick, it's also useful if you're not sure which source language the page in question is held in (like when you check discussions in other blogs by using tip #2 above).</p>

<p>&nbsp;</p>
<big><p><strong>9. Search through several sites at once</strong></p></big>

<p>If you often search through a set of sites to discover something, creating a Custom Search Engine can be helpful. Already in a normal Google search, you can enter something like [site:makezine.com google] to get all Make posts containing the keyword "google". But what if you want to have results on that keyword from <em>all</em> O'Reilly blogs?</p>

<p>First, let's assemble a list of some O'Reilly blogs. Open up <a href="http://www.oreillynet.com/blogs/">oreilly.net/blogs/</a> and note down the URLs of the sites printed in the footer, like http://radar.oreilly.com, http://ignite.oreilly.com, http://craftzine.com, http://makezine.com and http://hackszine.com. Now jump to the <a href="http://www.google.com/coop/cse/" id="g9jy">Google Custom Search Engine service</a> and hit the "Create..." button. Name your search engine -- like "O'Reilly Search" -- and provide something for the other fields as well. Leave the "Search engine keywords" field empty, but in the "Sites to search" field, enter the URLs you assembled above one by one. Hit the Next, and then the Finish button, and you're done. You can now visit your Google Custom Search Engine's homepage (as listed in the dashboard) and enter a keyword as usual -- you'll see the results will be restricted to those hosted at the sites you previously provided.</p>

<p>&nbsp;</p>
<big><p><strong>10. Find online content to re-use</strong></p></big>

<p>Do you want to find content on the web you can re-use on your blog, homepage, and other places? The Creative Commons license comes to the rescue. Creative Commons is an effort to bring a more relaxed copyright system to people in order to better share and re-use content (check out <a href="http://creativecommons.org" id="e2rc">their homepage</a> to see how you can license your content as Creative Commons).</p>

<p>To search for content using this license only, skip Google's normal search box and go right to their <a href="http://www.google.com/advanced_search?hl=en" id="olz5">Advanced Search</a>, as linked from the Google homepage. On that page, expand the part linked as "Date, usage rights ...". Select "free to use or share" or a similar license in the "Usage rights" field, and enter a keyword on top as usual. Now when you hit the Advanced Search button, you'll note how pages in the results are using the CC license; clicking on the respective license on a page will let you know what specifically you can do with this content, as there are different CC frameworks available.</p>

<p><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=9780596515881"><img src="http://www.hackszine.com/9780596515881_cover.jpg" width="500" height="609" alt="9780596515881_cover.jpg" style="border: 0" /></a></p>

<p><strong>From the Maker Shed:</strong></p>

<p><strong><em>Google Apps Hacks</em></strong> by Philipp Lenssen - all about Google Docs &amp; Spreadsheets, Gmail, Google Calendar, Google Presentations, and more!
<strong>Price:</strong> $29.99
<a href="http://www.makershed.com/ProductDetails.asp?ProductCode=9780596515881">Buy it in the Maker Shed</a></p>

<p><em>[This post originally appeared at <a href="http://lifehacker.com/399812/philipp-lenssens-top-google-apps-tips">Lifehacker</a>]</em></p>
]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/10_google_apps_tips.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/10_google_apps_tips.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/08/10_google_apps_tips.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/08/10_google_apps_tips.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Tue, 12 Aug 2008 07:29:43 -0800</pubDate>

</item>

<item>
<title>Google Apps Hacks Slashdotted today!</title>
<itunes:summary> Yay! Philipp Lenssen&apos;s Google Apps Hacks just got reviewed on Slashdot by JR Peck, who had some kind words for the book: Well, this book is an excellent introduction to Google&apos;s many on-line applications. I use many already and...</itunes:summary>
<description>
<![CDATA[<p><img src="http://www.hackszine.com/9780596515881_cover.jpg" width="500" height="609" alt="9780596515881_cover.jpg"/></p>

<p>Yay! Philipp Lenssen's Google Apps Hacks just got reviewed on Slashdot by JR Peck, who had some kind words for the book:</p>

<blockquote>
Well, this book is an excellent introduction to Google's many on-line applications. I use many already and still learned of a couple new ones when I read this book. It also does bring all that instruction into one place, and provides a very user-friendly style of instruction. There is also a very nice feature, 8 sections that take the reader "Beyond Google...". Each of these sections informs the reader about alternative software that provides similar functionality to the Google software described in the preceding chapter. This is really a great resource and an unexpected bonus for anyone who reads the book.
</blockquote>

<p><a href="http://books.slashdot.org/article.pl?sid=08/06/30/1357230">Slashdot | Google Apps Hacks</a></p>

<p>(In the review, JR raises a good point about the definition of a Hack. We use the definition "A non-obvious solution to an interesting problem", although JR leans toward some other definitions mentioned in the review).</p>

<p><strong>From the Maker Shed:</strong></p>

<p><strong><em>Google Apps Hacks</em></strong> by Philipp Lenssen - all about Google Docs & Spreadsheets, Gmail, Google Calendar, Google Presentations, and more!<br />
<strong>Price:</strong> $29.99<br />
<a href="http://www.makershed.com/ProductDetails.asp?ProductCode=9780596515881">Buy it in the Maker Shed</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_apps_hacks_slashdotted.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_apps_hacks_slashdotted.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/06/google_apps_hacks_slashdotted.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/06/google_apps_hacks_slashdotted.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Mon, 30 Jun 2008 16:00:00 -0800</pubDate>

</item>

<item>
<title>How we made Google Apps Hacks</title>
<itunes:summary> When Philipp Lenssen started writing Google Apps Hacks, we made up our minds that we&apos;d develop the book in Google Docs. A while back, Philipp wrote up Part I of the story of how we made the book. From...</itunes:summary>
<description>
<![CDATA[<p><img src="http://www.hackszine.com/9780596515881_cover.jpg" width="500" height="609" alt="9780596515881_cover.jpg"/></p>

<p>When Philipp Lenssen started writing Google Apps Hacks, we made up our minds that we'd develop the book in <a href="http://docs.google.com/">Google Docs</a>. A while back, Philipp wrote up Part I of the story of how we made the book. From <a href="http://blogoscoped.com/archive/2008-01-23-n82.html">Writing a Book in Google Docs</a>:</p>

<blockquote>Currently, my editor Brian Jepson and I are collaboratively writing the book (tentatively titled) Google Office Hacks by O'Reilly using Google Docs. I wanted to outline the process we came up with, and maybe it's helpful for you too for certain needs.</blockquote>

<p>I just wrote Part II of this story, and Philipp's posted it to the Google Blogoscoped blog. From <a href="http://blogoscoped.com/archive/2008-06-23-n87.html">From Google Docs to InDesign</a>:</p>

<blockquote>One of the tricky parts for us was getting the chapters into InDesign, the book layout program we use for our books and magazines. I know where we were coming from - Google Docs' HTML format - and where we were going to - InDesign's tagged text format.</blockquote>

<p><br />
<strong>From the Maker Shed:</strong></p>

<p><strong><em>Google Apps Hacks</em></strong> by Philipp Lenssen - all about Google Docs & Spreadsheets, Gmail, Google Calendar, Google Presentations, and more!<br />
<strong>Price:</strong> $29.99<br />
<a href="http://www.makershed.com/ProductDetails.asp?ProductCode=9780596515881">Buy it in the Maker Shed</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/how_we_made_google_apps_hacks.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/how_we_made_google_apps_hacks.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/06/how_we_made_google_apps_hacks.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/06/how_we_made_google_apps_hacks.html?CMP=OTC-7G2N43923558</guid>
<category>Hacks Series</category>
<pubDate>Mon, 23 Jun 2008 15:00:00 -0800</pubDate>

</item>

<item>
<title>Server-side Google Analytics</title>
<itunes:summary>Peter van der Graaf did a little analysis of the URLs that are generated by the Google Analytics Javascript API and put together a very useful tutorial for building Analytics-enabled applications without the use of Javascript. When you look at...</itunes:summary>
<description>
<![CDATA[<p>Peter van der Graaf did a little analysis of the URLs that are generated by the Google Analytics Javascript API and put together a very useful tutorial for building Analytics-enabled applications without the use of Javascript.</p>

<blockquote>When you look at the analytics javascript code you see that it combines several sets of data into an image request. This image request sends the right data to Google (not the javascript). When you know what url you should use for the image, you can call the image directly and send the same data. Of course you need to be able to request the image url and that isn't easy from another image, rss feed or pdf. This is why we request it "server side".</blockquote>

<p>You can add the code to the PHP that drives a blog site, for instance, and generate page views when your RSS feed is hit.  You can even write a very simple script to proxy images and downloads, which will let you track hit data for all files on your site, not just the html pages viewed by a javascript enabled browser.</p>

<p>Taken a step further, you could even use this on the client side, triggering analytics views from standalone Flash apps or even desktop applications.</p>

<p>The one thing you need to keep in mind is that server-side analytics requests will appear to come from your server, not the client's machine. So while you can track page views and download events this way, you'll loose a lot of the information about your user base.  Because of this, it would probably make sense to use a separate tracking ID for the server side events.</p>

<p><a href="http://www.vdgraaf.info/google-analytics-without-javascript.html">Google Analytics Without Javascript</a> </p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/05/serverside_google_analytics.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/05/serverside_google_analytics.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/05/serverside_google_analytics.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/05/serverside_google_analytics.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Thu, 01 May 2008 20:27:10 -0800</pubDate>

</item>

<item>
<title>Automatic outbound link analytics with jQuery</title>
<itunes:summary>I had the challenge of adding Google Analytics tracking code to all the outbound links on a site I&apos;ve been working on. There are hundreds of these links scattered around the site, so rather than try and edit a bunch...</itunes:summary>
<description>
<![CDATA[<p>I had the challenge of adding Google Analytics tracking code to all the outbound links on a site I've been working on.  There are hundreds of these links scattered around the site, so rather than try and edit a bunch of links, manually adding onclick handlers in an error-prone fashion, I decided to get lazy and write some code to handle it for me.</p>

<p>First I was thinking about doing some sort of regular expression search and replace throughout the site and database, but that reminded me of CSS3 selectors and their ability to do simple pattern matching. I've seen people apply a special style to outbound links this way, so after a few minutes of monkeying around with things, I now have a chunk of jQuery that will automatically track clicks on all outbound links.</p>

<p>Here it is, in a nutshell:</p>

<blockquote><code>
jQuery(function($){

<p>&nbsp;&nbsp;  // Match all anchor tags in the "maincontent" div with<br />
&nbsp;&nbsp;  // urls that begin with "http" but don't contain the<br />
&nbsp;&nbsp;  // string "yourwebsite.com"<br />
&nbsp;&nbsp;  $('#maincontent a[href^="http"]').not('a[href*="yourwebsite.com"]').click(function(){</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;     try {</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;        // Get the href url and toss out the "http://"<br />
&nbsp;&nbsp;&nbsp;&nbsp;        var href = $(this).attr('href');<br />
&nbsp;&nbsp;&nbsp;&nbsp;       if ( href.indexOf("://") &gt; 0 ) {</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             // Track the page in Google Analytics as <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             // "/tracking/outbound/www.somesite.com/foo"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             var outbound = '/tracking/outbound/' + href.split("://",2)[1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             pageTracker._trackPageview(outbound);</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        }<br />
&nbsp;&nbsp;&nbsp;&nbsp;     } catch( e ) {}<br />
&nbsp;&nbsp;  }<br />
}<br />
</code></blockquote></p>

<p>With this running, all of my internal pages get tracked as usual, and any external links will appear as pageviews that look like "/tracking/outbound/www.somesite.com/foo".</p>

<p>If you link out to many different pages on several sites, keeping the full site url in the tracking code and building these deep paths is particularly useful.  Google Analytics will allow you to drill down into the tree like it was normal content and quickly pull numbers on how many total outbound clicks you received (/tracking/outbound), how many went to www.somesite.com (/tracking/outbound/www.somesite.com), and how many people clicked out to a particular page on the site.</p>

<p>This saved me quite a bit of time and is immensely more flexible than any other outbound tracking method I've used.  I hope this helps someone else.  Drop me a line in the comments if this works out for you.</p>

<p><strong>Update:</strong> it looks like I wasn't the first to do this. <a href="http://blog.rebeccamurphey.com/2008/01/06/track-outbound-clicks-with-google-analytics-and-jquery/">An article by Rebecca Murphey</a> shows how to do something similar, while also adding the referring post title to the tracking code.  Pretty cool stuff, I must say.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/automatic_outbound_link_analyt.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/automatic_outbound_link_analyt.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/04/automatic_outbound_link_analyt.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/04/automatic_outbound_link_analyt.html?CMP=OTC-7G2N43923558</guid>
<category>Ajax</category>
<pubDate>Fri, 11 Apr 2008 22:57:30 -0800</pubDate>

</item>

<item>
<title>Visualization API for Google Docs</title>
<itunes:summary> This looks really useful. Google recently released an API for using Gadgets and visualizations inside of (or pulling from) the Google Docs spreadsheet system. Developers can create useful visualization models, like Gantt charts or geographic heat maps, and Docs...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="docsvisualization_20080320.jpg" src="http://www.hackszine.com/docsvisualization_20080320.jpg" width="500" height="275" class="mt-image-none" style="" /></span></p>

<p>This looks really useful. Google recently released an API for using Gadgets and visualizations inside of (or pulling from) the Google Docs spreadsheet system. Developers can create useful visualization models, like Gantt charts or geographic heat maps, and Docs users can use these tools inside their own documents.</p>

<p>The Gadgets in Docs framework also allows the visualizations to be plugged into iGoogle, so you can have an up-to-date visualization data on your iGoogle page that pulls from spreadsheet data in real-time. I found the <a href="http://www.google.com/ig/directory?url=hosting.gmodules.com/ig/gadgets/file/114902080564273730779/timeline-gadget2.xml">timeline gadget</a>, pictured above, to be particularly useful, but if you don't find the particular visualization you need, you can now go ahead and make it yourself.</p>

<p><a href="http://code.google.com/apis/visualization/">Visualization API</a> [via <a href="http://googleblog.blogspot.com/2008/03/opening-google-docs-to-users-and.html">Google Blog</a>]<br />
<a href="http://code.google.com/apis/visualization/documentation/gadgetgallery.html">Example Visualization Gadgets</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/visualization_api_for_google_d.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/visualization_api_for_google_d.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/03/visualization_api_for_google_d.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/03/visualization_api_for_google_d.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Thu, 20 Mar 2008 21:31:37 -0800</pubDate>

</item>

<item>
<title>SketchUp has a Ruby API</title>
<itunes:summary> I guess it&apos;s been available for a few months, but I just noticed that there&apos;s a Ruby API for Google SketchUp. Looks like a cool tool for extending the building interface, integrating SketchUp entities with external software, and building...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsruby_20080310.jpg" src="http://www.hackszine.com/gsruby_20080310.jpg" width="500" height="302" class="mt-image-none" style="" /></span></p>

<p>I guess it's been available for a few months, but I just noticed that there's a Ruby API for Google SketchUp. Looks like a cool tool for extending the building interface, integrating SketchUp entities with external software, and building procedural stuff, like making terrain or stairs.</p>

<p>Here's a video of SketchUp developer Mark Limber talking about some of the possible ways to extend the software with the Ruby API.</p>

<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/QGvwLQQxuZs&rel=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/QGvwLQQxuZs&rel=0" type="application/x-shockwave-flash" wmode="transparent" width="500" height="400"></embed></object></p>

<p>Google SketchUp Ruby API - <a href="http://code.google.com/apis/sketchup/">Link</a><br />
SketchUp API Blog - <a href="http://sketchupapi.blogspot.com/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/sketchup_has_a_ruby_api.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/03/sketchup_has_a_ruby_api.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/03/sketchup_has_a_ruby_api.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/03/sketchup_has_a_ruby_api.html?CMP=OTC-7G2N43923558</guid>
<category>Google Maps</category>
<pubDate>Mon, 10 Mar 2008 19:05:57 -0800</pubDate>

</item>

<item>
<title>Homebrew Google Analytics API</title>
<itunes:summary> It&apos;s too bad that Google Analytics doesn&apos;t have an official API, but Chris Riley came up with a fun solution for pushing analytics content into a format that is easily accessible from your web applications. Using Google Analytics&apos; scheduled...</itunes:summary>
<description>
<![CDATA[<p><img alt="analyticsapi_20080118.jpg" src="http://www.hackszine.com/analyticsapi_20080118.jpg" width="500" height="339" /></p>

<p>It's too bad that Google Analytics doesn't have an official API, but Chris Riley came up with a fun solution for pushing analytics content into a format that is easily accessible from your web applications.</p>

<p>Using Google Analytics' scheduled reporting feature, you can have an analytics report automatically sent to a public, read-only Google Group in XML format. From there, the group's latest post can be pulled in through Yahoo pipes where it is filtered and exposed as a JSON service, ready for you to pull into a web application via Javascript. Yoikes!</p>

<p>Chris' example shows you how to do this to add a popular posts feature to your blog. You should be able to tweak the code to export other information from Analytics as well, including geographic distribution, popular search terms, or even visitor and pageview data.</p>

<p>No Google Analytics API? No Problem! - <a href="http://blogoscoped.com/archive/2008-01-17-n73.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/01/homebrew_google_analytics_api.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/01/homebrew_google_analytics_api.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/01/homebrew_google_analytics_api.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/01/homebrew_google_analytics_api.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Fri, 18 Jan 2008 21:04:43 -0800</pubDate>

</item>

<item>
<title>Google Earth has a flight simulator</title>
<itunes:summary> The latest version of Google Earth contains a hidden feature: a full-fledged flight simulator! Press Command+Option+A in OS X or Ctrl+Alt+A on a PC or Linux box and you&apos;ll be greeted with a hidden dialog box that lets you...</itunes:summary>
<description>
<![CDATA[<p><img alt="googleflight_20070831.jpg" src="http://hackszine.com/googleflight_20070831.jpg" width="500" height="402" /></p>

<p>The latest version of Google Earth contains a hidden feature: a full-fledged flight simulator!  Press Command+Option+A in OS X or Ctrl+Alt+A on a PC or Linux box and you'll be greeted with a hidden dialog box that lets you choose an aircraft (F16 or SR22) and an airport.  Once you've made you selection, you'll be placed inside the aircraft.  You can then fly around the globe in a free flight simulator, viewing the scenery that is pulled from Google Earth's map files.</p>

<p>I wasn't able to get things to work at first, so if the key combo doesn't work for you, try zooming way into Earth and try again.  It seems like you can't activate the feature when you are out in space looking down on the eath.  Once you've activated the feature, it will be available from the Tools menu.</p>

<p>Force feedback joysticks are supposed to be supported, though I've only been able to test with a mouse  and keyboard.  The basic controls are PageUp/Dn for thrust, G for gear up/down, Left/Right for aileron, Up/Dn for elevator and Shift+Left/Shift+Right for rudder.  You can also click the screen to enable the mouse to control the aileron and elevator controls. See the link at the bottom for the full set of controls.</p>

<p>Google Earth Flight Simulator - <a href="http://marco-za.blogspot.com/2007/08/google-earth-flight-simulator.html">Link</a><br />
Keyboard Controls - <a href="http://earth.google.com/intl/en/userguide/v4/flightsim/index.html">Link</a><br />
Download Google Earth - <a href="http://earth.google.com/download-earth.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/google_earth_has_a_flight_simu.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/google_earth_has_a_flight_simu.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/08/google_earth_has_a_flight_simu.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/08/google_earth_has_a_flight_simu.html?CMP=OTC-7G2N43923558</guid>
<category>Google Earth</category>
<pubDate>Fri, 31 Aug 2007 20:44:44 -0800</pubDate>

</item>

<item>
<title>Google Office Hacks</title>
<itunes:summary> Philipp Lenssen of Google Blogoscoped is working on an upcoming book on Google Office: I&apos;m happy to tell you I&apos;ve started writing a book with O&apos;Reilly&apos;s Maker Media group, currently titled Google Office Hacks! The book will not focus...</itunes:summary>
<description>
<![CDATA[<p><img alt="blogoscoped.jpg" src="http://hackszine.com/blogoscoped.jpg" width="418" height="176" /></p>

<p>Philipp Lenssen of Google Blogoscoped is working on an upcoming book on Google Office:</p>

<blockquote>I'm happy to tell you I've started writing a book with O'Reilly's Maker Media group, currently titled Google Office Hacks! The book will not focus on search, but on the existing & growing applications suite Google provides. It will provide tricks to get things done with Google Docs, Google Spreadsheets, Gmail, Google Calendar, iGoogle, Google Analytics, Maps, YouTube, SketchUp, Presentations (if Google decides to release it!) and more...

<p>For this book, we'd love to get your hacks in it too.</blockquote></p>

<p>Check out Philipp's blog post for more details, and keep an eye on Hackszine.com for more information - <a href=http://blogoscoped.com/archive/2007-08-08-n90.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/google_office_hacks.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/08/google_office_hacks.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/08/google_office_hacks.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/08/google_office_hacks.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Tue, 14 Aug 2007 09:08:52 -0800</pubDate>

</item>

<item>
<title>Use Adsense on password protected sites</title>
<itunes:summary> In order to display relevant advertisements, Adsense has its own web crawler which scans Adsense enabled URLs for page content. This helps Adsense get a clue of what the particular page is all about, and enables it to display...</itunes:summary>
<description>
<![CDATA[<p><img alt="adsenseauth_20070721.jpg" src="http://hackszine.com/adsenseauth_20070721.jpg" width="500" height="528" /></p>

<p>In order to display relevant advertisements, Adsense has its own web crawler which scans Adsense enabled URLs for page content.  This helps Adsense get a clue of what the particular page is all about, and enables it to display ads with purchased keywords that match your content.</p>

<p>For forums and other password protected sites, however, the Adsense crawler is usually able to see only an error or login request page.  With little information to go on, ads cannot be placed correctly, so Adsense on password protected sites was a bit of an impossibility.  Until Google added the "Site Authentication" feature, that is.</p>

<p>If you go into Adsense setup, there's a new tab called "Site Authentication".  On that tab, you can configure Adsense with the login and password information that it needs to authenticate with your site before indexing your pages for content.  You'll need to know a little about how your login form is configured for your particular site, but it's fairly simple to figure out from looking at the source.  Here's an example:</p>

<p><b>Locate Form URL and Variables</b><br />
The login form on a Drupal website that I run looks like this.  I've stripped out everything but the form anf input fields, and your site may differ, but you can use this as an example:</p>

<pre>
&lt;form action="user/login?destination=node" method="post"&gt;
&lt;input type="text" maxlength="64" class="form-text" name="edit[name]" id="edit-name" size="15" value="" /&gt;
&lt;input type="password" class="form-password" maxlength="64" name="edit[pass]" id="edit-pass" size="15" value="" /&gt;
&lt;input type="submit" class="form-submit" name="op" value="Log in"  /&gt;
</pre>

<p>So from this I know that the form method is "POST", the URL for the login page is http://examplesite.com/user/login?destination=node and the're are two user input fields for the username and password: "edit[name]" and "edit[pass]".  There is also the submit button, with the name "op" and the value of "Log in".  The submit button value may or may not be important for the log in script, but we'll use it just in case.</p>

<p><b>Give Adsense Authentication Information</b></p>

<p>Now you can jump over to the "Site Authentication" page and add the necessary information.  First, make a speical username and password on your site for Adsense to use.  Adsense will be using this account to log in and browse your site's content, so make sure it has the neccessary permissions to see everything that you want ads to appear on.  For the purposes of this example, let's say the new user is "adsenseuser" and the password is "123abc".</p>

<ul><li>In the restricted directory or url field, put the portion of your site's URL that restricted content is under.  This might be http://www.restrictedsite.com/ or https://www.testsite.com/membersonly or something like that.</li><li>For the authentication url field, enter in the url that you discovered earlier which the normal log in form is posting to.  In the above example, this was http://examplesite.com/user/login?destination=node</li><li>Select the correct authentication method.  This will be "POST" in most scenarios.</li><li>Enter the login form field names and values.  Our example has three fields: "edit[name]", "edit[pass]", and "op".  The values in this case would be "adsenseuser", "123abc", and "Log in", respectively.</li></ul>

<p>When you've finished, save your settings and you'll be directed to Google's webmaster tools to "claim your site".  This is the same tool used by Sitemaps, and all you'll need to do is upload a small file to your site.  This proves to Google that you are the owner of the site.</p>

<p>After your site is verified, and Adsense has had some time to index your site, you should notice more targeted ads start appearing on your restricted pages.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/07/use_adsense_on_password_protec.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/07/use_adsense_on_password_protec.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/07/use_adsense_on_password_protec.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/07/use_adsense_on_password_protec.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Sat, 21 Jul 2007 17:39:57 -0800</pubDate>

</item>

<item>
<title>Google Desktop for Linux (sorta)</title>
<itunes:summary> Google Desktop is now available for Linux. Unfortunately, it&apos;s not open source, and it&apos;s about equivalent to version 1 for Windows, so it won&apos;t provide all the extras like desktop gadgets. That said, it&apos;s still a desktop alternative to...</itunes:summary>
<description>
<![CDATA[<p><img alt="gdesklinux_20070701.jpg" src="http://hackszine.com/gdesklinux_20070701.jpg" width="500" height="372" /></p>

<p>Google Desktop is now available for Linux.  Unfortunately, it's not open source, and it's about equivalent to version 1 for Windows, so it won't provide all the extras like desktop gadgets.</p>

<p>That said, it's still a desktop alternative to find and grep, and you can search your Gmail while offline - <a href="http://desktop.google.com/linux/index.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/07/google_desktop_for_linux_sorta.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/07/google_desktop_for_linux_sorta.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/07/google_desktop_for_linux_sorta.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/07/google_desktop_for_linux_sorta.html?CMP=OTC-7G2N43923558</guid>
<category>Linux Desktop</category>
<pubDate>Sun, 01 Jul 2007 18:54:21 -0800</pubDate>

</item>

<item>
<title>Use a Google Spreadsheet as a simple CMS</title>
<itunes:summary> Using Google&apos;s Spreadsheet API, you can create a simple CMS for your website extremely easily. It&apos;s as simple as making a new sheet with key/value pairs for any fields you want dynamically populated. You can then access the data...</itunes:summary>
<description>
<![CDATA[<p><img alt="spreadcms_20070613.jpg" src="http://hackszine.com/spreadcms_20070613.jpg" width="500" height="195" /><br />
Using Google's Spreadsheet API, you can create a simple CMS for your website extremely easily.  It's as simple as making a new sheet with key/value pairs for any fields you want dynamically populated.  You can then access the data from javascript via the JSON API.  Any updates to the spreadsheet will be immediately reflected in your page.</p>

<p>The only downside to this approach is that the content of your page is populated by Javascript on the client side, so search engines won't see the content of your pages during a crawl.  You could overcome this obstacle by using the PHP API to pull the spreadsheet data and render the HTML on the server side.</p>

<p>Simple CMS using Google Spreadsheet API - <a href="http://gabrito.com/post/simple-cms-using-google-spreadsheet-api">Link</a><br />
Google Spreadsheets Data API - <a href="http://code.google.com/apis/spreadsheets/developers_guide_protocol.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/use_a_google_spreadsheet_as_a.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/use_a_google_spreadsheet_as_a.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/06/use_a_google_spreadsheet_as_a.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/06/use_a_google_spreadsheet_as_a.html?CMP=OTC-7G2N43923558</guid>
<category>Web</category>
<pubDate>Wed, 13 Jun 2007 08:52:25 -0800</pubDate>

</item>

<item>
<title>Gears API: create web apps that work offline</title>
<itunes:summary> Google released a new Javascript API today called Gears that makes it possible to write modeless web applications that will function offline. A browser plugin is available for IE and Firefox (OS X, Linux, and Windows), with Safari support...</itunes:summary>
<description>
<![CDATA[<p><img alt="gears_20070530.jpg" src="http://hackszine.com/gears_20070530.jpg" width="500" height="205" /><br />
Google released a new Javascript API today called Gears that makes it possible to write modeless web applications that will function offline.  A browser plugin is available for IE and Firefox (OS X, Linux, and Windows), with Safari support planned for the near future.  The plugin will need to be installed by users of Gears-enabled applications.</p>

<p>From what I can see--and keep in mind that I haven't used the API yet--there are 3 basic services that the API provides:<br />
<ul><li>local file resource storage and caching so that you can view files after disconnecting</li><li>a client-side SQL database that can be used by Javascript to store and fetch data</li><li>a worker pool module for running asynchronous background processes</li></ul></p>

<p>The obvious use for this is to make stateful applications that continue to operate when you're offline, but maybe there are some privacy opportunities here too.  Today, applications come in primarily two varieties: apps with user data and software stored locally, and web-based applications that execute and store data on the server.  What I'm curious to see is if developers will begin making a third, hybrid category of application, where software release and maintenance is web-based and global data is available for local consumption, but the storage and processing of user-specific data takes place on the client side, safe from unwanted profiling.</p>

<p>Google Gears API Developer's Guide - <a href="http://code.google.com/apis/gears/index.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/gears_api_create_web_apps_that.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/gears_api_create_web_apps_that.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/gears_api_create_web_apps_that.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/gears_api_create_web_apps_that.html?CMP=OTC-7G2N43923558</guid>
<category>Ajax</category>
<pubDate>Wed, 30 May 2007 19:36:14 -0800</pubDate>

</item>

<item>
<title>Corral a bunch of random Slashdotters into a chat room</title>
<itunes:summary> Steve Pasetti posted a nifty trick for creating an ad-hoc chat room full of random Slashdot readers: How do you get a bunch of folks from Slashdot into a room to chat? Post a link to a Google Spreadsheet...</itunes:summary>
<description>
<![CDATA[<p><img alt="slashdotchatters_2.jpg" src="http://hackszine.com/slashdotchatters_2.jpg" width="500" height="432" /></p>

<p>Steve Pasetti posted a nifty trick for creating an ad-hoc chat room full of random Slashdot readers:<br />
<blockquote><br />
How do you get a bunch of folks from Slashdot into a room to chat?</p>

<p>Post a link to a Google Spreadsheet in the comments...</blockquote></p>

<p>Impromptu Chat Room - <a href="http://www.stevepasetti.com/?p=25">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/corral_a_bunch_of_random_slash.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/corral_a_bunch_of_random_slash.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/corral_a_bunch_of_random_slash.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/corral_a_bunch_of_random_slash.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Thu, 17 May 2007 13:04:46 -0800</pubDate>

</item>

<item>
<title>iGoogle Greasemonkey hacks</title>
<itunes:summary> If you use Firefox with Greasemonkey, there are a lot of really nice scripts available for tweaking the iGoogle interface. You can resize columns, replace the iGoogle logo, or, my personal favorite, add some subtle transparency effects to the...</itunes:summary>
<description>
<![CDATA[<p><img alt="igoogle_20070512.jpg" src="http://hackszine.com/igoogle_20070512.jpg" width="500" height="357" /><br />
If you use Firefox with Greasemonkey, there are a lot of really nice scripts available for tweaking the iGoogle interface.  You can resize columns, replace the iGoogle logo, or, my personal favorite, add some subtle transparency effects to the search interface so that it blends in with the theme you are using - <a href="http://mashable.com/2007/05/11/igoogle/">Link.</a></p>

<p><b>Related:</b><br />
<ul><li><a href="http://www.hackszine.com/blog/archive/2007/02/tweak_the_google_with_the_cust.html">Tweak the Google with the CustomizeGoogle Firefox Extension</a></li><li><a href="http://www.hackszine.com/blog/archive/2007/05/make_your_own_gadget_google.html">Make your own gadget (google)</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/igoogle_greasemonkey_hacks.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/igoogle_greasemonkey_hacks.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/igoogle_greasemonkey_hacks.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/igoogle_greasemonkey_hacks.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Sat, 12 May 2007 19:20:57 -0800</pubDate>

</item>

<item>
<title>Make your own gadget (google)</title>
<itunes:summary> Starting today you can use Google to make your own &quot;gadget&quot; that can be added to your site. From the Seattle PI - Getting more people to log in to the site is important to Google because it allows...</itunes:summary>
<description>
<![CDATA[<p><img src="http://hackszine.com/MAKE_600.jpg" height="312" width="500" border="0" hspace="4" vspace="4" alt="Make 600" /><br />
Starting today you can use Google to make your own "gadget" that can be added to your site. <a href="http://seattlepi.nwsource.com/business/1700AP_Google_Personal_Page.html">From the Seattle PI</a> -<br />
<blockquote>Getting more people to log in to the site is important to Google because it allows the company to log more data that helps its algorithms better understand the nuances underlying many search requests that could have multiple meanings.</p>

<p>With a personal login, "the search engine is your friend and starts to know something about you" Mayer said during a Monday briefing with reporters.</p>

<p>With more knowledge about a person, Google theoretically will be able to deliver more relevant search results and also select ads that are more likely to induce the revenue-generating clicks that generate most of its profit.</blockquote>iGoogle - <a href="http://www.google.com/ig/gmchoices?hl=en">Link.</a></p>

<p>*This is starting to become <em>The Forbin project.</em></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/make_your_own_gadget_google.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/make_your_own_gadget_google.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/make_your_own_gadget_google.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/make_your_own_gadget_google.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Tue, 01 May 2007 03:00:20 -0800</pubDate>

</item>

<item>
<title>Unofficial Google Translate API</title>
<itunes:summary> The Unofficial Google Translate API is a combination javascript library and php service that allows you to do AJAX-style language translation. The PHP script serves as proxy to Google&apos;s Translate utility, passing data to and from Google on behalf...</itunes:summary>
<description>
<![CDATA[<p><img alt="gtranslate_20070425.jpg" src="http://hackszine.com/gtranslate_20070425.jpg" width="500" height="106" /><br />
The Unofficial Google Translate API is a combination javascript library and php service that allows you to do AJAX-style language translation.  The PHP script serves as proxy to Google's Translate utility, passing data to and from Google on behalf of the javascript code.</p>

<p>Unofficial Google Translate API -<a href="http://googlified.com/2006unofficial-google-translate-api/">Link.</a><br />
Inspired by Philipp Lenssen's Google Translate API "Announcement From 2009" -<a href="http://blog.outer-court.com/archive/2006-11-12-n11.html">Link.</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/unofficial_google_translate_ap.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/unofficial_google_translate_ap.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/unofficial_google_translate_ap.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/unofficial_google_translate_ap.html?CMP=OTC-7G2N43923558</guid>
<category>Language</category>
<pubDate>Wed, 25 Apr 2007 21:10:01 -0800</pubDate>

</item>

<item>
<title>Google Web History: Give Google Your Entire Browsing History</title>
<itunes:summary> Google released a new feature called Google Web History. Once you&apos;ve enabled it, Google will start recording your entire browsing history. It does this by using grabbing information from the Google toolbar that is sent for every page you...</itunes:summary>
<description>
<![CDATA[<p><img alt="googlehistory_20070419.jpg" src="http://hackszine.com/googlehistory_20070419.jpg" width="500" height="231" /><br />
Google released a new feature called Google Web History.  Once you've enabled it, Google will start recording your entire browsing history.  It does this by using grabbing information from the Google toolbar that is sent for every page you access when you have Pagerank enabled. I'm not sure how comfortable I am with giving Google my browsing history, but considering how much adsense is out there, they probably have it anyway, right?  At least this will add some utility value to giving up your browsing data.</p>

<p><b>Enabling Google Web History</b><br />
First off, you'll need the google toolbar installed and running on your browser.  Make sure to enable the Pagerank display, as the web history application uses the pagerank meter's communications to base your history on.</p>

<p>Next, go to <a href="http://www.google.com/history/">http://www.google.com/history/</a>.  You'll be asked to sign in and then you'll be presented with an option to either "Enable Web History" or "Limit Web History to searches".  It's pretty self explanitory - you can have Google only store the history of your searches, or you can go for the full-meal-deal and have every page you visit stored.</p>

<p><b>Using Google Web History</b><br />
The service is actually pretty interesting.  On the surface, it's similar to your browser's history tool, except that you can search your history using a similar interface to Google's web search.</p>

<p>Additionally, you can filter your history by media category, Ie. Web, Images, News, Video, Maps, etc.</p>

<p>There's also a "Trends" and "Interesting Items" feature which would appear to offer browsing recommendations, presumably by comparing your browsing patterns against other, similar users' behavior.  I haven't been using the service long enough to judge how well this works, but it seems potentially useful.</p>

<p><b>Pause / Resume</b><br />
If you want to temporarilly disable the history service, there's an included "Pause" button.  You'll need to remember to visit the history service and click this before browsing to anything sensitive, but once you've enabled it, nothing is supposed to be recorded.  Clicking resume will start things back up.</p>

<p><b>Deleting your web history</b><br />
The privacy policy says that deleting your web history will completely remove it from your account, but there is also a note saying that they maintain a seperate log system as a "common industry practice".  What the latter means is anyone's guess, but I'd bet they store that information anyway if you're using the Pagerank meter.</p>

<ol><li>Go to the "My Account" link to manage your account.</li><li>Under "My Services" lick "Edit"</li><li>There's a link to "Delete web history" - click it.</li><li>Click the "ok" box and enter your password.  Your history will be removed.</li></ol>

<p>Now, if you really don't want Google's giant eyeballs on your browsing data, make sure to turn off Pagerank or completely disable the Google toolbar.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/google_web_history_give_google.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/google_web_history_give_google.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/google_web_history_give_google.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/google_web_history_give_google.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Thu, 19 Apr 2007 19:44:37 -0800</pubDate>

</item>

<item>
<title>Using Google as a Proxy (or HOW TO: View MySpace at School)</title>
<itunes:summary>Normally when you view a web page, your computer&apos;s browsing software makes a connection to the destination server, downloads the page&apos;s data, and displays it for you. This would normally be the preferred way of doing things, but occasionally you&apos;ll...</itunes:summary>
<description>
<![CDATA[<p>Normally when you view a web page, your computer's browsing software makes a connection to the destination server, downloads the page's data, and displays it for you.</p>

<p>This would normally be the preferred way of doing things, but occasionally you'll find yourself on a work or school connection that disallows you from connecting to certain web sites.  In these scenarios, what you need is a proxy.  A proxy is a server or service that will connect to the blacklisted server on your behalf and send you back the results.</p>

<p>Now, you still need to directly access the proxy server, so it's important that it's not on the blacklist itself.   It's very interesting that Google, a host unlikely to end up on most blacklists, has a couple of tools that can essentially act as a web proxy!</p>

<p><b>Google Proxy Trick #1</b><br />
The first tool is Google's translation service.  This service will dynamically download and translate any web page you request, and if you specify the "to" launguage as English (or your desired language), Google Translate will just spit out the destination document, acting as a simple proxy.  Note that you used to be able to set the "from" and "to" language both as English to ensure no translation, but this feature seems to have been removed.  However, I've found that if you specify Chinese to English (or anything to english) on an already english document, you usually get the exact text.  The bonus of using the Chinese filter is that you can hover over any text and it'll give you the <u>exact</u> original text.</p>

<p>Just replace www.myspace.com in the URL below with a blocked site to see:<br />
<a href="http://www.google.com/translate_c?langpair=zh%7Cen&u=http://www.myspace.com/">http://www.google.com/translate_c?langpair=zh%7Cen&u=http://www.myspace.com/</a></p>

<p>The only problem with this is that it doesn't proxy any of the images for you.  Those are still coming directly from the destination server, so they will likely be filtered and all you'll see is the page text.</p>

<p><b>Google Proxy Trick #2</b><br />
The second Google tool that can be used as a proxy service is the Google Wireless Transcoder.  This service was designed to make web pages viewable on mobile phone browsers.  It will download a destination site's web page, including images, and rework the entire page, on the fly, to fit into an average cell-phone's screen space.</p>

<p>To try it out, go to <a href="http://www.google.com/gwt/n">http://www.google.com/gwt/n</a> and enter the url you'd like to view.  You'll quickly see that most of the page formatting has been stripped out, leaving a very simple, single-column page.  You'll also notice that all the images are scaled down to mobile phone optimized size.  It's a bit of a downside, but google is actually downloading and sending the scaled versions from a google server.   So, if you're on a blacklisted site, you'll still be able to view images - they'll just be smaller than usual.</p>

<p>On the plus side, I've found that 99% of MySpace templates look better using the Google Wireless Transcoder.</p>

<p><b>Update (my poor memory):</b><br />
I have the long term memory of a goldfish.  It looks like Brian Sawyer wrote about this back in January -<a href="http://www.hackszine.com/blog/archive/2007/01/use_google_to_view_myspace_or.html">Link.</a>  He also linked to another article on the topic of bypassing a blocked myspace connection, which I've also included below.  Thanks, Brian!</p>

<p><br />
<b>Related:</b><br />
<ul><li><a href="http://www.oreillynet.com/pub/a/network/2006/12/21/using-google-to-view-myspace-or-any-restricted-sites.html">Using Google to View MySpace or Any Restricted Site</a></li><li><a href="http://www.oreilly.com/catalog/googlehks3/index.html">Google Hacks, Third Edition</a></li><li><a href="http://myspacehacks.blogspot.com/2006/01/how-to-use-myspace-if-your-school-or.html">How To Use MySpace If Your School Or Work Blocks Access</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/using_google_as_a_proxy_or_how.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/using_google_as_a_proxy_or_how.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/using_google_as_a_proxy_or_how.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/using_google_as_a_proxy_or_how.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Sun, 15 Apr 2007 19:59:02 -0800</pubDate>

</item>

<item>
<title>Show Full Referring Source in Google Analytics</title>
<itunes:summary> If you use Google Analytics and you&apos;ve ever tried to determine what URLs are referring to your site, you may have noticed that the report only includes the file name portion of the URL, excluding the query string. If...</itunes:summary>
<description>
<![CDATA[<p><img alt="analyticsreferrer_20070410.jpg" src="http://hackszine.com/analyticsreferrer_20070410.jpg" width="500" height="327" /><br />
If you use Google Analytics and you've ever tried to determine what URLs are referring to your site, you may have noticed that the report only includes the file name portion of the URL, excluding the query string.  If your referrers are dynamic forums and bulletin boards, this makes it impossible to tell what message or thread has linked to your site.  All you may see are a bunch of referrals from "/forums/viewtopic.php" since the full article path is encoded in the query string.</p>

<p>Reuben Yau came up with a nice hack that solves the full-referrer problem.  The hack uses urchin's manual javascript tracking mechanism, typically used to track flash events, to register a page view with the full referring URL as the title.  Just update your tracking code with the following:</p>

<p><code>&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;<br />
&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
_uacct = "UA-XXXXXX-X";<br />
urchinTracker();<br />
urchinTracker(document.referrer);<br />
&lt;/script&gt;</code></p>

<p>After you've made the change, you'll start seeing referring URLs showing up in the main content reports (as opposed to the "referring source/cross segment performance/content" report).  They'll look a little different from typical content, as the content name will contain a full http:// URL.  You can then filter the report for "http:" if you only want to view the referrer data.</p>

<p>Google Analytics Full Referrer Tracking -<a href="http://www.reubenyau.com/google-analytics-full-referrer-tracking-update/">Link.</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/show_full_referring_source_in.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/show_full_referring_source_in.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/show_full_referring_source_in.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/show_full_referring_source_in.html?CMP=OTC-7G2N43923558</guid>
<category>Web Site Measurement</category>
<pubDate>Tue, 10 Apr 2007 18:52:50 -0800</pubDate>

</item>

<item>
<title>Google voice local search</title>
<itunes:summary> Jeez, I just tried this - it worked great. Google Voice Local Search is Google&apos;s experimental service to make local-business search accessible over the phone. To try this service, just dial 1-800-GOOG-411 (1-800-466-4411) from any phone. Using this service,...</itunes:summary>
<description>
<![CDATA[<p><img src="http://hackszine.com/logo_sm.jpg" height="55" width="145" border="0" align="right" hspace="4" vspace="4" alt="Logo Sm" /><br />
Jeez, I just tried this - it worked great.</p>

<blockquote>Google Voice Local Search is Google's experimental service to make local-business search accessible over the phone.

<p>To try this service, just dial 1-800-GOOG-411 (1-800-466-4411) from any phone.</p>

<p>Using this service, you can:</p>

<p>search for a local business by name or category.<br />
You can say "Giovanni's Pizzeria" or just "pizza".</p>

<p>get connected to the business, free of charge.</p>

<p>get the details by SMS if you're using a mobile phone.<br />
Just say "text message".</p>

<p>And it's free. Google doesn't charge you a thing for the call or for connecting you to the business. Regular phone charges may apply, based on your telephone service provider.<br />
</blockquote></p>

<p>Google Voice Local Search - <a href="http://labs.google.com/goog411/index.html#">Link.</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/google_voice_local_search.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/google_voice_local_search.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/google_voice_local_search.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/google_voice_local_search.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Fri, 06 Apr 2007 12:00:11 -0800</pubDate>

</item>

<item>
<title>Delete Cached Files in Google Desktop for the Mac?</title>
<itunes:summary> As frustrated as I&apos;ve been with Spotlight and all that I think it should be able to do but just doesn&apos;t quite get right, I was interested in today&apos;s news that Google Desktop is finally available for the Mac....</itunes:summary>
<description>
<![CDATA[<p><img alt="morerandomgobbledygook in Google Desktop cache" src="http://hackszine.com/google_desktop_cache.jpg" width="499" height="160" /></p>

<p>As frustrated as I've been with Spotlight and all that I think it should be able to do but just doesn't quite get right, I was interested in <a href="http://blog.outer-court.com/archive/2007-04-04.html#n89">today's news</a> that <a href="http://desktop.google.com/mac/">Google Desktop is finally available for the Mac</a>. Finally, I can search my Gmail account from my desktop and use some more sophisticated search syntax. This could be quite handy and should really put the pressure on Apple to beef up Spotlight in its Leopard release.</p>

<p>But, as is usual with every useful new tool Google releases, this one comes with something that gets me a little nervous (beyond the anxiety associated with the fact that I've become increasingly reliant on Google for so much of my information storage and retrieval). I'm talking about this "feature," pointed out by <a href="http://www.tuaw.com/2007/04/04/google-desktop-for-the-mac/">The Unofficial Apple Weblog</a>:<blockquote>Thanks to the way that Google Desktop works, it can even search files that you have deleted from your system. Google Desktop creates a cache on your machine that holds information about the various files that it has indexed.</blockquote>Now, I don't know about you, but when I delete a file, I generally want to <em>delete it</em>. There may be a few occasions when I accidentally or thoughtlessly delete something I'll actually need later, but I'm more concerned with others searching for sensitive material on my computer that I've already decided I want gone, and I'm sure others will find plenty of other reasons for not wanting Google Desktop keeping a cache of their entire file history.</p>

<p><br>That's why I was happy to find that the TUAW article goes on to suggest that you can actually <em>turn off</em> caching:</p>

<blockquote>Luckily, you can tell Google Desktop not to keep cached copies of deleted files.</blockquote>

<p>That would be great news, if it were true, but it turns out that what I assumed was insider information (based, perhaps, on communication with Google during prerelease evaluation) turned out to be just an ungrounded assumption. I decided to put this preference change to the test, going just just beyond where TUAW ended their own trial. </p>

<p>First, I did everything TUAW did, substituting "randomgobbledygook" (a word I was pretty sure didn't appear anywhere on my computer) for "tuawrocks" in their scenario:</p>

<blockquote>I created a test document that simply said 'tuawrocks,' a phrase that was no where on my computer before I created this file. Both Google Desktop and Spotlight immediately found the file when I searched for the phrase 'tuawrocks.' I then deleted the file, emptied my Trash, and searched for 'tuawrocks' once more. As you would expect Spotlight informed me that there were no files that met my criteria, but Google Desktop had a cached version of the file that I was able to look at (much like Google's web cache that allows you to look at websites that have gone offline for whatever reason).</blockquote>
Looking at the "Search Results" area of the Preferences pane, I questioned the name of the "<em>Display</em> results for deleted documents" (emphasis mine) setting, which suggests that this preference is actually a display issue only, not an indexing or caching change. So, I unchecked the setting:

<p><br><img alt="Don't Display Cached Results" src="http://hackszine.com/dontdisplay.jpeg" width="390" height="113" /></p>

<p>Then, I ran the test again with a file called "morerandomgobbledygook," deleting it after I created it and confirmed that Google Desktop had indexed it. As you would expect, after I emptied the trash, it didn't show up in my search results. But all I had to do was go back into the Preference pane and re-enable "Display results for deleted documents":</p>

<p><img alt="Display Cached Results" src="http://hackszine.com/display.jpeg" width="381" height="109" /></p>

<p>Then, by gosh, running that search for "morerandomgobbledygook" brought that cached file right up: </p>

<p><img alt="morerandomgobbledygook in Google Desktop cache" src="http://hackszine.com/more_google_desktop_cache.jpg" width="499" height="160" /></p>

<p>Clicking on the search result opens the entire file (in this case, a text file) in your default browser, like so:</p>

<p><img alt="cached_file.jpg" src="http://hackszine.com/cached_file.jpg" width="500" height="131" /><br />
So, if all you're trying to do is unclutter your search results by getting rid of distracting cached files, you can certainly do that. But beware that you're not actually keeping Google Desktop from creating, keeping, and indexing those (deleted) cached files. I'm looking forward to that ability in a future release ... unless some enterprising hacker out there can give it to me first.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/delete_cached_files_in_google.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/04/delete_cached_files_in_google.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/04/delete_cached_files_in_google.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/04/delete_cached_files_in_google.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Wed, 04 Apr 2007 06:38:14 -0800</pubDate>

</item>

<item>
<title>Picasa Data API</title>
<itunes:summary>Take a peek at Google&apos;s new GData API for Picasa. In addition to providing RSS feeds for albums, tagged photos and user comments, you can use the API to add and remove photos, albums, comments and tags from your own...</itunes:summary>
<description>
<![CDATA[<p>Take a peek at Google's new GData API for Picasa.  In addition to providing RSS feeds for albums, tagged photos and user comments, you can use the API to add and remove photos, albums, comments and tags from your own applications.  This might be a nice way to manage image data (and offload image storage) within a web app.</p>

<p><b>Resources:</b><br />
<ul><li><a href="http://code.google.com/apis/picasaweb/gdata.html">Picasa API documentation</a></li><li><a href="http://code.google.com/apis/gdata/clientlibs.html">Picasa client libraries for PHP, Java, and .Net</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/picasa_data_api.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/picasa_data_api.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/03/picasa_data_api.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/03/picasa_data_api.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Mon, 26 Mar 2007 20:06:47 -0800</pubDate>

</item>

<item>
<title>Google for Music</title>
<itunes:summary> The Amazon Web Services Blog reveals a simple search syntax to turn Google into your own personal (free) Napster: -inurl:(htm|html|php) intitle:&quot;index of&quot; +&quot;last modified&quot; +&quot;parent directory&quot; +description +size +(wma|mp3) &quot;Nirvana&quot; Just replace Nirvana with a song or artist of...</itunes:summary>
<description>
<![CDATA[<p><img alt="Google Napster DJ Danger Mouse" src="http://hackszine.com/google_dangermouse.jpeg" width="498" height="287" /></p>

<p>The <a href="http://blog.awswebshop.com/2006/10/15/turn-google-into-your-own-personal-free-napster/">Amazon Web Services Blog</a> reveals a simple search syntax to turn Google into your own personal (free) Napster:</p>

<blockquote>-inurl:(htm|html|php) intitle:"index of" +"last modified" +"parent directory" +description +size +(wma|mp3) "Nirvana"</blockquote>

<p>Just replace  <em>Nirvana</em> with a song or artist of your choice to display a results page of indexes that contain downloadable MP3s.</p>

<p>P.S. Don't steal music.</p>

<p><strong>Update:</strong> </p>

<p>In the comments, JLOCK84 adds:</p>

<blockquote>The folks from I-hacked made a little site that does this for you, G2P.org. Finds music files, as well as ebooks, and can also work as a proxy.</blockquote>

<p><strong>Related:</strong><br />
<ul><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596527063">Google Hacks, 2E</a></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/google_for_music.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/google_for_music.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/03/google_for_music.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/03/google_for_music.html?CMP=OTC-7G2N43923558</guid>
<category>Google</category>
<pubDate>Wed, 14 Mar 2007 08:09:09 -0800</pubDate>

</item>

<item>
<title>Mash Up the Hackszine Tag Cloud</title>
<itunes:summary> Love tag clouds? Check out this page, which displays the top 20 search terms that drive people to each O&apos;Reilly domain, including Hackszine. As noted on that page, here are a few things to keep in mind about these...</itunes:summary>
<description>
<![CDATA[<p><img alt="Hackszine Tag Cloud" src="http://hackszine.com/tag_cloud.jpg" width="500" height="218" /></p>

<p>Love tag clouds? Check out <a href="http://www.oreillynet.com/feeds/widgets/organic_search_tagcloud/">this page</a>, which displays the top 20 search terms that drive people to each O'Reilly domain, including <a href="http://www.oreillynet.com/feeds/widgets/organic_search_tagcloud/#DM561011CHDD">Hackszine</a>. As noted on that page, here are a few things to keep in mind about these visualizations:<ul><li>The terms are <em>organic</em>, which means that these are terms that someone typed into a search engine (e.g., Google) and then followed a resulting link. (In contrast to a search term that someone entered into our own search box.)<br />
<li>While the keyword frequency does give some idea of what people are looking for, keep in mind that the word had to already be on our site in order for it to appear, and it had to be ranked highly enough for someone to find it.<br />
<li>These are raw search terms, so similar but slightly different terms will appear twice. For example, "web 2.0" and "web 2" may both appear.</ul>Tired of tag clouds? We'd love to see how you'd process the data. <a href="http://www.oreillynet.com/feeds/widgets/organic_search_tagcloud/organic_search_tagcloud_DM561011CHDD.js">Here's the data for Hackszine</a>, formatted as JSON.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/mash_up_the_hackszine_tag_clou.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/mash_up_the_hackszine_tag_clou.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/03/mash_up_the_hackszine_tag_clou.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/03/mash_up_the_hackszine_tag_clou.html?CMP=OTC-7G2N43923558</guid>
<category>Data</category>
<pubDate>Wed, 07 Mar 2007 05:27:48 -0800</pubDate>

</item>

<item>
<title>Hacks Authors&apos; Blogs: One Feed to Rule Them All</title>
<itunes:summary> Ed note: In this guest post, veteran Hacks series author Paul Bausch takes on a challenge that&apos;s been on my todo list for a while, providing a solution that should be of immediate interest to all readers of this...</itunes:summary>
<description>
<![CDATA[<p><img alt="Hacks Authors' Feed" src="http://hackszine.com/hacks_authors_feed.jpg" width="499" height="236" /></p>

<p><em>Ed note: In this guest post, veteran Hacks series author <a href="http://onfocus.com">Paul Bausch</a> takes on a challenge that's been on my todo list for a while, providing a solution that should be of immediate interest to all readers of this site and just might serve as a seed for future hacking around here.</em></p>

<p>I have a shelf full of O'Reilly Hacks books across a wide range of subjects. I contributed a couple in the Web Applications category, but I also have Hacks books about digital photography, hardware, scripting languages, gaming, and operating systems. The series has introduced me to a number of authors who are doing unusual things with technology in their particular area of expertise. I thought it would be interesting to follow each of these authors outside of the Hacks series by subscribing to their blogs, collectively. I figured it would be a good way to keep up with areas of technology that I'm not necessarily tuned into. I have a collection of blogs that I read to keep up with what's happening in Web Applications, but I don't have a sense of what's going on with gaming, for example. </p>

<p>So I went on a mission to gather the Hacks authors' blogs using the tools I know best: Web Applications. I started with an Amazon power query for books by O'Reilly with "Hacks" in the title via the <a href="http://www.amazon.com/aws">Amazon API</a>, and ended up with a list of 80 authors' full names. I plugged each name into Google by hand, adding the word "blog" (or if that didn't turn anything up, "hacks"). Then I visited the blog to make sure it was the Hacks author I was looking for, clicked the orange feed button in the Firefox address field to get the feed URL, and copied the URL to a text file. I ended up with a list of 40 feeds. (A 50% blogging rate among an arbitrary group isn't too shabby.)</p>

<p>I plugged the feeds into <a href="http://www.google.com/reader/">Google Reader</a>, and renamed each feed the author's full name. Here's what the final list looks like (click for larger view):</p>

<p><a href="http://hackszine.com/gr-hacks-authors_full.jpg"><img alt="Hacks Authors' Blogs in Google Reader" src="http://hackszine.com/gr-hacks-authors.jpg" width="500" height="386" /></a></p>

<p>Here's the list of feeds as OPML if you'd like to try it: <a href="http://www.onfocus.com/hacks/hacks-authors.xml">Hacks Authors</a>.</p>

<p>I've only been tuning into this list for a few days, but I'm already getting to know these authors in a new way. And I was right&mdash;I am finding out about developments in tech areas I don't normally tune into. I especially found Brian K. Jones's recent post about <a href="http://www.oreillynet.com/sysadmin/blog/2007/02/fighting_specialization.html">Fighting Specialization</a> appropriate, something I wouldn't have seen otherwise.</p>

<p><br><strong>Related:</strong><br />
<ul><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596527063">Google Hacks, 3E</a><li><a href="http://store.makezine.com/ProductDetails.asp?ProductCode=0596005423">Amazon Hacks</a></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/hacks_authors_blogs_one_feed_t.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/hacks_authors_blogs_one_feed_t.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/02/hacks_authors_blogs_one_feed_t.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/02/hacks_authors_blogs_one_feed_t.html?CMP=OTC-7G2N43923558</guid>
<category>Hacks Series</category>
<pubDate>Tue, 27 Feb 2007 11:17:45 -0800</pubDate>

</item>


</channel>
</rss>