<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Untiny that url!</title>
	<atom:link href="http://probablyprogramming.com/2009/04/11/untiny-that-url/feed/" rel="self" type="application/rss+xml" />
	<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/</link>
	<description>It&#039;s what I&#039;m doing, and what posts on this blog are about.</description>
	<lastBuildDate>Thu, 04 Mar 2010 13:05:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sam Johnston</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-6210</link>
		<dc:creator>Sam Johnston</dc:creator>
		<pubDate>Wed, 22 Apr 2009 09:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-6210</guid>
		<description>&lt;p&gt;G&#039;day,&lt;/p&gt;

&lt;p&gt;Did you know that &quot;rel&quot; is a space separated list, so &quot;alternate shorter&quot; is interpreted as &quot;alternate&quot; and &quot;shorter&quot;. &quot;alternate&quot; refers to the content itself, not the link (its used for e.g. atom, pdf, text versions of the same) and for &quot;shorter&quot;, what&#039;s shorter? the content?&lt;/p&gt;

&lt;p&gt;If you want to avoid any confusion (including the rel=short[_- ]?ur[il] mess) then &lt;a href=&quot;http://code.google.com/p/shortlink/&quot; rel=&quot;nofollow&quot;&gt;rel=shortlink&lt;/a&gt; is the answer you&#039;re looking for.&lt;/p&gt;

&lt;p&gt;Sam&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>G&#8217;day,</p>

<p>Did you know that &#8220;rel&#8221; is a space separated list, so &#8220;alternate shorter&#8221; is interpreted as &#8220;alternate&#8221; and &#8220;shorter&#8221;. &#8220;alternate&#8221; refers to the content itself, not the link (its used for e.g. atom, pdf, text versions of the same) and for &#8220;shorter&#8221;, what&#8217;s shorter? the content?</p>

<p>If you want to avoid any confusion (including the rel=short[_- ]?ur[il] mess) then <a href="http://code.google.com/p/shortlink/" rel="nofollow">rel=shortlink</a> is the answer you&#8217;re looking for.</p>

<p>Sam</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Saleh</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-6049</link>
		<dc:creator>Saleh</dc:creator>
		<pubDate>Fri, 17 Apr 2009 22:15:45 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-6049</guid>
		<description>&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;You can try http://untiny.com http://untiny.me .. 
It has been there for a while and supports over 75 tiny services
It has about 10 addons as well (based on API http://untiny.com/api ) in Firefox, Mac, Linux ... http://untiny.com/extra&lt;/p&gt;

&lt;p&gt;It&#039;s in Arabic in time being, but it will be available in English hopefully after few days.&lt;/p&gt;

&lt;p&gt;You can check the English version while I&#039;m translating it :=) at http://alzaid.ws/labs/untiny-en&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi</p>

<p>You can try <a href="http://untiny.com" rel="nofollow">http://untiny.com</a> <a href="http://untiny.me" rel="nofollow">http://untiny.me</a> .. 
It has been there for a while and supports over 75 tiny services
It has about 10 addons as well (based on API <a href="http://untiny.com/api" rel="nofollow">http://untiny.com/api</a> ) in Firefox, Mac, Linux &#8230; <a href="http://untiny.com/extra" rel="nofollow">http://untiny.com/extra</a></p>

<p>It&#8217;s in Arabic in time being, but it will be available in English hopefully after few days.</p>

<p>You can check the English version while I&#8217;m translating it :=) at <a href="http://alzaid.ws/labs/untiny-en" rel="nofollow">http://alzaid.ws/labs/untiny-en</a></p>

<p>Thanks</p>]]></content:encoded>
	</item>
	<item>
		<title>By: pib</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5955</link>
		<dc:creator>pib</dc:creator>
		<pubDate>Tue, 14 Apr 2009 23:23:22 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5955</guid>
		<description>&lt;p&gt;@Bill: The idea is that people should use these functions in their Twitter clients or apps that pull in tweets for one reason or another. I didn&#039;t really intend that people would run a script in bash just to find out what URL something goes to.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Bill: The idea is that people should use these functions in their Twitter clients or apps that pull in tweets for one reason or another. I didn&#8217;t really intend that people would run a script in bash just to find out what URL something goes to.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Bill</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5954</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Tue, 14 Apr 2009 21:46:21 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5954</guid>
		<description>&lt;p&gt;Perhaps I&#039;m missing something but how do you propose someone would utilize one of these tools to &quot;untiny&quot; a url in a non-intrusive way; wouldn&#039;t most people continue to just click on the URL even if they risk being Rick Rolled?&lt;/p&gt;

&lt;p&gt;Would going to the command line really be any less a pain in the ass than just clicking on the link and finding out where it goes?&lt;/p&gt;

&lt;p&gt;It seems like a more inline approach is what is needed (a greasemonkey script or something similar) that will show the expanded URL within the browser.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Perhaps I&#8217;m missing something but how do you propose someone would utilize one of these tools to &#8220;untiny&#8221; a url in a non-intrusive way; wouldn&#8217;t most people continue to just click on the URL even if they risk being Rick Rolled?</p>

<p>Would going to the command line really be any less a pain in the ass than just clicking on the link and finding out where it goes?</p>

<p>It seems like a more inline approach is what is needed (a greasemonkey script or something similar) that will show the expanded URL within the browser.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: pib</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5925</link>
		<dc:creator>pib</dc:creator>
		<pubDate>Tue, 14 Apr 2009 06:49:42 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5925</guid>
		<description>&lt;p&gt;@Alexander: That&#039;s a good point. I didn&#039;t even notice that function existed. It seems it just does a GET request, sadly, but it&#039;s still better than having all the code in my version above.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Alexander: That&#8217;s a good point. I didn&#8217;t even notice that function existed. It seems it just does a GET request, sadly, but it&#8217;s still better than having all the code in my version above.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Nyquist</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5924</link>
		<dc:creator>Alexander Nyquist</dc:creator>
		<pubDate>Tue, 14 Apr 2009 05:26:57 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5924</guid>
		<description>&lt;p&gt;For the PHP version, you have the get_headers()-function.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>For the PHP version, you have the get_headers()-function.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan de Vries</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5897</link>
		<dc:creator>Nathan de Vries</dc:creator>
		<pubDate>Mon, 13 Apr 2009 14:21:06 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5897</guid>
		<description>&lt;p&gt;You can perform a HEAD request using Ruby&#039;s Net::HTTP like this http://gist.github.com/94463&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>You can perform a HEAD request using Ruby&#8217;s Net::HTTP like this <a href="http://gist.github.com/94463" rel="nofollow">http://gist.github.com/94463</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: skeptomai</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5868</link>
		<dc:creator>skeptomai</dc:creator>
		<pubDate>Sun, 12 Apr 2009 22:49:27 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5868</guid>
		<description>&lt;p&gt;And a Common Lisp version, using Edi Weitz&#039;s Drakma http client:
(require &#039;drakma)
(lambda (url) (multiple-value-bind (body return headers) (drakma:http-request url :method :head :redirect nil) (or (cdr (assoc :LOCATION headers)) url)))&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>And a Common Lisp version, using Edi Weitz&#8217;s Drakma http client:
(require &#8216;drakma)
(lambda (url) (multiple-value-bind (body return headers) (drakma:http-request url :method :head :redirect nil) (or (cdr (assoc :LOCATION headers)) url)))</p>]]></content:encoded>
	</item>
	<item>
		<title>By: pib</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5864</link>
		<dc:creator>pib</dc:creator>
		<pubDate>Sun, 12 Apr 2009 21:22:51 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5864</guid>
		<description>&lt;p&gt;@Dan Farina&lt;/p&gt;

&lt;p&gt;I know it&#039;s not idiomatic Python, and I even came up with that same shorter solution (with a try: except: to catch invalid URLS), but the problem with that version is that it actually does two HTTP requests. I couldn&#039;t find a way to make it only do the first request.&lt;/p&gt;

&lt;p&gt;If somebody knows how to make urllib or urllib2 not follow redirects, then I will change it. Until then, this is the shortest version I could come up with that didn&#039;t involve doing some crazy stuff with subclassing urllib2.HTTPRedirectHandler&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Dan Farina</p>

<p>I know it&#8217;s not idiomatic Python, and I even came up with that same shorter solution (with a try: except: to catch invalid URLS), but the problem with that version is that it actually does two HTTP requests. I couldn&#8217;t find a way to make it only do the first request.</p>

<p>If somebody knows how to make urllib or urllib2 not follow redirects, then I will change it. Until then, this is the shortest version I could come up with that didn&#8217;t involve doing some crazy stuff with subclassing urllib2.HTTPRedirectHandler</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Farina</title>
		<link>http://probablyprogramming.com/2009/04/11/untiny-that-url/comment-page-1/#comment-5861</link>
		<dc:creator>Dan Farina</dc:creator>
		<pubDate>Sun, 12 Apr 2009 20:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://probablyprogramming.com/?p=248#comment-5861</guid>
		<description>&lt;p&gt;Not idiomatic Python. The first line in httplib docs says:&lt;/p&gt;

&lt;p&gt;&quot;This module defines classes which implement the client side of the
HTTP and HTTPS protocols. It is normally not used directly — the
module urllib uses it to handle URLs that use HTTP and HTTPS.&quot;&lt;/p&gt;

&lt;p&gt;With urllib, the following will suffice:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;import urllib

def untinyurl(tinyurl):
    return urllib.urlopen(tinyurl).geturl()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A sample interaction is as follows:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&gt;&gt;&gt; untinyurl(&#039;http://tinyurl.com/c8f5bz&#039;)
&#039;http://blog.paulbonser.com/2009/04/11/untiny-that-url/&#039;
&lt;/code&gt;&lt;/pre&gt;
</description>
		<content:encoded><![CDATA[<p>Not idiomatic Python. The first line in httplib docs says:</p>

<p>&#8220;This module defines classes which implement the client side of the
HTTP and HTTPS protocols. It is normally not used directly — the
module urllib uses it to handle URLs that use HTTP and HTTPS.&#8221;</p>

<p>With urllib, the following will suffice:</p>

<pre><code>import urllib

def untinyurl(tinyurl):
    return urllib.urlopen(tinyurl).geturl()
</code></pre>

<p>A sample interaction is as follows:</p>

<pre><code>&gt;&gt;&gt; untinyurl('http://tinyurl.com/c8f5bz')
'http://blog.paulbonser.com/2009/04/11/untiny-that-url/'
</code></pre>]]></content:encoded>
	</item>
</channel>
</rss>
