<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>nyquil.org (Entries tagged as howto)</title>
    <link>http://nyquil.org/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.0-beta1 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Helpful Hacks: tricking Google Buzz into letting you in</title>
    <link>http://nyquil.org/archives/1238-Helpful-Hacks-tricking-Google-Buzz-into-letting-you-in.html</link>
    
    <comments>http://nyquil.org/archives/1238-Helpful-Hacks-tricking-Google-Buzz-into-letting-you-in.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1238</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1238</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;Want to play with Google Buzz before they get it rolled out to your GMail?&lt;/p&gt;

&lt;p&gt;The magic of Google Chrome can hook you up.&lt;/p&gt;

&lt;p&gt;Create a shortcut to Google Chrome on your desktop, righ-tclick on it, select Properties, and then paste this after everything in the &#039;Target&#039; field:&lt;blockquote&gt; --user-agent=&quot;Mozilla/5.0 (Linux; U; Android 2.0.1; en-us; Droid Build/ESD56) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17&quot;&lt;/blockquote&lt;/p&gt;

&lt;p&gt;(That&#039;s two dashes before user-agent, not a hyphen. I can&#039;t figure out how to get my auto-formatting to display it properly. Also, you might need to replace the quotes with non-&quot;smartquotes.&quot; Smartquotes are DUMB.)&lt;/p&gt;

&lt;p&gt;Then go to m.google.com and click on Buzz. This will, however, make all pages Chrome loads behave as if you&#039;re browsing them from a Motorola Droid, so it&#039;s advisable to make another desktop shortcut with user-agent=&quot;&quot; to reset everything.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1238-Helpful-Hacks-tricking-Google-Buzz-into-letting-you-in.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1238" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Tue, 09 Feb 2010 16:03:33 -0800</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1238-guid.html</guid>
    <category>google</category>
<category>google buzz</category>
<category>google chrome</category>
<category>hacking</category>
<category>howto</category>

</item>
<item>
    <title>Converting Amazon Kindle For PC Books Now Possible</title>
    <link>http://nyquil.org/archives/1235-Converting-Amazon-Kindle-For-PC-Books-Now-Possible.html</link>
    
    <comments>http://nyquil.org/archives/1235-Converting-Amazon-Kindle-For-PC-Books-Now-Possible.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1235</wfw:comment>

    <slash:comments>97</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1235</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;UPDATE 2/11/2010: Updated the included unswindle to the latest version, fixes errors on unDRMed books.
UPDATE 2/27/2010: Added specification that users install the 32-bit version of python 2.6 for Windows, even on 64-bit systems.
UPDATE 4/30/2010: Added link to older version of Kindle for PC&lt;/p&gt;

&lt;p&gt;People have been asking me if there&#039;s a way to convert Kindle books downloaded with Amazon&#039;s Kindle For PC application pretty much since the day it was released. Sadly, despite a lot of tinkering on my part, there was no elegant solution&lt;sup&gt;*&lt;/sup&gt; until now.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://i-u2665-cabbages.blogspot.com/2009/12/circumventing-kindle-for-pc-drm.html#&quot;&gt;A fantastic Kindle For PC conversion tool has been made.&lt;/a&gt; And it works really, really well. And it is significantly easier than the old &quot;Kindle-only&quot; method. &lt;/p&gt;

&lt;p&gt;Here&#039;s how it works:&lt;/p&gt;

&lt;p&gt;0) Install Kindle for PC. The latest version of Kindle for PC has broken the scripts, so install &lt;a href=&quot;http://dl.dropbox.com/u/2992929/KindleForPC-installer.exe&quot;&gt;this older version&lt;/a&gt;, and make sure you disable automatic updates in Kindle for PC&#039;s settings.&lt;/p&gt;

&lt;p&gt;1) Install &lt;b&gt;32-bit&lt;/b&gt; python 2.6 for Windows from here (even if your system is 64-bit you need the 32-bit version in order for this to work) : &lt;a href=&quot;http://www.python.org/download/&quot;&gt;http://www.python.org/download/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Download &lt;a href=&quot;http://nyquil.org/uploads/unswindle.zip&quot;&gt;unswindle.pyw and mobidedrm.py via this zip file&lt;/a&gt; and unzip it somewhere on your PC&lt;/p&gt;

&lt;p&gt;3) Open the unzipped folder and double-click unswindle.pyw&lt;/p&gt;

&lt;p&gt;Kindle For PC will now open. &lt;/p&gt;

&lt;p&gt;4) Select the book you want to convert.&lt;/p&gt;

&lt;p&gt;5) When the book loads, simply exit Kindle For PC&lt;/p&gt;

&lt;p&gt;A &#039;Save&#039; dialog will open asking you where you want to save your new decrypted .mobi file. And we&#039;re done.&lt;/p&gt;

&lt;p&gt;(As it uses mobidedrm, it still won&#039;t work on Topaz/.tpz files, and the first one I tried happened to be one. Still, most books will work.)&lt;/p&gt;

&lt;p&gt;&lt;hr /&gt;
&lt;b&gt;*&lt;/b&gt;: I did work out a scheme wherein you record video of your desktop, scroll through the book in Kindle For PC, remove all duplicate frames from the resultant video and then convert to PDF, but it was rather unwieldy.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1235-Converting-Amazon-Kindle-For-PC-Books-Now-Possible.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1235" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Wed, 23 Dec 2009 09:03:58 -0800</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1235-guid.html</guid>
    <category>drm</category>
<category>hacking</category>
<category>howto</category>
<category>kindle</category>

</item>
<item>
    <title>HOWTO: Send your Google Voice Calls to your Google Talk/GMail Voice Chat</title>
    <link>http://nyquil.org/archives/1224-HOWTO-Send-your-Google-Voice-Calls-to-your-Google-TalkGMail-Voice-Chat.html</link>
    
    <comments>http://nyquil.org/archives/1224-HOWTO-Send-your-Google-Voice-Calls-to-your-Google-TalkGMail-Voice-Chat.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1224</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1224</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;I&#039;ve just discovered something kind of cool:  if you want to place and receive free Google Voice calls via your computer, leaving your phone out of the loop altogether, it&#039;s now possible to skip the installation of Gizmo, relying instead on the functionality already present in GMail.&lt;/p&gt;

&lt;p&gt;I was playing with the settings for Gizmo while trying to improve &lt;a href=&quot;http://nyquil.org/archives/1218-Unlimited-Free-Calls-Using-Google-Voice-and-Gizmo.html&quot;&gt;my method of making free, minute-less VOIP calls from my Android phone&lt;/a&gt; and noticed that it now has the option to forward some or all calls to your Gizmo number over to Skype or Google Talk.  If you opt for Google Talk -- and if your operating system supports it&lt;sup&gt;1&lt;/sup&gt; -- you can answer/place calls just using GMail&#039;s chat system.  It&#039;s as easy as when you try to &lt;a href=&quot;http://www.o2.co.uk/&quot;&gt;find o2 Mobile Phones&lt;/a&gt;, there&#039;s nothing complicated about opting for Google Talk. No otherwise-unused software to install at all.&lt;/p&gt;

&lt;p&gt;Here&#039;s how:&lt;/p&gt;

&lt;p&gt;1a) Create a Gizmo account &lt;a href=&quot;https://my.gizmo5.com/gizmo5/app?class=MySip;proc=start&quot;&gt;here&lt;/a&gt; (if you don&#039;t already have one)&lt;/p&gt;

&lt;p&gt;1b) Configure Google Voice for use with Gizmo following &lt;a href=&quot;http://www.google.com/support/voice/bin/answer.py?hl=en&amp;amp;answer=115122&quot;&gt;these instructions&lt;/a&gt; (if you haven&#039;t already done so)&lt;/p&gt;

&lt;p&gt;2) Log into Gizmo&#039;s settings page &lt;a href=&quot;https://my.gizmo5.com/gizmo5/app?class=MySip;proc=start&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;3) Scroll down to the &#039;Forwarding&#039; section.  It looks like this:
&lt;!-- s9ymdb:630 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;450&quot; height=&quot;122&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://nyquil.org/uploads/gizmoforward.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;4) Select &#039;forward all calls&#039; and put in your GMail username in the appropriate field and Click &#039;Save.&#039;&lt;/p&gt;

&lt;p&gt;That&#039;s all the configuration that&#039;s required.&lt;/p&gt;

&lt;p&gt;Now when someone calls your Google Voice number, in addition to your phone ringing, your GMail (or Google Talk desktop client) will beep at you telling you a call is incoming.&lt;/p&gt;

&lt;p&gt;If you want to place a call, you just need to use Google Voice&#039;s web interface.  Click &#039;Call,&#039; put in the desired number, and then select your Gizmo number as the callback number.  Your GMail will then ring.  When you answer it, you&#039;ll hear the number you just dialed ringing.&lt;/p&gt;

&lt;p&gt;Have fun.&lt;/p&gt;

&lt;p&gt;&lt;hr /&gt;&lt;b&gt;1&lt;/b&gt;: Unless you&#039;re a freak like me running some crazy non-Windows, non-Mac operating system you&#039;ll be fine. If you &lt;i&gt;are&lt;/i&gt; a freak like me, you can either keep using Gizmo, or have Gizmo auto-forward your calls to Skype and do it that way.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1224-HOWTO-Send-your-Google-Voice-Calls-to-your-Google-TalkGMail-Voice-Chat.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1224" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Sun, 26 Jul 2009 14:42:33 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1224-guid.html</guid>
    <category>free calls</category>
<category>Gizmo</category>
<category>google</category>
<category>Google Talk</category>
<category>Google Voice</category>
<category>howto</category>
<category>VOIP</category>

</item>
<item>
    <title>Unlimited Free Calls Using Google Voice and Gizmo</title>
    <link>http://nyquil.org/archives/1218-Unlimited-Free-Calls-Using-Google-Voice-and-Gizmo.html</link>
    
    <comments>http://nyquil.org/archives/1218-Unlimited-Free-Calls-Using-Google-Voice-and-Gizmo.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1218</wfw:comment>

    <slash:comments>29</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1218</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;Today, after some tinkering, I accomplished something of which I&#039;ve long dreamt: placing a Voice-Over-IP call, from a real phone number to a real phone number, from my Android phone, using only my 3G/EDGE data connection. No plan minutes or &lt;a href=&quot;http://www.megapath.com/voice/hosted/&quot;&gt;hosted PBX&lt;/a&gt; phone service involved.&lt;/p&gt;

&lt;p&gt;Here&#039;s a brief how-to (that&#039;s not even dependent upon having an Android phone):&lt;/p&gt;

&lt;p&gt;1) Get &lt;a href=&quot;http://google.com/voice&quot;&gt;Google Voice&lt;/a&gt;.  (This step is going to be kind of a buzzkill for most people, as Google is still in some sort of indeterminate closed beta with the Google Voice system.  I&#039;m not exactly sure how I ended up with access, so I don&#039;t know what to tell you to do to get it too.)&lt;/p&gt;

&lt;p&gt;2) Create a free &lt;a href=&quot;http://gizmo5.com&quot;&gt;Gizmo&lt;/a&gt; account.  &lt;/p&gt;

&lt;p&gt;3) In your Google Voice settings, add the &#039;SIP&#039; address that Gizmo gives you to your Google Voice account, selecting &#039;Gizmo&#039; as the type of number. (&lt;a href=&quot;http://www.google.com/support/voice/bin/answer.py?hl=en&amp;amp;answer=115122&quot;&gt;Detailed instructions&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;4) Install a Gizmo-compatible client on your phone.  The folks at Gizmo have written clients for many popular phones.  You can get one at &lt;a href=&quot;http://gizmo5.com/pc/products/mobile/&quot;&gt;http://gizmo5.com/pc/products/mobile/&lt;/a&gt;.  If your phone supports &#039;J2ME,&#039; then chances are they&#039;ve got you covered.  &lt;/p&gt;

&lt;p&gt;(On Android, I installed &#039;&lt;a href=&quot;http://sipdroid.org&quot;&gt;sipdroid&lt;/a&gt;,&#039; which isn&#039;t a Gizmo-specific application, but one that can handle any Voice-Over-IP service. (You can find sipdroid in the Android Market, but that version only works via wi-fi.  Get the full version which supports 3G/EDGE calling via their site.) Configure it using the info from &lt;a href=&quot;http://support.gizmo5.com/index.php?_m=knowledgebase&amp;amp;_a=viewarticle&amp;amp;kbarticleid=83&quot;&gt;the Gizmo support page&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;5) Use Google Voice&#039;s web interface to tell it to call whatever number you want, selecting your Gizmo number as the one to ring when connecting. (Gizmo offers incoming calls for free; telling Google Voice to initiate a call and ring your Gizmo is technically an incoming call, even when you&#039;re calling a friend.)&lt;/p&gt;

&lt;p&gt;6) Tell the Gizmo client on your phone to answer the call.  You&#039;re now connected, and you&#039;re not using any minutes.&lt;/p&gt;

&lt;p&gt;A nice side-effect of this Gizmo compatibility is that you can run Gizmo clients on any computers you have around.  When someone calls your Google Voice number, all the computers will &#039;ring&#039; as well as your cellphone, so you can answer it from one of them instead.  More minutes saved.&lt;/p&gt;

&lt;p&gt;&lt;font color=red&gt;UPDATE&lt;/font&gt;: If you only want to place/receive calls from your computer, h&lt;a href=&quot;http://nyquil.org/archives/1224-HOWTO-Send-your-Google-Voice-Calls-to-your-Google-TalkGMail-Voice-Chat.html&quot;&gt;ere&#039;s how to do it from GMail/Google Talk instead of Gizmo&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1218-Unlimited-Free-Calls-Using-Google-Voice-and-Gizmo.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1218" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Wed, 10 Jun 2009 08:52:33 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1218-guid.html</guid>
    <category>android</category>
<category>cheapskate</category>
<category>free</category>
<category>gizmo</category>
<category>google</category>
<category>google talk</category>
<category>google voice</category>
<category>howto</category>
<category>voice over ip</category>
<category>voip</category>

</item>
<item>
    <title>Easy Auto-download of Recurring Content from Usenet</title>
    <link>http://nyquil.org/archives/1189-Easy-Auto-download-of-Recurring-Content-from-Usenet.html</link>
    
    <comments>http://nyquil.org/archives/1189-Easy-Auto-download-of-Recurring-Content-from-Usenet.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1189</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1189</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;There are things on Usenet that you want to download regularly.  Doing so is a time-consuming chore that&#039;d be better accomplished through automation.  This guide aims to show you how.&lt;/p&gt;

&lt;p&gt;The problem with Usenet is that, even with the requisite utilities, you still find yourself manually extracting RAR files, applying PAR2 files to regenerate missing chunks, and then disposing of all the compressed/encoded files after extracting your media file.  Not to mention seeking out and downloading every episode of everything you want to download.  It&#039;s not for the faint of heart.&lt;/p&gt;

&lt;p&gt;Here&#039;s where it gets awesome, though.  There&#039;s a &lt;a href=&quot;http://www.sabnzbd.org/&quot;&gt;free, open-source application called SABnzbd+&lt;/a&gt;, available for every platform, that does all that for you.  Even awesomer, it can monitor RSS feeds and watch for user-defined strings in the filenames to facilitate the automatic downloading, unpacking, repairing, renaming and moving of files into your media library with zero intervention on the user&#039;s part.  After setting up SABnzbd, the content you want to download is magically downloaded FOR you, with no intervention on your part.  This is the future, and it is AWESOME.&lt;/p&gt;

&lt;p&gt;To get started with your magical new life of automatic content delivery, you first need a Usenet account.  And, you&#039;re probably going to want a &#039;premium&#039; account, meaning that you&#039;ll have to spend some money every month.  There are many different options when choosing premium Usenet providers, but I recommend Giganews.  They even have a free trial, allowing you to see how awesome this whole thing can be.  You can sign up for your free trial by clicking the nifty banner below. (We&#039;ll supposedly get referral credit or something if you end up being a paying customer.)&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://www.giganews.com/?a=nyquil&quot;&gt;&lt;img src=&quot;http://www.giganews.com/banners/nyquil/gn_static_ad.jpg&quot; alt=&quot;Giganews Newsgroups&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;The next thing you need to do is &lt;a href=&quot;http://www.sabnzbd.org/download/&quot;&gt;install SABnzbd on a computer in your household&lt;/a&gt;. On Mac/Windows it&#039;s a super-easy installer, and it runs using a web interface rather than a GUI.  Upon installation you&#039;ll need to specify the username/password for your Giganews (or other Usenet provider) in the Config tab.&lt;/p&gt;

&lt;p&gt;The next stop is giving SABnzbd one or more RSS feeds to monitor looking for things to download.  There are many different options for sites that provide RSS feeds of nzb files.  &lt;a href=&quot;http://www.google.com/search?q=nzb+sites+rss&quot;&gt;A quick Google search&lt;/a&gt; can help you find one that has the type of content you&#039;re looking for.  Once you add a feed, you can enter in names/words in filenames to either &#039;accept&#039; or &#039;reject.&#039;  SABnzbd will then periodically check the rss feed, and when it finds an nzb that matches your rules, it queues it for download.&lt;/p&gt;

&lt;p&gt;You then configure the Folders option to specify where you want finished downloads to end up.  That&#039;s really all there is to it.  Now your computer will periodically check any configured RSS feeds for things it should download, and when it finds something, it just does.  And then it decompresses, repairs (if necessary), and then gets rid of the compressed stuff.  No muss, no fuss.  Set it and forget it.&lt;/p&gt;

&lt;p&gt;An average 360meg file downloads in about 2 and a half minutes.  But you don&#039;t care how fast it is because it&#039;ll just be there waiting for you automatically.&lt;/p&gt;

&lt;p&gt;An added perk, is the &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/7617&quot;&gt;SABnzbd Firefox extension&lt;/a&gt; , which gives you a constant indicator of things that are downloading, right in your browser&#039;s status bar -- and also the ability to click on any nzb file from any nzb search engine and have SABnzbd automagically start downloading it, even if you&#039;re surfing from a different computer than SABnzbd is running on.  Very awesome.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;UPDATE:&lt;/b&gt; I&#039;ve now written an app for Android phones that will allow you to queue nzb files on your SABnzbd installation: &lt;a href=&quot;http://nyquil.org/archives/1212-A-Little-Demo-of-NZBdroid,-my-first-Android-app-now-available-in-the-Android-Marketplace!.html&quot;&gt;NZBdroid&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1189-Easy-Auto-download-of-Recurring-Content-from-Usenet.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1189" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Thu, 02 Apr 2009 11:44:03 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1189-guid.html</guid>
    <category>automation</category>
<category>howto</category>
<category>sabnzbd</category>
<category>the future</category>
<category>tv</category>
<category>usenet</category>

</item>
<item>
    <title>Converting Kindle Books:  a painful process that works for reading Kindle books without a Kindle</title>
    <link>http://nyquil.org/archives/1128-Converting-Kindle-Books-a-painful-process-that-works-for-reading-Kindle-books-without-a-Kindle.html</link>
    
    <comments>http://nyquil.org/archives/1128-Converting-Kindle-Books-a-painful-process-that-works-for-reading-Kindle-books-without-a-Kindle.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1128</wfw:comment>

    <slash:comments>144</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1128</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;&lt;b&gt;&lt;font color=&#039;red&#039;&gt;Update&lt;/font&gt;: This tutorial is largely superseded by the much nicer and easier &#039;Kindle For PC&#039; method: &lt;a href=&quot;http://nyquil.org/archives/1235-Converting-Amazon-Kindle-For-PC-Books-Now-Possible.html&quot;&gt;see it here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UPDATE 2: included Preston Lee&#039;s online PID generator.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;D got a big fat &lt;a href=&quot;http://turbotax.intuit.com/&quot;&gt;tax refund&lt;/a&gt;, so she recently bought one of those new-fangled Amazon Kindle thingies for purchasing and reading books in an electronic form.  (She loves it.)&lt;br /&gt;&lt;br /&gt;I like to read books in an electronic form on my iPhone, but find that it&#039;s pretty hard to come by them legally; there are many different sellers and formats, some of which have certain books but not others.  Sometimes they have the book, but not in a format I can do anything with.  It&#039;s generally easier just to illegally download them from torrent sites.&lt;br /&gt;&lt;br /&gt;Amazon has tons and tons of books available for Kindle, and have chosen the standard MobiPocket format as the one their reader uses, meaning it is theoretically trivial to purchase them and convert them to something else.  Except that they won&#039;t sell them to you unless you have already purchased a $400ish Kindle on which to read them.  Meaning you don&#039;t need to convert them...&lt;br /&gt;&lt;br /&gt;In any case, now that our household has a Kindle, it frees me up to purchase books from Amazon in Kindle format without actually having a Kindle myself.  I then just remove the DRM that Amazon puts in the files (to keep people from converting them, natch), and then convert them to HTML or txt to read in &lt;a href=&quot;http://code.google.com/p/iphoneebooks/&quot;&gt;Books.app&lt;/a&gt; on iPhone.  Want to know how to do the same thing?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Howto:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Step 1) Find someone with a Kindle.&lt;br /&gt;&lt;br /&gt;Step 2) On their Kindle, go to the Settings menu, and type &#039;411&#039; on the keypad.  This will bring up a little information dialog with a bunch of things in it, of which you only need the Serial. It is a 16-character string of letters and numbers.  Write it down.&lt;br /&gt;&lt;br /&gt;Step 3) Ask the Kindle&#039;s owner to buy a book for you.  Give them some money so you don&#039;t look like a mooch.  Once you&#039;ve given them the money, ask them to log in to their Amazon account and navigate to their &#039;&lt;a href=&quot;http://www.amazon.com/gp/ays?ie=UTF8&amp;amp;app=download&amp;amp;path=%2Fgp%2Fays&amp;amp;dlCategory=fiona_ebook&amp;amp;useRedirectOnSuccess=1&quot;&gt;Kindle Downloads&lt;/a&gt;&#039; page from your computer.  When they complain, mention that you&#039;ve already given them money.  The Kindle Downloads page will list all the books they&#039;ve purchased, and yours should be right at the top.  Click &#039;Download to computer&#039; and you&#039;ll get a file named &#039;Title-of-Book.azw&#039;&lt;br /&gt;&lt;br /&gt;Step 4) Download &lt;a href=&quot;http://nyquil.org/uploads/MobiDeDRM.zip&quot;&gt;MobiDeDRM.zip&lt;/a&gt;, which is a small suite of Python scripts that some kind soul wrote and then distributed through links that expire all the time and can be kind of a pain to track down. I&#039;ve hosted them from my site so that they won&#039;t expire. This .zip file contains mobidedrm.py, mobidedrm2.py, kindlepid.py and mobihuff.py.&lt;br /&gt;&lt;br /&gt;(These scripts require that you install Python on your system, which is something outside the scope of this howto.  I&#039;m on linux, but there&#039;s a Python for Windows called &quot;ActiveState Python.&quot;  Google will help.) &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strike&gt;After unzipping the archive, open up a terminal window and pass the Kindle&#039;s serial # (which you previously wrote down) to kindlepid.py.  Something like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;python kindlepid.py XXXXXXXXXXXXXXXX&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Where all those Xs are replaced with the Kindle serial number.  It will return something that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Mobipocked PID for Kindle serial# XXXXXXXXXXXXXXXX is Z1QFCDQ*74&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Make note of that last 10-character gibberish.&lt;/strike&gt;  &lt;/p&gt;

&lt;p&gt;The easiest way to get your PID (or secret code used to unlock the Kindle book) is to use &lt;a href=&quot;http://kindletools.prestonlee.com&quot;&gt;Preston Lee&#039;s online Kindle PID generator&lt;/a&gt;. Simply follow the instructions there.&lt;/p&gt;

&lt;p&gt;Now that you&#039;ve got your PID, we&#039;ll need to remove the DRM from any books purchased for that Kindle.&lt;br /&gt;&lt;br /&gt;Step 5) Now it&#039;s time to remove the DRM.  Do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;python mobidedrm.py Title-of-Book.azw Title-of-Book.mobi Z1QFCDQ&lt;em&gt;74&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;where my 10-character gibberish string is replaced with the one you made note of in the last step.  This will take about a minute, and when it finishes you&#039;ll see:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Decrypting. Please wait... done&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now you will have a decrypted MobiPocket-formatted ebook that you can read in any MobiPocket reader.&lt;br /&gt;&lt;br /&gt;If, however, you want to convert it to HTML to read on any device you wish, you&#039;ll want to install &lt;a href=&quot;https://dev.mobileread.com/trac/mobiperl/&quot;&gt;MobiPerl&lt;/a&gt;. (This, of course, will require you to install Perl.  MobiPerl&#039;s website will walk you through that.)&lt;br /&gt;&lt;br /&gt;6)  With MobiPerl installed, do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;mobi2html Title-of-Book.mobi&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This will create a directory named &#039;unpacked&#039; that will contain Title-of-Book.html&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Things that can go wrong:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Amazon seems to compress longer books in a slightly different manner than shorter books.  If your resulting .mobi file and/or .html file are oddly gibberishy (for example, if the first line starts in the middle of a sentence, and clearly not the beginning of the book), let&#039;s go back to step 5.&lt;br /&gt;&lt;br /&gt;Step 5b) These &#039;huffdic-compressed&#039; books require a slightly different script to remove the DRM.  Do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;python mobidedrm2.py Title-of-Book.azw Title-of-Book.mobi Z1QFCDQ&lt;/em&gt;74&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note the &#039;2&#039; in &#039;mobidedrm2.py&#039; in this one and remember to replace my gibberish PID with yours.&lt;br /&gt;&lt;br /&gt;6b) The &#039;huffdic-compressed&#039; files also require a different script to convert them to HTML.  Do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;python mobihuff.py Title-of-Book.mobi Title-of-Book.html&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This script will output the .html file in the directory from which you are running it.&lt;br /&gt;&lt;br /&gt;All in all, this is as much of a pain as it looks, but the selection and availability of books on Amazon makes it worthwhile to me.  They have far more books than The Pirate Bay does, and I feel better paying for them&lt;br /&gt;&lt;br /&gt;Good luck.&lt;br /&gt;
&lt;p&gt;&lt;font color=&#039;red&#039;&gt;Update&lt;/font&gt;: several readers have alerted me that there&#039;s a much newer version of mobiDeDRM available.  You can download it &lt;a href=&quot;http://nyquil.org/uploads/mobidedrm0.5.py&quot; &gt;here&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1128-Converting-Kindle-Books-a-painful-process-that-works-for-reading-Kindle-books-without-a-Kindle.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1128" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Fri, 11 Jul 2008 11:33:18 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1128-guid.html</guid>
    <category>amazon</category>
<category>geeky</category>
<category>hacking</category>
<category>howto</category>
<category>iPhone</category>
<category>kindle</category>

</item>
<item>
    <title>I've delved into OpenID delegation, and now it's time to share the fruits of my labor</title>
    <link>http://nyquil.org/archives/1125-Ive-delved-into-OpenID-delegation,-and-now-its-time-to-share-the-fruits-of-my-labor.html</link>
    
    <comments>http://nyquil.org/archives/1125-Ive-delved-into-OpenID-delegation,-and-now-its-time-to-share-the-fruits-of-my-labor.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=1125</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=1125</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;I&#039;ve been recently toying with &lt;a href=&quot;http://openid.net&quot;&gt;OpenID&lt;/a&gt; stuff, and found that it is far more useful than it seems at first glance.   What&#039;s not apparent is that if you have a website, you can configure things to use its URL as your OpenID even if you&#039;re using AOL/LiveJournal/MyOpenID.net/etc for your OpenID authentication.  This allows you to re-configure it at a later date using any service you&#039;d like, without having to change your OpenID sign-in info.  It doesn&#039;t get much more &quot;open&quot; than that. &lt;/p&gt;

&lt;p&gt;It&#039;s kind of complicated, and it requires a fair bit of reasearch to find the info you need to make it work, so people who &lt;i&gt;are&lt;/i&gt; aware of this functionality probably don&#039;t care enough to do the work.  It&#039;s with that in mind that I&#039;ve done the research and created a little configurator-thingy to make it as easy as possible for anyone hosting a website to set this up.   &lt;/p&gt;

&lt;p&gt;Introducing &lt;a href=&quot;http://moreopenid.org&quot;&gt;MOREopenID.org&lt;/a&gt;.  One selection and two input boxes gets you one file to upload to your server and a short block of tags to paste into your website&#039;s head section, putting you in complete control of your OpenID identity forever.  If you decide to change OpenID providers at some point, simply come back and do the steps again.&lt;/p&gt;

&lt;p&gt;Things are still pretty rough at this stage, so I&#039;d appreciate it if you wouldn&#039;t social-network it to death (yet) or anything, but I&#039;d be much obliged if you&#039;d try it out and give me feedback on what I should do to make it better -- and especially so if you have any problems.  If any part of it at all is confusing, I would like to hear about it.&lt;/p&gt;

&lt;p&gt;Thanks a ton.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/1125-Ive-delved-into-OpenID-delegation,-and-now-its-time-to-share-the-fruits-of-my-labor.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=1125" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Sun, 06 Jul 2008 11:39:22 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/1125-guid.html</guid>
    <category>geeky</category>
<category>howto</category>
<category>openid</category>
<category>openid configuration</category>
<category>openid delegation</category>

</item>
<item>
    <title>No More Squishies! A Web Video Aspect Ratio Howto</title>
    <link>http://nyquil.org/archives/867-No-More-Squishies!-A-Web-Video-Aspect-Ratio-Howto.html</link>
    
    <comments>http://nyquil.org/archives/867-No-More-Squishies!-A-Web-Video-Aspect-Ratio-Howto.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=867</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=867</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;Tired of nearly every video I watch on YouTube and Google video being displayed at the improper aspect ratio, I decided to do a little testing to determine just what you need to do to get your widescreen video to display correctly on these web video services.&lt;/p&gt;

&lt;p&gt;First up, I decided to see whether either of these services respected the aspect ratio flag video encoders can set to alter the aspect ratio at playback time.&amp;#160; This is most commonly seen on so-called &quot;anamorphic&quot; DVDs, where the video is encoded at 720x480, but is scaled up to 854x480 to display the picture at the proper 16:9 aspect ratio.&amp;#160; This is the most efficient way to encode content, as you get the benefit of both a smaller resolution and proper widescreen playback.&amp;#160; The problem, however, is that many lazily-coded applications such as freeware DVD rippers, freeware screenshot grabbers, Windows Media Player, etc ignore them completely, choosing to instead display them at the resolution at which it was encoded rather than the one at which it&#039;s supposed to be played back.&amp;#160; This results in tall skinny people -- and one very annoyed internet curmudgeon.&amp;#160; (That&#039;s me.)&amp;#160; &lt;/p&gt;

&lt;p&gt;With this in mind, I crafted a short video that&#039;s encoded at 320x240, but set to display at 426x240. (426 / 240 = ~1.78 = 16 /9)
It looks like this:
&lt;center&gt;&lt;img src=&quot;http://nyquil.org/uploads/Screenshot-MPlayer-16x9.png&quot; height=&quot;247&quot; width=&quot;400&quot; /&gt;&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;I then submitted said video to both YouTube and GooVid, resulting in this:&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=lFVJTCQlCu0&quot;&gt;YouTube&lt;/a&gt;:
&lt;embed src=&quot;http://www.youtube.com/v/lFVJTCQlCu0&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;325&quot; width=&quot;400&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://video.google.com/videoplay?docid=4437755693247735777&amp;amp;hl=en&quot;&gt;GooVid&lt;/a&gt;:
&lt;embed style=&quot;width: 400px; height: 326px;&quot; id=&quot;VideoPlayback&quot; type=&quot;application/x-shockwave-flash&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=4437755693247735777&amp;amp;hl=en&quot; flashvars=&quot;&quot;&gt; 
&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;As you can see, both YouTube and GooVid ignore the aspect ratio setting.  This method is right out.&lt;/p&gt;

&lt;p&gt;Next up I decided to try pre-letterboxing the video to 4:3 before submitting.  I suspected that both GooVid and YouTube would display them just fine.  It looks like this:
&lt;center&gt;&lt;img src=&quot;http://nyquil.org/uploads/Screenshot-MPlayer-4x3.png&quot; width=&quot;330&quot; height=&quot;269&quot; /&gt;&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=RuVDzjM0tek&quot;&gt;YouTube&lt;/a&gt;:
&lt;embed src=&quot;http://www.youtube.com/v/RuVDzjM0tek&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;325&quot; width=&quot;400&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://video.google.com/videoplay?docid=-9090049893373349702&amp;amp;hl=en&quot;&gt;GooVid&lt;/a&gt;:
&lt;embed style=&quot;width: 400px; height: 326px;&quot; id=&quot;VideoPlayback&quot; type=&quot;application/x-shockwave-flash&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=-9090049893373349702&amp;amp;hl=en&quot; flashvars=&quot;&quot;&gt; &lt;/center&gt;&lt;/p&gt;

&lt;p&gt;As you can see, this worked OK, but it&#039;s less than ideal.  You have to increase the size of your file by encoding black bars, not to mention the extra effort required to add them.  There&#039;s got to be a better way.  Let&#039;s just try encoding the video at a resolution that matches the aspect ratio.  I chose 426x240, but you can choose any resolution you want; just make sure that when you divide the width by the height you get as close to 1.78 as possible.  As an easy reference, just take the desired height of your video, and multiply it by (16/9) in your calculator.  (240 * (16/9) = 426)  This is the proper width to which you&#039;d scale your video.  Let&#039;s take a look at the results:&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=mvtY-aS7Quc&quot;&gt;YouTube&lt;/a&gt;:
&lt;embed src=&quot;http://www.youtube.com/v/mvtY-aS7Quc&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;325&quot; width=&quot;400&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://video.google.com/videoplay?docid=3711587587944448877&amp;amp;hl=en&quot;&gt;GooVid&lt;/a&gt;:
&lt;embed style=&quot;width: 400px; height: 326px;&quot; id=&quot;VideoPlayback&quot; type=&quot;application/x-shockwave-flash&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=3711587587944448877&amp;amp;hl=en&quot; flashvars=&quot;&quot;&gt; &lt;/center&gt;&lt;/p&gt;

&lt;p&gt;As you can see, this works flawlessly on both GooVid and YouTube, and is the best method to follow when preparing your widescreen video.  No black bars.  No fuss.  No muss.  (Hint:  you can also use any aspect ratio you want. If your clip&#039;s aspect ratio needs to be 1.5:1, then just encode the video such that the width is 1.5 times the height.  So: 400x266.)&lt;/p&gt;

&lt;p&gt;If you&#039;d like to do the same test on any of the other video sites I don&#039;t have accounts on, I&#039;ve provided the videos below.  If you do these tests, please let me know the results so I can update this page with them.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://nyquil.org/videos/testaspect-320x240-16x9.avi&quot;&gt;testaspect-320x240-16x9.avi&lt;/a&gt;, &lt;a href=&quot;http://nyquil.org/videos/testaspect-320x240-4x3+Letterbox.avi&quot;&gt;testaspect-320x240-4x3+Letterbox.avi&lt;/a&gt;, &lt;a href=&quot;http://nyquil.org/videos/testaspect-426x240-16x9.avi&quot;&gt;testaspect-426x240-16x9.avi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UPDATE: &lt;a href=&quot;http://stuffem.wordpress.com/&quot; &gt;Emalyse&lt;/a&gt; submitted the test videos to dailymotion, wherein we learned that they too ignore the aspect ratio bit, and both pre-letterboxing to 4:3 and setting the video resolution to a 16:9 aspect work perfectly.  Dailymotion goes one step further, not bothering to add in letterboxing, rather it just displays the video at the proper aspect.  On Dailymotion the properly aspected resolution option becomes even more attracctive than the other video services.&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;embed src=&quot;http://www.dailymotion.com/swf/4WYyzYn7ABPWxeUW9&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;400&quot; height=&quot;316&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://www.dailymotion.com/video/x247et_testaspect320x24016x9&quot;&gt;Testaspect-320x240-16x9&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Uploaded by &lt;a href=&quot;http://www.dailymotion.com/emalyse&quot;&gt;emalyse&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;embed src=&quot;http://www.dailymotion.com/swf/6WYmHNpAdCYkYeRc9&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;400&quot; height=&quot;316&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://www.dailymotion.com/video/x23wb9_testaspect320x2404x3letterbox&quot;&gt;Testaspect-320x240-4x3+Letterbox&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Uploaded by &lt;a href=&quot;http://www.dailymotion.com/emalyse&quot;&gt;emalyse&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;embed src=&quot;http://www.dailymotion.com/swf/XoT8PZwMc396weRcK&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;400&quot; height=&quot;240&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://www.dailymotion.com/video/x23wca_testaspect426x24016x9&quot;&gt;Testaspect-426x240-16x9&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Uploaded by &lt;a href=&quot;http://www.dailymotion.com/emalyse&quot;&gt;emalyse&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/867-No-More-Squishies!-A-Web-Video-Aspect-Ratio-Howto.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=867" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Tue, 22 May 2007 18:36:33 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/867-guid.html</guid>
    <category>aspect ratios</category>
<category>google video</category>
<category>howto</category>
<category>youtube</category>

</item>
<item>
    <title>Howto: Make Google Default to Reader When Subscribing to a Feed in Firefox</title>
    <link>http://nyquil.org/archives/835-Howto-Make-Google-Default-to-Reader-When-Subscribing-to-a-Feed-in-Firefox.html</link>
    
    <comments>http://nyquil.org/archives/835-Howto-Make-Google-Default-to-Reader-When-Subscribing-to-a-Feed-in-Firefox.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=835</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=835</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;Tired of seeing this every time you use Firefox&#039;s built-in RSS handling to add a site&#039;s feed to your Google Reader account?&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;img src=&quot;http://nyquil.org/uploads/googlereaderchoose.png&quot; width=&quot;400&quot; height=&quot;238&quot;&gt;&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;Me too, so I figured out a way to get rid of it.  Now I&#039;ll show you how too.&lt;/p&gt;

&lt;p&gt;Simply type &#039;about:config&#039; into your url bar, and as soon as all that scary-looking stuff loads, scroll down until you see &#039;browser.contentHandlers.types.2.uri&#039;, and then double click it.&lt;/p&gt;

&lt;p&gt;A dialog will pop up asking for a uri, and will be pre-filled with &#039;http://fusion.google.com/add?feedurl=%s&#039;.&lt;/p&gt;

&lt;p&gt;Simply replace it with &#039;http://google.com/reader/preview/*/feed/%s&#039; then restart Firefox.&lt;/p&gt;

&lt;p&gt;Next time you click on an RSS feed, you&#039;ll see a preview of it in Google Reader, completely bypassing the option to add it to your Google homepage.  &lt;/p&gt;

&lt;p&gt;Note:  You&#039;ll need to actually click the &#039;subscribe&#039; button in the preview window to subscribe, so the sum total of clicks will be the same, they just won&#039;t be dealing with Google&#039;s bad UI decision.  Besides, it&#039;s nice to see the contents of the feed before committing to it. I routinely change my mind if a feed is only a partial-text feed.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/835-Howto-Make-Google-Default-to-Reader-When-Subscribing-to-a-Feed-in-Firefox.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=835" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Fri, 13 Apr 2007 12:52:29 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/835-guid.html</guid>
    <category>firefox</category>
<category>google</category>
<category>howto</category>
<category>rss</category>

</item>
<item>
    <title>how to keep your images safe from jerks -- but keep them visible to your RSS readers</title>
    <link>http://nyquil.org/archives/830-how-to-keep-your-images-safe-from-jerks-but-keep-them-visible-to-your-RSS-readers.html</link>
            <category>geeky</category>
    
    <comments>http://nyquil.org/archives/830-how-to-keep-your-images-safe-from-jerks-but-keep-them-visible-to-your-RSS-readers.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=830</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=830</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;So you&#039;ve got your blog all set up, you&#039;ve been publishing for a while, and all of a sudden you learn that people have been &quot;hotlinking&quot; to your images.  This outrages you, so you set up an .htaccess rule to replace any &quot;hotlinked&quot; images with a graphic that says &quot;Stealing Images Makes You A Jerk!&quot;&lt;/p&gt;

&lt;p&gt;That ought to teach those jerks for stealing your images... right?  Sure it &lt;i&gt;will&lt;/i&gt;, but I&#039;ve got a question for you:  Do you have an RSS feed?  &lt;/p&gt;

&lt;p&gt;Oh, you do?&lt;/p&gt;

&lt;p&gt;Well, you&#039;ve also just prevented all &lt;i&gt;those&lt;/i&gt; &quot;jerks&quot; who subscribe to your feed from &quot;stealing&quot; your images too.  Wait, you &lt;i&gt;want&lt;/i&gt; them to be able to see your images?  Of course you do.&lt;/p&gt;

&lt;p&gt;The trick is to set up your .htaccess file to allow certain websites to be able to display your images, while blocking everyone else.  You&#039;d do it by making your .htaccess file look something like this:&lt;/p&gt;

&lt;blockquote&gt;RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.*)?livejournal.com(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?google.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?bloglines.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?newsgator.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?yahoo.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?rojo.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?newsburst.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?pluck.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?aol.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?msn.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?ixquick.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?skweezer.*$ [NC]
RewriteRule /images/(.*).(jpg|jpeg|png|gif|bmp) /images/DoNotSteal.png [NC]&lt;/blockquote&gt;

&lt;p&gt;What that does is look to see if your image is being loaded from some other website.  If it &lt;i&gt;is&lt;/i&gt; it then checks to see if that website is one of the &quot;approved&quot; ones.  If the site in question is in the list, the image is displayed normally -- but if it&#039;s not, your &quot;Do Not Steal&quot; graphic gets displayed instead.  &lt;/p&gt;

&lt;p&gt;That list is all of the online RSS aggregators I know of.  If you want to add your friend&#039;s site to your approved list, just copy one of the lines up there, substituting in the proper domain name.   Don&#039;t include the &quot;www,&quot; because that little &quot;(.*)?&quot; will match that if it&#039;s there.&lt;/p&gt;

&lt;p&gt;If you use a reader that&#039;s not in that list, let me know so I can update the list here.&lt;/p&gt;
 &lt;p&gt;&lt;a href="http://nyquil.org/archives/830-how-to-keep-your-images-safe-from-jerks-but-keep-them-visible-to-your-RSS-readers.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=830" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Fri, 06 Apr 2007 15:01:01 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/830-guid.html</guid>
    <category>geeky</category>
<category>howto</category>
<category>htaccess</category>
<category>prevent hotlinking</category>
<category>rss</category>
<category>stealing content</category>

</item>
<item>
    <title>One Hand Shuffle Howto</title>
    <link>http://nyquil.org/archives/351-One-Hand-Shuffle-Howto.html</link>
            <category>geeky</category>
    
    <comments>http://nyquil.org/archives/351-One-Hand-Shuffle-Howto.html#comments</comments>
    <wfw:comment>http://nyquil.org/wfwcomment.php?cid=351</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://nyquil.org/rss.php?version=2.0&amp;type=comments&amp;cid=351</wfw:commentRss>
    

    <author>nospam@example.com (jer@nyquil.org)</author>
    <content:encoded>
    &lt;img src="http://nyquil.org/spacer.gif" hspace="5" align="right"&gt;&lt;p&gt;Earlier in the week I posted &lt;a href=&quot;http://nyquil.org/index.php?/archives/341-One-Handed-Shuffle,-One-Handed-Cuts.html&quot;&gt;a little video of me doing a one-handed shuffle&lt;/a&gt; (badly), and said that if there was any interest, I&#039;d post a more step-by-step instructional video.  There was, so here I go.&lt;/p&gt;

&lt;p&gt;I&#039;d just like to take a second to say that if you&#039;ve ever tried to do a one handed shuffle while making sure your shot is framed and your camera isn&#039;t running out of space and trying to mentally think about what you&#039;re saying and indicating with your hands, then you know just how difficult this is.  I left in me spraying cards everywhere in so that you can see that while it happens alot at first, it happens less frequently as you get better.  I&#039;m pretty good at it, but it still happens to me.&lt;/p&gt;

&lt;p&gt;During editing, I found that my verbalizations are neither coherent nor grammatically correct.  I feel kind of stupid about saying things George W. Bush says from time to time, but I now understand what causes him to do it. &quot;A little bit more fancier,&quot; indeed.&lt;/p&gt;

&lt;p&gt;In any case, here&#039;s the video:&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://nyquil.org/archives/351-guid.html#extended&quot;&gt;Continue reading &quot;One Hand Shuffle Howto&quot;&lt;/a&gt;&lt;p&gt;&lt;a href="http://nyquil.org/archives/351-One-Hand-Shuffle-Howto.html#comments"&gt;&lt;img src="http://nyquil.org:81/commentimage2.php?id=351" border=0 align="right"&gt;&lt;/a&gt;&lt;/p&gt;
    </content:encoded>

    <pubDate>Fri, 30 Sep 2005 15:41:53 -0700</pubDate>
    <guid isPermaLink="false">http://nyquil.org/archives/351-guid.html</guid>
    <category>cards</category>
<category>geeky</category>
<category>howto</category>

</item>

</channel>
</rss>