<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Gary Robinson's Rants</title>
    
    <link rel="alternate" type="text/html" href="http://www.garyrobinson.net/" />
    <link rel="service.post" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716" title="Gary Robinson's Rants" /> 
    <id>tag:typepad.com,2003:weblog-9716</id>
    <updated>2009-10-17T18:19:10Z</updated>
    <subtitle>Rants on Python, the digital music business, politics, and other assorted random stuff.               </subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GaryRobinsonsRants" /><feedburner:info uri="garyrobinsonsrants" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
        <title>Non-blocking raw_input for Python</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/8u5vT0gjKF4/non-blocking-raw_input-for-python.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0120a64753a8970c" title="Non-blocking raw_input for Python" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/10/non-blocking-raw_input-for-python.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0120a64753a8970c</id>
        <published>2009-10-17T11:19:10-07:00</published>
        <updated>2009-10-17T18:54:37Z</updated>
        <summary>I needed a way to allow a raw_input() call to time out. In case it's useful to anyone, I wrote this solution which works under Unix-like OS's. import signal class AlarmException(Exception): pass def alarmHandler(signum, frame): raise AlarmException def nonBockingRawInput(prompt='', timeout=20):...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Python" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml">I needed a way to allow a raw_input() call to time out. In case it's useful to anyone, I wrote this solution which works under Unix-like OS's.
<pre>
import signal

class AlarmException(Exception):
    pass
    
def alarmHandler(signum, frame):
    raise AlarmException

def nonBockingRawInput(prompt='', timeout=20):
    signal.signal(signal.SIGALRM, alarmHandler)
    signal.alarm(timeout)
    try:
        text = raw_input(prompt)
        signal.alarm(0)
        return text
    except AlarmException:
        print 'Prompt timeout. Continuing...'
    signal.signal(signal.SIGALRM, signal.SIG_IGN)
</pre>
<pre>
    return ''
</pre>
<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/8u5vT0gjKF4" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/10/non-blocking-raw_input-for-python.html</feedburner:origLink></entry>
    <entry>
        <title>Snow Leopard Guest User data loss bug</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/Ruk7gnaPMys/snow-leopard-guest-user-data-loss-bug.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0120a5dd0237970b" title="Snow Leopard Guest User data loss bug" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/10/snow-leopard-guest-user-data-loss-bug.html" thr:count="2" thr:when="2009-10-13T19:56:49Z" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0120a5dd0237970b</id>
        <published>2009-10-12T09:46:08-07:00</published>
        <updated>2009-10-13T20:06:58Z</updated>
        <summary>I've seen a number of mentions today of a bug that can cause a Snow Leopard user to lose all their data: The problem appears to manifest itself on machines which had the Guest account option enabled under Leopard and...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>I've seen a number of mentions today of a bug that can cause a Snow Leopard user to lose all their data:</p>
<blockquote>
  <p>The problem appears to manifest itself on machines which had the Guest account option enabled under Leopard and were subsequently upgraded to Snow Leopard. Users booting their machines have reported that upon start-up, they have been logged into the Guest account. Upon switching to their regular account, the affected users have been finding all of their user data missing and unrecoverable except from a backup. [<a href="http://forums.macrumors.com/showthread.php?t=801736">MacRumors</a>.]</p>
</blockquote>One user <a href="http://forums.macrumors.com/showpost.php?p=8629578&amp;postcount=21">reports</a> a way to recover the lost data. Since it's buried in a discussion thread, I'm reproducing it here (also fixing a typo pointed out by a reader of this blog):

<blockquote>
  The files were still in /Users,<br />
  recovery was not too difficult.
</blockquote>
<blockquote>
  1) su in terminal<br />
  2) mv username username.old<br />
  3) create account username<br />
  4) mv username username.new<br />
  5) mv username.old username<br />
  6) chown -R username username
</blockquote>
<p>I don't know whether it's a general fix. If you run into the bug and decide to try this solution, feel free to post your experience in the comments section!</p>
<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/Ruk7gnaPMys" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/10/snow-leopard-guest-user-data-loss-bug.html</feedburner:origLink></entry>
    <entry>
        <title>FlyFi.com upgrade</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/fD-_0XzYvMc/flyficom-upgrade.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0120a5ba7347970c" title="FlyFi.com upgrade" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/09/flyficom-upgrade.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0120a5ba7347970c</id>
        <published>2009-09-11T07:53:33-07:00</published>
        <updated>2009-09-11T14:53:33Z</updated>
        <summary>We've made a substantial upgrade to the look and feel of our Flyfi.com web site. The site does a lot, and this release has been geared toward making the functionality more readily apparent and easier to use.</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>We've made a substantial upgrade to the look and feel of our <a href="http://thenextweb.com/2009/09/10/breaking-facebook-adds-mentions-status-updates/">Flyfi.com</a> web site. The site does a lot, and this release has been geared toward making the functionality more readily apparent and easier to use.</p>
<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/fD-_0XzYvMc" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/09/flyficom-upgrade.html</feedburner:origLink></entry>
    <entry>
        <title>FlyFi Community Playlist</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/qupI05ophLc/flyfi-community-playlist.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0115725363de970b" title="FlyFi Community Playlist" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/08/flyfi-community-playlist.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0115725363de970b</id>
        <published>2009-08-02T09:39:41-07:00</published>
        <updated>2009-08-02T16:39:41Z</updated>
        <summary>If you're a Facebook user, you might want to check out my company's FlyFi Community Playlist app which lets a Facebook community collaborate on a playlist... but it's more than a playlist because it also provides tracks related to the...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>If you're a Facebook user, you might want to check out my <a href="http://www.flyfi.com/">company</a>'s <a href="http://www.facebook.com/apps/application.php?id=88270597788">FlyFi Community Playlist</a> app which lets a Facebook community collaborate on a playlist... but it's more than a playlist because it also provides tracks related to the manually entered ones.</p>

<p>A fair number of the tracks are legally downladable free MP3's, from superb artists like Randy Newman (one of my personal top 5 artists), Ani DiFranco, Suzanne Vega, Dar Williams, and many others. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/qupI05ophLc" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/08/flyfi-community-playlist.html</feedburner:origLink></entry>
    <entry>
        <title>Correction re singletons</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/FeKRIvN2kq4/correction-re-singletons.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef011571519d99970c" title="Correction re singletons" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/07/correction-re-singletons.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef011571519d99970c</id>
        <published>2009-07-29T08:36:43-07:00</published>
        <updated>2009-07-29T15:36:43Z</updated>
        <summary>The source code link presented at the main post for my singleton mixin classes was bad until now. It pointed to an earlier version that didn't have thread safety or various other improvements. Sorry.</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>The source code link presented at the main <a href="http://www.garyrobinson.net/2004/03/python_singleto.html">post</a> for my singleton mixin classes was bad until now. It pointed to an earlier version that didn't have thread safety or various other improvements. Sorry.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/FeKRIvN2kq4" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/07/correction-re-singletons.html</feedburner:origLink></entry>
    <entry>
        <title>Even more singleton improvements</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/wyUv3GPFdEA/even-more-singleton-improvements.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0115714c3234970c" title="Even more singleton improvements" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/07/even-more-singleton-improvements.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0115714c3234970c</id>
        <published>2009-07-28T05:32:30-07:00</published>
        <updated>2009-07-29T15:03:49Z</updated>
        <summary>singletonmixin now deals with cases where you want to be able to include args in calls to S.getInstance() even after the initial instantiation.</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.garyrobinson.net/2004/03/python_singleto.html">singletonmixin</a> now deals with cases where you want to be able to include args in calls to S.getInstance() even after the initial instantiation.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/wyUv3GPFdEA" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/07/even-more-singleton-improvements.html</feedburner:origLink></entry>
    <entry>
        <title>More singleton improvements</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/VThvVr5tBlk/more-singleton-improvements.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=6a00d8341da47953ef0115714a66fb970c" title="More singleton improvements" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/07/more-singleton-improvements.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d8341da47953ef0115714a66fb970c</id>
        <published>2009-07-27T19:36:53-07:00</published>
        <updated>2009-07-28T02:36:53Z</updated>
        <summary>Based on internal work and feedback appearing in comments on this blog, I've updated the Python singleton class I posted way back in 2004. That earlier post remains the place to get the code and place any further comments. It...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Based on internal work and feedback appearing in comments on this blog, I've updated the Python <a href="http://www.garyrobinson.net/2004/03/python_singleto.html">singleton</a> class I posted way back in 2004. That earlier post remains the place to get the code and place any further comments.</p>

<p>It now handles keyword arguments, and is threadsafe for singleton creation.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/VThvVr5tBlk" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/07/more-singleton-improvements.html</feedburner:origLink></entry>
    <entry>
        <title>Cable News</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/_PBmVOhR9i8/cable-news.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=68161521" title="Cable News" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/06/cable-news.html" thr:count="1" thr:when="2009-06-21T08:03:29Z" />
        <id>tag:typepad.com,2003:post-68161521</id>
        <published>2009-06-16T07:39:11-07:00</published>
        <updated>2009-06-16T14:39:11Z</updated>
        <summary>I was stunned at how poor the Iran coverage was on cable news over the weekend. Then I saw this thought from Matthew Yglesias: Whenever I find myself talking about new media to skeptics of an older generation who worry...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Current Affairs" />
        
        
<content type="html" xml:lang="ar" xml:base="http://www.garyrobinson.net/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;
I was stunned at how poor the Iran coverage was on cable news over the weekend. Then I saw this thought from &lt;a href="http://yglesias.thinkprogress.org/archives/2009/06/media-at-its-worst.php"&gt;Matthew Yglesias&lt;/a&gt;:
&lt;/p&gt;&lt;blockquote&gt;
&lt;em&gt;Whenever I find myself talking about new media to skeptics of an older generation who worry that the standards online are too debased, I try to remind people that the real debasing came with the rise of multi-channel cable news. In terms of the Iranian elections, the world&amp;#8217;s top newspapers have the people on the ground reporting the main facts, and there&amp;#8217;s lots of smart analysis from legitimate experts all over the web, but &lt;strong&gt;on television if it can&amp;#8217;t be captured by two talking heads debating each other it&amp;#8217;s like it never happened.&lt;/strong&gt;&lt;/em&gt;
(Hat tip to &lt;a href="http://www.huffingtonpost.com/2009/06/15/ifareed-zakaria-gpsi-rede_n_215596.html"&gt;Jason Linkins&lt;/a&gt;, who also provided the emphasis.) &lt;/blockquote&gt; 

I had noticed that CNN seems to show an awful lot of discussion between experts over each event -- often much more of that than direct coverage of the event itself But I'd never thought of it in quite the way Matthew puts it. Anyway, I turned on CNN this morning to see whether, for a change, they were covering Iran.
&lt;br&gt;&lt;br&gt;
And they were -- kind of. There was some talking head being asked about whether Obama should be taking more of a stand in favor of the protestors. The guy's opinion was that he should.
&lt;br&gt;&lt;br&gt;
The picture is being coming clearer. Generally CNN consists of one or more talking heads in a room, taking turns talking about whether the latest news event is being handled in accordance with their personal opinion. Proportionately speaking, there seems to be not all that much actual reporting of facts.
&lt;br&gt;&lt;br&gt;
I still don't get the reason why this is happening. Maybe it's because people find it more enjoyable than actual reporting because it's a little like gossiping about the failures of the newsmakers? Or is it that and there's a tiny bit of "human drama" when the talking heads disagree -- kind of a combination of news and reality TV? Or could it simply be that it costs less than actual reporting?  (They probably don't even have to pay the talking heads, who are happy to be there to publicize themselves.)
&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/_PBmVOhR9i8" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/06/cable-news.html</feedburner:origLink></entry>
    <entry>
        <title>Iran</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/mMpABPEtSLs/iran.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=68139537" title="Iran" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/06/iran.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-68139537</id>
        <published>2009-06-15T14:41:27-07:00</published>
        <updated>2009-06-15T21:46:08Z</updated>
        <summary>If you've been following developments in Iran, and particularly the Internet's essential role in reporting (and supporting) events, I don't have much to add. If you haven't, I strongly suggest you go to Andrew Sullivan's blog and starting following him...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Current Affairs" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>If you've been following developments in Iran, and particularly the Internet's essential role in reporting (and supporting) events, I don't have much to add. </p>

<p>If you haven't, I strongly suggest you go to <a href="http://andrewsullivan.theatlantic.com/">Andrew Sullivan's blog</a> and starting following him now -- as well taking a bit of time to look through his posts from the last couple of days. He's been doing a wonderful job. Far better than any mainstream news outlet, with the possible exception of the NY Times' <a href="http://thelede.blogs.nytimes.com/">Lede</a>. (Although the Lede doesn't present as much detail and analysis as Sullivan does -- with the help of his readers and well-chosen links to other sources.) </p>

<p>One of Sullivan's <a href="http://andrewsullivan.theatlantic.com/the_daily_dish/2009/06/twitter-vs-the-coup.html">readers</a> sums up the key role Twitter is coming to play:</p>

<blockquote><em>Ahmadinejad's and Khamenei's websites were taken down yesterday - I saw the latter go down within a couple of minutes because of a DDOS attack organised via Twitter. @StopAhmadi is a good source for tweets on this. The other important use of Twitter has been distribution of proxy addresses via Twitter. This would be how most video and pictures of today's rally have gotten out.</em></blockquote>

<p>One amazing thing is that it seems at least conceivable that the protests would not have been as successful as they currently appear to be if Twitter didn't exist.</p>

<p>Sullivan <a href="http://andrewsullivan.theatlantic.com/the_daily_dish/2009/06/yes-the-dish-is-now-green.html">suggests</a> wearing green in support of the protesters. I think that's a great idea.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/mMpABPEtSLs" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/06/iran.html</feedburner:origLink></entry>
    <entry>
        <title>Flyfi.com</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/_H9zunyPAD8/flyficom.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=67919247" title="Flyfi.com" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/06/flyficom.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-67919247</id>
        <published>2009-06-09T18:29:48-07:00</published>
        <updated>2009-06-10T01:29:48Z</updated>
        <summary>Most people reading this blog will know that I am a founder of the company that makes Flyfi.com (basically a vastly improved reboot of the old Goombah site). In the last couple of weeks we have added enormously to the...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="html" xml:lang="ar" xml:base="http://www.garyrobinson.net/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Most people reading this blog will know that I am a founder of the company that makes &lt;a href="http://www.flyfi.com/"&gt;Flyfi.com&lt;/a&gt; (basically a vastly improved reboot of the old Goombah site).&lt;/p&gt;

&lt;p&gt;In the last couple of weeks we have added enormously to the site, including improved recommendations. If you haven't checked it out, please do!&lt;/p&gt;

&lt;p&gt;Here's a note I wrote to introduce it to some high school friends who I recently reconnected with on Facebook:&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;blockquote&gt;Hi Everyone. You may remember me playing my guitar in the hallowed halls of B.H.S. In college I became interested in math &amp;#38; computer technology, and in recent years, I've come full-circle by finally merging my interests. I've co-founded a music-oriented Internet startup. Our product is &lt;a href="http://www.flyfi.com/"&gt;FlyFi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our VP/Industry Relations who, in a former life, earned 10 Grammy nominations as a producer, is now dedicated to using his industry connections for getting us the highest quality free music collection on the Internet. We've got great indie artists like Ani DiFranco, some well-known, others up-and-coming. Unlike some of our competing services you don't just hear the music for free -- you can also download many tracks as free legal MP3's. &lt;/p&gt;

&lt;p&gt;My area of focus is our music recommendation technology, which lets you type in artists you like and get music out that you'll probably also like. I love music from many genres, from the Beatles to Beethoven to John Coltrane to Leonard Cohen. But I think there are underlying commonalities in the music I most love, regardless of genre. So we have statistical algorithms that try to find music that has those commonalities for each person's tastes. &lt;/p&gt;

&lt;p&gt;Over the last 6 weeks or so, I've been completely wrapped up in putting the finishing touches on the first full release of FlyFi (which is why some of you may have noticed that my Facebook communication flow has dropped pretty much to zero). It's out now, ready for your perusal.&lt;/p&gt;

&lt;p&gt;So, if you love music, go check out FlyFi.com!&lt;/p&gt;

&lt;p&gt;Best,&lt;br /&gt;
Gary&lt;/blockquote&gt;&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/_H9zunyPAD8" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/06/flyficom.html</feedburner:origLink></entry>
    <entry>
        <title>Tom Swifties</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/RQ8WS4HvM1o/tom-swifties.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=67707401" title="Tom Swifties" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/06/tom-swifties.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-67707401</id>
        <published>2009-06-06T04:53:52-07:00</published>
        <updated>2009-06-06T11:53:52Z</updated>
        <summary>One of my more unusual pastimes is making up Tom Swifties. Examples of my efforts in this area include: "She said I look like a common farm animal!" Tom said sheepishly. and "Those damned cannibals! They're seasoning us with lemon...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Current Affairs" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>One of my more unusual pastimes is making up <a href="http://en.wikipedia.org/wiki/Tom_Swifties">Tom Swifties</a>. Examples of my efforts in this area include:</p>

<blockquote><em>"She said I look like a common farm animal!" Tom said sheepishly.</em>
</blockquote>
and

<blockquote><em>"Those damned cannibals! They're seasoning us with lemon juice!" Tom said sourly.</em></blockquote>

<p>The NY Times is having Tom Swifty <a href="http://schott.blogs.nytimes.com/2009/06/05/weekend-competition-tom-swifties/#comment-13201">contest</a> this weekend. Submissions include:</p>

<blockquote><em>"My men will never mutiny," said the Captain blithely."</em></blockquote>

<p>In the esthetic of the Tom Swifty, I believe that significant demerits apply to those where the description of the act of speaking doesn't really match the tone of what is said, such as this Times submission:</p>

<blockquote><em>"She's got my photo in her locket," said Tom independently.</em></blockquote>

<p>and this one:</p>

<blockquote><em>"What's under this green jello," Tom asked sublimely.</em></blockquote>

<p><br />
Here are two particularly fine submissions, from Chris Doyle:</p>

<blockquote><em>"I'll just have to kill the king," Reggie sighed.</em></blockquote>

<blockquote><em>"May I have this dance?" Fred asked gingerly.”</em></blockquote><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/RQ8WS4HvM1o" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/06/tom-swifties.html</feedburner:origLink></entry>
    <entry>
        <title>Inspiration from Miles, Herbie, and John</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/sDO5ZZE-CjU/inspiration-from-miles-herbie-and-john.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=67199367" title="Inspiration from Miles, Herbie, and John" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/05/inspiration-from-miles-herbie-and-john.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-67199367</id>
        <published>2009-05-23T16:47:36-07:00</published>
        <updated>2009-05-23T23:47:36Z</updated>
        <summary>From an interview of Herbie Hancock and John Mclaughlin; they'd been discussing Miles Davis: HH: We're not going to get rid of problems. I think there's a great beauty to having problems. That's one of the ways we learn. This...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>From an <a href="http://www.cs.cf.ac.uk/Dave/mclaughlin/art/hancock.html">interview</a> of <a href="http://en.wikipedia.org/wiki/Herbie_Hancock">Herbie Hancock</a> and <a href="http://en.wikipedia.org/wiki/John_McLaughlin_(musician)">John Mclaughlin</a>; they'd been discussing <a href="http://en.wikipedia.org/wiki/Miles_Davis">Miles Davis</a>:</p>

<blockquote>HH: We're not going to get rid of problems. I think there's a great beauty to having problems. That's one of the ways we learn. This is something I learned from Miles, first. I had this experience that I've talked about a lot of times. I was playing with Miles and we were doing this concert in Stuttgart. This was one of the nights when the band was hot. The stuff was burning, Tony Williams was smoking, Wayne wasä 
JM: Scrambling those eggs. 
HH: And sweating. And Miles was just playing like God-like stuff that he played. It was just smoking. And then, at this one point, which was like a peak in Miles' solo, I hit this chord that was so wrong. It was just awful. It was in the wrong place and it was like boom, I just felt like I destroyed the music. And Miles took his breath and played some notes that made my chord right. 
JM: Damn. 
HH: I don't know where he found these notes but he just wiped away the chord being wrong. He made this chord fit. I was dumbfounded. I couldn't even play for about two minutes. He just blew me away and what it taught me was that Miles didn't hear it as a mistake. He just heard it as an event. He just trusted it and did his musician thing and found the notes that fit that thing. I said, wait a minute, this is a lesson not just for music but for life. Things that happen to you are events. It's what you do with them that determine whether they're going to be problems or solutions. This is the kind of thing that I hope to develop more in my life and spread. And it's not something for just musicians, it's something that everyone can spread. 
JM: I'm on your side. We've got to encourage responsibility. We're all in it together. We need each other desperately. Now more than ever.</blockquote><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/sDO5ZZE-CjU" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/05/inspiration-from-miles-herbie-and-john.html</feedburner:origLink></entry>
    <entry>
        <title>Einstein and this blog</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/0kTi3cXjCRg/einstein-and-this-blog.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=66312885" title="Einstein and this blog" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/05/einstein-and-this-blog.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-66312885</id>
        <published>2009-05-03T11:00:41-07:00</published>
        <updated>2009-05-03T18:00:41Z</updated>
        <summary>Er, no actual relationship there. But a) This is one of the most wonderful short articles I have ever read. It's about one journalist's brief but enormously rich encounter with Einstein. b) My hypothesis in my previous post has turned...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Science" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Er, no actual relationship there. But</p>

<p>a) <a href="http://akshar.co.in/blog/archives/47">This</a> is one of the most wonderful short articles I have ever read. It's about one journalist's brief but enormously rich encounter with Einstein.</p>

<p>b) My hypothesis in my previous <a href="http://www.garyrobinson.net/2009/04/google-vs-this-blog.html">post</a> has turned out to be correct; when I type my name into Google, I am the top hit again.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/0kTi3cXjCRg" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/05/einstein-and-this-blog.html</feedburner:origLink></entry>
    <entry>
        <title>Google vs. this blog</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/TmOSZrHMVIQ/google-vs-this-blog.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=65236519" title="Google vs. this blog" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/04/google-vs-this-blog.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-65236519</id>
        <published>2009-04-08T11:37:18-07:00</published>
        <updated>2009-04-08T18:37:18Z</updated>
        <summary>This blog used to be very highly ranked on Google. But as of today, I can't find it there at all. Instead, it finds my old blog, which I haven't updated in years. But that one did get a huge...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>This blog used to be very highly ranked on Google. But as of today, I can't find it there at all. Instead, it finds my <a href="http://radio.weblogs.com/0101454/">old blog</a>, which I haven't updated in years. But that one did get a huge number of hits at one point, due to posting some anti-spam mathematical ideas. So that may be the reason for its still having a decent Google rank.</p>

<p>I have been extremely busy with <a href="http://www.flyfi.com/">FlyFi</a>, and posting on this blog has simply become a lower priority. One problem is that much of what I spend my time thinking about is business and technology ideas for FlyFi, which are not yet appropriate to share publicly!</p>

<p>Anyway, I was wondering whether, simply by posting this on my blog today, Google will see more activity and therefore make me findable again.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/TmOSZrHMVIQ" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/04/google-vs-this-blog.html</feedburner:origLink></entry>
    <entry>
        <title>30GB Zune Deaths and Rebirths</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/aPDHCJRY0R0/30gb-zune-deaths-and-rebirths.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=60664618" title="30GB Zune Deaths and Rebirths" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2009/01/30gb-zune-deaths-and-rebirths.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-60664618</id>
        <published>2009-01-01T07:25:23-08:00</published>
        <updated>2009-01-01T15:25:23Z</updated>
        <summary>You may have heard that all 30GB Zunes died last night and will be working properly again 24 hours later. In case you're interested, the C function that caused the problem is displayed and discussed at ZuneBoards. Basically, somebody did...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Music" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>You may have heard that <a href="http://gizmodo.com/5121311/30gb-zunes-failing-everywhere-all-at-once">all 30GB Zunes died last night</a> and will be working properly again 24 hours later. In case you're interested, the C function that caused the problem is displayed and discussed at <a href="http://www.zuneboards.com/forums/zune-news/38143-cause-zune-30-leapyear-problem-isolated.html">ZuneBoards</a>.</p>

<p>Basically, somebody did a poor job of leap-year handling.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/aPDHCJRY0R0" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2009/01/30gb-zune-deaths-and-rebirths.html</feedburner:origLink></entry>
    <entry>
        <title>Languages I've learned in order</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/LDTe08K0x7k/languages-ive-l.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=56252623" title="Languages I've learned in order" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2008/09/languages-ive-l.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-56252623</id>
        <published>2008-09-28T18:12:31-07:00</published>
        <updated>2008-09-29T01:12:31Z</updated>
        <summary>Another meme. IBM Basic assembly language (for 360 Series IBM mainframes) APL Nomad COBOL 8086 assembly language PL/I Focus Pascal C (and Think C, a simple OO variant) C++ Python</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Another <a href="http://blog.dougalmatthews.com/2008/09/languages-ive-learned-in-order/">meme</a>.</p>

<p><a href="http://en.wikipedia.org/wiki/IBM_Basic_assembly_language">IBM Basic assembly language</a> (for 360 Series IBM mainframes)<br />
<a href="http://en.wikipedia.org/wiki/APL_(programming_language)">APL</a><br />
<a href="http://en.wikipedia.org/wiki/Nomad_software">Nomad</a><br />
<a href="http://en.wikipedia.org/wiki/COBOL">COBOL</a><br />
<a href="http://64.233.169.104/search?q=cache:3SS0LgTIBX4J:www.elearning.strathmore.edu/file.php/225/LectureNotes/Intel8086.pdf+%228086+Assembly+Language%22&amp;hl=en&amp;ct=clnk&amp;cd=22&amp;gl=us&amp;client=safari">8086 assembly language</a><br />
<a href="http://en.wikipedia.org/wiki/PL/I">PL/I</a><br />
<a href="http://en.wikipedia.org/wiki/FOCUS">Focus</a><br />
<a href="http://en.wikipedia.org/wiki/Pascal_language">Pascal</a><br />
C (and <a href="http://en.wikipedia.org/wiki/THINK_C">Think C</a>, a simple OO variant)<br />
C++<br />
<a href="http://www.python.org/">Python</a></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/LDTe08K0x7k" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2008/09/languages-ive-l.html</feedburner:origLink></entry>
    <entry>
        <title>Magical Thinking?</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/sTIJ13WvqEg/magical-thinkin.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=55990688" title="Magical Thinking?" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2008/09/magical-thinkin.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-55990688</id>
        <published>2008-09-22T13:09:47-07:00</published>
        <updated>2008-09-22T20:09:47Z</updated>
        <summary>I read Andrew Sullivan's blog regularly. I respect and enjoy his political thinking on a daily basis. But when it comes to religion, he can't think straight. Today he said: Bill Maher attacked people of faith by making fun of...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        
        
<content type="html" xml:lang="ar" xml:base="http://www.garyrobinson.net/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I read Andrew Sullivan's blog regularly. I respect and enjoy his political thinking on a daily basis. But when it comes to religion, he can't think straight.&lt;/p&gt;

&lt;p&gt;Today he said:&lt;/p&gt;

&lt;blockquote&gt;Bill Maher &lt;a href="http://andrewsullivan.theatlantic.com/the_daily_dish/2008/09/the-palin-night.html"&gt;attacked people of faith&lt;/a&gt; by making fun of those who believe in guardian angels. But according to a new study, non-believers are far &lt;a href="http://rossdouthat.theatlantic.com/archives/2008/09/superstitious_minds.php"&gt;more superstitious&lt;/a&gt; than believers.&lt;/blockquote&gt;

&lt;p&gt;The second link above says:&lt;/p&gt;

&lt;blockquote&gt;The Gallup Organization, under contract to Baylor's Institute for Studies of Religion, asked American adults a series of questions to gauge credulity. Do dreams foretell the future? Did ancient advanced civilizations such as Atlantis exist? Can places be haunted? Is it possible to communicate with the dead? Will creatures like Bigfoot and the Loch Ness Monster someday be discovered by science?

&lt;p&gt;The answers were added up to create an index of belief in occult and the paranormal. While 31% of people who never worship expressed strong belief in these things, only 8% of people who attend a house of worship more than once a week did.&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Think about it. So, 69% of those who do never worship did not express strong belief in occult and the paranormal. But compare that to those who worship. I don't have exact figures, but I'd guess that number who believe don't believe in any such things as the "virgin birth" and the "resurrection of Christ" is low. After all, in the population-at-large, 68% do believe in the virgin birth (source: a 1994 Harris poll). The proportion who believe in that hypothesized event among those who attend services "more than once a week" is undoubtedly significantly higher.&lt;/p&gt;

&lt;p&gt;Surely, the virgin birth should be classified as paranormal if you're not simply assuming that the Christian faith is true, don't you think? It sure isn't normal. &lt;/p&gt;

&lt;p&gt;So, the correct way to read the data: among non-worshippers, we have 69% not having a strong belief in the paranormal; that proportion is significantly less than 32% for the worshippers mentioned in the quote.&lt;/p&gt;

&lt;p&gt;Andrew links to &lt;a href="http://rossdouthat.theatlantic.com/archives/2008/09/superstitious_minds.php"&gt;Russ Douthat&lt;/a&gt;, who posts the quote I posted above, and sarcastically comments on the "bold, heroic rationalism of unbelievers." Perhaps he should try some rationality himself. It couldn't hurt; might help.&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/sTIJ13WvqEg" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.garyrobinson.net/2008/09/magical-thinkin.html</feedburner:origLink></entry>
    <entry>
        <title>Photo Meme</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/reEQ0TTyoSI/photo-meme-1.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=55969364" title="Photo Meme" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2008/09/photo-meme-1.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-55969364</id>
        <published>2008-09-22T06:42:39-07:00</published>
        <updated>2008-09-22T13:42:39Z</updated>
        <summary>Instructions: Take a picture of yourself right now. Don’t change your clothes, don’t fix your hair - just take a picture. Post that picture with NO editing. Post these instructions with the picture. I think this meme may have started...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        
        
<content type="html" xml:lang="ar" xml:base="http://www.garyrobinson.net/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;img src="http://garyrob.blogs.com/Photo77.jpg" width="320" height="240" alt="photo meme"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instructions: Take a picture of yourself right now. Don&amp;#8217;t change your clothes, don&amp;#8217;t fix your hair - just take a picture. Post that picture with NO editing. Post these instructions with the picture.&lt;/p&gt;

&lt;p&gt;I think this meme may have started with &lt;a href="http://jeremyhylton.blogspot.com/2008/09/photo-meme.html"&gt;Jeremy Hilton&lt;/a&gt;, &lt;a href="http://holdenweb.blogspot.com/2008/09/photo-meme.html"&gt;and is now&lt;/a&gt; &lt;a href="http://sayspy.blogspot.com/2008/09/photo-meme.html"&gt;out&lt;/a&gt; &lt;a href="http://www.mechanicalcat.net/richard/log/Python/Photo_Meme"&gt;of&lt;/a&gt; &lt;a href="http://www.willmcgugan.com/2008/09/20/photo-meme/"&gt;control&lt;/a&gt;...&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/reEQ0TTyoSI" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://www.garyrobinson.net/2008/09/photo-meme-1.html</feedburner:origLink></entry>
    <entry>
        <title>Video debunking McCain ads -- spread it.</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/NcD9YYZ0z50/video-debunking.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=55616352" title="Video debunking McCain ads -- spread it." />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2008/09/video-debunking.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-55616352</id>
        <published>2008-09-14T14:16:09-07:00</published>
        <updated>2008-09-14T21:16:09Z</updated>
        <summary>Here's a great video debunking some of the McCain campaigns recent distortions/lies. I've always liked McCain for being a "straight talker." Now it looks like he's decided he'd rather lose his integrity than lose an election. And it's working. As...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Current Affairs" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Here's a great video debunking some of the McCain campaigns recent distortions/lies.</p>

<p>I've always liked McCain for being a "straight talker." Now it looks like he's decided he'd rather lose his integrity than lose an election. And it's <a href="http://www.pollster.com/polls/us/08-us-pres-ge-mvo.php">working</a>. </p>

<p>As I've noted on this blog <a href="http://www.garyrobinson.net/2008/03/hillarys-bosnia.html">before</a>, the Internet gives us the possibility of strengthening the power of a truth through viral dissemination of that truth. If people don't know something, it's not going to have an effect on their thinking.</p>

<p>So, if you agree that people who can't be elected honestly shouldn't be elected, please spread this video around.</p>

<p><br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/IH0xzsogzAk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><embed src="http://www.youtube.com/v/IH0xzsogzAk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344" /></object></p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/NcD9YYZ0z50" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2008/09/video-debunking.html</feedburner:origLink></entry>
    <entry>
        <title>Splitting a Python list into sublists</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GaryRobinsonsRants/~3/zhwvWGD_bGc/splitting-a-pyt.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=9716/entry_id=48273244" title="Splitting a Python list into sublists" />
        <link rel="replies" type="text/html" href="http://www.garyrobinson.net/2008/04/splitting-a-pyt.html" thr:count="2" thr:when="2009-09-28T17:26:58Z" />
        <id>tag:typepad.com,2003:post-48273244</id>
        <published>2008-04-10T12:17:21-07:00</published>
        <updated>2008-04-10T19:17:21Z</updated>
        <summary>Suppose you want to divide a Python list into sublists of approximately equal size. Since the number of desired sublists may not evenly divide the length of the original list, this task is (just) a tad more complicated than one...</summary>
        <author>
            <name>Gary Robinson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="xhtml" xml:lang="ar" xml:base="http://www.garyrobinson.net/"><div xmlns="http://www.w3.org/1999/xhtml"><p>Suppose you want to divide a Python list into sublists of approximately equal size. Since the number of desired sublists may not evenly divide the length of the original list, this task is (just) a tad more complicated than one might at first assume.</p>

<p>One <a href="http://aspn.activestate.com/ASPN/Cookbook/Python">Python Cookbook</a> <a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/425397">entry</a> is:</p>

<pre>
def slice_it(li, cols=2): 
    start = 0 
    for i in xrange(cols): 
        stop = start + len(li[i::cols]) 
        yield li[start:stop] 
        start = stop</pre>

<p>which gives the exact number of subsequences, while varying the length of the subsequences a bit if necessary. It uses Python's slicing feature to get the lengths.</p>

<p>That was written in response to an <a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/425044">earlier</a> cookbook entry which had the following one-liner: </p>

<pre>
[seq[i:i+size] for i  in range(0, len(seq), size)]</pre>

<p>I like that it's a one-liner but don't like a couple of things about it. If your goal isn't a particular sublist length but rather to divide the list up into pieces, you need another line to compute the size. And then it doesn't turn out too well. Suppose you want to divide a string of length 10 into 4 substrings:</p>

<p><br />
<pre>&gt;&gt;&gt; size=10/4<br />
&gt;&gt;&gt; size<br />
2<br />
&gt;&gt;&gt; seq = [1,2,3,4,5,6,7,8,9,10]<br />
&gt;&gt;&gt; [seq[i:i+size] for i  in range(0, len(seq), size)]<br />
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]</pre><br />
(One substring more than desired.)</p>

<p>Try setting size to 3 to get fewer substrings:</p>

<pre>&gt;&gt;&gt; size=3
&gt;&gt;&gt; [seq[i:i+size] for i  in range(0, len(seq), size)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]] </pre>
(Dissimilar lengths.)

<p>Here's a briefer one-liner using the slice idea, which doesn't require you to compute the length, and does give the exact number of subsequences you want and with lengths that are more appropriately divided:<br />
<pre><br />
[seq[i::num] for i in range(num)]</pre></p>

<p>The drawback there is that the subsequences are not actually subsequences of seq; seq is sliced and diced. But, all the elements are in the output and the subsequences are as close as possible to the same length:</p>

<pre>&gt;&gt;&gt; seq = [1,2,3,4,5,6,7,8,9,10]
&gt;&gt;&gt; [seq[i::num] for i in range(num)]
[[1, 5, 9], [2, 6, 10], [3, 7], [4, 8]]</pre><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/GaryRobinsonsRants/~4/zhwvWGD_bGc" height="1" width="1" /></div></content>


    <feedburner:origLink>http://www.garyrobinson.net/2008/04/splitting-a-pyt.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 --><!-- nhm:from_kauri -->
