<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2titles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemtitles.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Steve Trefethen's Weblog</title>
    <description>stevetrefethen.com is the blog of Steve Trefethen. I am a software developer interested in .NET, testing, internet applications, automation and anything related to my family and friends.</description>
    <link>http://www.stevetrefethen.com/blog/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 2.0.0.36</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.stevetrefethen.com/blog/opml.axd</blogChannel:blogRoll>
    <dc:creator>Steve Trefethen</dc:creator>
    <dc:title>Steve Trefethen</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SteveTrefethensWeblog" /><feedburner:info uri="stevetrefethensweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.057575</geo:lat><geo:long>-122.015071</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><meta xmlns="http://pipes.yahoo.com" name="pipes" content="noprocess" /><image><link>http://www.stevetrefethen.com/blog/</link><url>http://feeds2.feedburner.com/~fc/SteveTrefethensWeblog?bg=FF9900&amp;amp;fg=000000&amp;amp;anim=0</url><title>Steve Trefethen's Blog</title></image><feedburner:emailServiceId>SteveTrefethensWeblog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
      <title>MerchantCircle’s New Mobile Listings</title>
      <description>&lt;p&gt;&lt;a href="http://www.merchantcircle.com/business/Mountainview.Auto.Repair.Inc..650-961-7798" target="_blank"&gt;&lt;img style="margin: 0px 0px 0px 10px; display: inline; border-width: 0px;" title="mcmobile" src="http://www.stevetrefethen.com/blog/image.axd?picture=mcmobile.png" border="0" alt="mcmobile" width="160" height="240" align="right" /&gt;Previously&lt;/a&gt; I posted about the redesign of &lt;a href="http://www.merchantcircle.com/" target="_blank"&gt;MerchantCircle&lt;/a&gt; pushed out earlier this year and this week we&amp;rsquo;ve followed up with a mobile version of business listings. The mobile implementation leverages a lot of markup generation code developed for the desktop version and offers the end user a much better experience on a small screen.&lt;/p&gt;
&lt;p&gt;At this point, we&amp;rsquo;ve working on creating more mobile versions of pages across the site as well as some of the various sign-up, and review flows.&lt;/p&gt;
&lt;p&gt;[Update May 2012] For reasons I won't go into the mobile version of listing pages have been taken down.&amp;nbsp;&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/MerchantCircle’s-New-Mobile-Listings.aspx&amp;amp;t=MerchantCircle’s New Mobile Listings" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/MerchantCircle’s-New-Mobile-Listings.aspx&amp;amp;title=MerchantCircle’s New Mobile Listings" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/MerchantCircle’s-New-Mobile-Listings.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FBCYCOWF438ecUWr4eM_bWVe8LM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FBCYCOWF438ecUWr4eM_bWVe8LM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FBCYCOWF438ecUWr4eM_bWVe8LM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FBCYCOWF438ecUWr4eM_bWVe8LM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=islL5cWIdHs:A7Qienmp1TQ:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=islL5cWIdHs:A7Qienmp1TQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=islL5cWIdHs:A7Qienmp1TQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=islL5cWIdHs:A7Qienmp1TQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/islL5cWIdHs" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/islL5cWIdHs/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/MerchantCircle’s-New-Mobile-Listings.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=62fcba9c-d938-4c8d-815f-11bfd014ee00</guid>
      <pubDate>Fri, 04 May 2012 10:00:00 -0700</pubDate>
      <category>HTML</category>
      <category>Mobile</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=62fcba9c-d938-4c8d-815f-11bfd014ee00</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=62fcba9c-d938-4c8d-815f-11bfd014ee00</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/MerchantCircle’s-New-Mobile-Listings.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=62fcba9c-d938-4c8d-815f-11bfd014ee00</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=62fcba9c-d938-4c8d-815f-11bfd014ee00</feedburner:origLink></item>
    <item>
      <title>First phase of MerchantCircle redesign goes live</title>
      <description>&lt;p&gt;Shortly after &lt;a href="http://blog.merchantcircle.com/2011/06/replycom-announces-completion-of.html" target="_blank"&gt;MerchantCircle was acquired by Reply.com&lt;/a&gt; a site redesign effort was launched and I was asked to lead the effort from the development side. At the time, I&amp;rsquo;d been working as the sole developer on &lt;a href="http://www.bloglines.com/" target="_blank"&gt;bloglines.com&lt;/a&gt; so for me this was an interesting challenge not to mention a fairly sizable gear shift. The site is built with a &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; templating engine called &lt;a href="http://www.cheetahtemplate.org/" target="_blank"&gt;Cheetah&lt;/a&gt; and consists of just over 2000 template files, in other words it&amp;rsquo;s big. It would be fair to say there was a good deal of skepticism about launching such a large undertaking and it took me a few weeks to wrestling with a few approaches before I settled on a pattern I felt comfortable with. On bloglines I&amp;rsquo;d heavily leveraged Cheetah&amp;rsquo;s support for visual inheritance, something not used in the &lt;a href="http://www.merchantcircle.com/" target="_blank"&gt;MerchantCircle&lt;/a&gt; codebase though it&amp;rsquo;s the cornerstone of the redesign.&lt;/p&gt;
&lt;p&gt;Below is the old MerchantCircle listing page (right) and the new redesign as you can see there are significant differences which are far more than skin deep.&lt;/p&gt;
&lt;table border="0" cellspacing="5" width="600"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;strong&gt;Old Design&lt;/strong&gt; &lt;br /&gt;&lt;img style="display: inline; border-width: 0px;" title="OldDesign_Nov_2011" src="http://www.stevetrefethen.com/blog/image.axd?picture=OldDesign_Nov_2011.png" border="0" alt="OldDesign_Nov_2011" width="258" height="871" /&gt;&lt;a href="http://www.stevetrefethen.com/blog/image.axd?picture=NewDesign_Nov_2011.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;strong&gt;New Design&lt;/strong&gt; &lt;br /&gt;&lt;img style="display: inline; border-width: 0px;" title="NewDesign_Nov_2011" src="http://www.stevetrefethen.com/blog/image.axd?picture=NewDesign_Nov_2011_1.png" border="0" alt="NewDesign_Nov_2011" width="265" height="554" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The redesign in the press:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://techcrunch.com/2012/02/28/reply-relaunches-merchantcircle-as-a-more-consumer-focused-merchant-marketplace/" target="_blank"&gt;Reply Relaunches MerchantCircle As A More Consumer-Focused Merchant Marketplace&lt;/a&gt; &lt;br /&gt;&lt;a href="http://content.usatoday.com/communities/technologylive/post/2012/02/reply-revamps-merchantcirclecom-in-days-leading-to-yelp-ipo" target="_blank"&gt;Reply revamps MerchantCircle.com in days leading to Yelp IPO&lt;/a&gt;&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/First-phase-of-MerchantCircle-redesign-goes-live.aspx&amp;amp;t=First phase of MerchantCircle redesign goes live" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/First-phase-of-MerchantCircle-redesign-goes-live.aspx&amp;amp;title=First phase of MerchantCircle redesign goes live" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/First-phase-of-MerchantCircle-redesign-goes-live.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/77RvlCpG_Qsc46Jn3bq8wxtriKg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/77RvlCpG_Qsc46Jn3bq8wxtriKg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/77RvlCpG_Qsc46Jn3bq8wxtriKg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/77RvlCpG_Qsc46Jn3bq8wxtriKg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=GYXGGrdzWQg:u6SD-cJj1rE:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=GYXGGrdzWQg:u6SD-cJj1rE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=GYXGGrdzWQg:u6SD-cJj1rE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=GYXGGrdzWQg:u6SD-cJj1rE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/GYXGGrdzWQg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/GYXGGrdzWQg/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/First-phase-of-MerchantCircle-redesign-goes-live.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=f294c802-d537-4099-923d-542a2206bfd7</guid>
      <pubDate>Mon, 05 Mar 2012 23:58:00 -0700</pubDate>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=f294c802-d537-4099-923d-542a2206bfd7</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=f294c802-d537-4099-923d-542a2206bfd7</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/First-phase-of-MerchantCircle-redesign-goes-live.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=f294c802-d537-4099-923d-542a2206bfd7</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=f294c802-d537-4099-923d-542a2206bfd7</feedburner:origLink></item>
    <item>
      <title>Facebook's timeline is too hard to read</title>
      <description>&lt;p&gt;&lt;a href="http://www.stevetrefethen.com/blog/image.axd?picture=image_24.png"&gt;&lt;img style="margin: 0px 0px 0px 5px; display: inline; border: 0px;" title="Difficult to read Facebook timeline" src="http://www.stevetrefethen.com/blog/image.axd?picture=image_thumb_10.png" border="0" alt="Difficult to read Facebook timeline" width="293" height="568" align="right" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Both Kristi (my wife) and I find the Facebook Timeline hard to read having converted to the timeline using the Facebook Developers trick a few months ago. She just commented "I think no one comments on your stuff because your timeline is so hard to read.". Timeline on mobile seems better as it's not left-to-right zig-zag reading.&lt;/p&gt;
&lt;h2&gt;Zig zag reading&lt;/h2&gt;
&lt;p&gt;The image to the right is my timeline as of a few minutes ago and I drew a few lines marking the path you&amp;rsquo;d need to traverse the data to read it in chronological order. I've not found any obvious way to revert though I haven&amp;rsquo;t searched very hard and now I rarely look at my own profile to find anything.&lt;/p&gt;
&lt;p&gt;Lately, it seems I get a lot less engagement on updates I post and while it&amp;rsquo;s possible I&amp;rsquo;ve &amp;ldquo;tuned&amp;rdquo; my privacy setting so as to cause this result the conclusion is the same, Facebook has become a lot less interesting. I find that if I dig into profiles including my wife&amp;rsquo;s I see lots of interesting posts that never made it to my wall which is typically dominated by a few high volume posters.&lt;/p&gt;
&lt;h2&gt;Unfriending&lt;/h2&gt;
&lt;p&gt;A few months ago I &amp;ldquo;unfriended&amp;rdquo; about 40 people leaving me with 158 which is only &lt;a href="https://www.facebook.com/press/info.php?statistics" target="_blank"&gt;slightly above average&lt;/a&gt;. I&amp;rsquo;d hope that Facebook is optimizing for people in my friend range and I&amp;rsquo;d see a greater diversity of content but that&amp;rsquo;s not the case. The current trend reminds me of the days of Yahoo&amp;rsquo;s LaunchCast Radio service (of which I was &lt;a href="http://www.stevetrefethen.com/blog/YahooMusicDayatLAUNCHcastradio.aspx" target="_blank"&gt;a big fan&lt;/a&gt;). I had 1000&amp;rsquo;s of ratings and there were times when my station made for a great listening experience and others when it was painful (like when the same Beastie Boys song would play every few songs). There was lots of tweaking to the algorithms used to craft a customized music experience and it wasn&amp;rsquo;t an easy task. I suspect Facebook has a similar yet more challenging problem so I guess it&amp;rsquo;s perhaps just time to wait and see.&lt;/p&gt;
&lt;p&gt;In the mean time I&amp;rsquo;m checking into a lot of places so I can have a &lt;a href="http://mobile.stevetrefethen.com/mobile" target="_blank"&gt;bunch of data to play with&lt;/a&gt; (btw, this link is to an application I&amp;rsquo;m experimenting with so if it doesn&amp;rsquo;t work don&amp;rsquo;t be surprised).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: Dec 27, 2011&lt;/strong&gt;&amp;nbsp;Viewing a friend's wall and clicking on the Subscribe button will reveal a dropdown that allows you to select "All Updates" which (at least in theory) should show you all of that person's posts.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Facebooks-timeline-is-too-hard-to-read.aspx&amp;amp;t=Facebook's timeline is too hard to read" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Facebooks-timeline-is-too-hard-to-read.aspx&amp;amp;title=Facebook's timeline is too hard to read" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Facebooks-timeline-is-too-hard-to-read.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eOrywAaeAGTewXp8LknJzU8ukls/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eOrywAaeAGTewXp8LknJzU8ukls/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eOrywAaeAGTewXp8LknJzU8ukls/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eOrywAaeAGTewXp8LknJzU8ukls/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=qujOf5rAnpw:wnvrWYfu_l8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=qujOf5rAnpw:wnvrWYfu_l8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=qujOf5rAnpw:wnvrWYfu_l8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=qujOf5rAnpw:wnvrWYfu_l8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/qujOf5rAnpw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/qujOf5rAnpw/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Facebooks-timeline-is-too-hard-to-read.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=aae7d6fa-f066-45b7-86f8-d40d4387e208</guid>
      <pubDate>Mon, 26 Dec 2011 20:35:00 -0700</pubDate>
      <category>Facebook</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=aae7d6fa-f066-45b7-86f8-d40d4387e208</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=aae7d6fa-f066-45b7-86f8-d40d4387e208</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Facebooks-timeline-is-too-hard-to-read.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=aae7d6fa-f066-45b7-86f8-d40d4387e208</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=aae7d6fa-f066-45b7-86f8-d40d4387e208</feedburner:origLink></item>
    <item>
      <title>Buy a Nikon D7000 with or without the kit lens?</title>
      <description>&lt;p&gt;I&amp;rsquo;m looking at buying a Nikon D7000 and I&amp;rsquo;m curious if I should simply forego the kit lens for an alternative? Alternatively, I&amp;rsquo;m thinking of getting a good 28mm lens for candids of the family/kids. The kit lens is a NIKKOR 18-105mm DX VR Lens and adds roughly $200 to the price tag.&lt;/p&gt;
&lt;p&gt;My D70 finally died after &amp;ldquo;someone&amp;rdquo; pulled the CF card out, jammed it back in getting it stuck then leaving it sticking out sideways. While I managed to straighten the pins out and reseat the card I can&amp;rsquo;t get it to read successfully even though I&amp;rsquo;ve tried reformatting and another card.&lt;/p&gt;
&lt;p&gt;Update: Dec 8. Ordered it without since the kits were out of stock.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Should-I-buy-a-Nikon-D7000-with-or-without-the-kit-lens.aspx&amp;amp;t=Buy a Nikon D7000 with or without the kit lens?" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Should-I-buy-a-Nikon-D7000-with-or-without-the-kit-lens.aspx&amp;amp;title=Buy a Nikon D7000 with or without the kit lens?" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Should-I-buy-a-Nikon-D7000-with-or-without-the-kit-lens.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eFILbzMwCsvxelyJTm7FaPjw1d8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eFILbzMwCsvxelyJTm7FaPjw1d8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eFILbzMwCsvxelyJTm7FaPjw1d8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eFILbzMwCsvxelyJTm7FaPjw1d8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=o2Q5jKefZZ4:WG8bGm_rb5Q:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=o2Q5jKefZZ4:WG8bGm_rb5Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=o2Q5jKefZZ4:WG8bGm_rb5Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=o2Q5jKefZZ4:WG8bGm_rb5Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/o2Q5jKefZZ4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/o2Q5jKefZZ4/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Should-I-buy-a-Nikon-D7000-with-or-without-the-kit-lens.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=d735c536-e534-478d-8e32-d847723eb999</guid>
      <pubDate>Wed, 07 Dec 2011 12:07:00 -0700</pubDate>
      <category>Hardware</category>
      <category>Home</category>
      <category>Photography</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=d735c536-e534-478d-8e32-d847723eb999</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=d735c536-e534-478d-8e32-d847723eb999</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Should-I-buy-a-Nikon-D7000-with-or-without-the-kit-lens.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=d735c536-e534-478d-8e32-d847723eb999</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=d735c536-e534-478d-8e32-d847723eb999</feedburner:origLink></item>
    <item>
      <title>Too many automated bill payments on the credit card</title>
      <description>&lt;p&gt;Our credit card company called yesterday and said a 3rd party database was compromised. They canceled our cards and reissued. I forgot and swiped my card at the grocery store doh! Then couldn't download something from the AppStore and couldn't stream a movie from Amazon and now I'm awaiting a slew of bill pay failures.&lt;/p&gt;
&lt;p&gt;Ah the conveniences of the modern world! It'll be nice when this is over.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Too-many-automated-bill-payments-on-the-credit-card.aspx&amp;amp;t=Too many automated bill payments on the credit card" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Too-many-automated-bill-payments-on-the-credit-card.aspx&amp;amp;title=Too many automated bill payments on the credit card" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Too-many-automated-bill-payments-on-the-credit-card.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FT3TfwDKzF2u3mmokatXminMxlk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FT3TfwDKzF2u3mmokatXminMxlk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FT3TfwDKzF2u3mmokatXminMxlk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FT3TfwDKzF2u3mmokatXminMxlk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Tj2_8mQaoNs:TdQk6xNYv7A:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Tj2_8mQaoNs:TdQk6xNYv7A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Tj2_8mQaoNs:TdQk6xNYv7A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Tj2_8mQaoNs:TdQk6xNYv7A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/Tj2_8mQaoNs" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/Tj2_8mQaoNs/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Too-many-automated-bill-payments-on-the-credit-card.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=dacf82e6-852c-41b9-a468-befee721cf27</guid>
      <pubDate>Wed, 23 Nov 2011 23:21:00 -0700</pubDate>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=dacf82e6-852c-41b9-a468-befee721cf27</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=dacf82e6-852c-41b9-a468-befee721cf27</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Too-many-automated-bill-payments-on-the-credit-card.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=dacf82e6-852c-41b9-a468-befee721cf27</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=dacf82e6-852c-41b9-a468-befee721cf27</feedburner:origLink></item>
    <item>
      <title>Configuring virtualenv to run Google appengine samples</title>
      <description>&lt;p&gt;In my experiments with Google AppEngine I wanted to configure a virtualenv using python 2.5 for running Google's samples. Using the existing python install for OSX I was running into a few errors such as:&lt;/p&gt;  &lt;pre class="brush: bash;"&gt;ImportError: No module named django&lt;/pre&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;pre class="brush: bash;"&gt;ImportError: No module named cgi&lt;/pre&gt;

&lt;p&gt;A bit of Googling turned up &lt;a title="appengine &amp;amp; virtualenv" href="http://schettino72.wordpress.com/2010/11/21/appengine-virtualenv/" target="_blank"&gt;this post&lt;/a&gt; which details all of the necessary steps. In step 2 the path I used for google_appengine was:&lt;/p&gt;

&lt;pre class="brush: bash;"&gt;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine&lt;/pre&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Configuring-virtualenv-to-run-Google-appengine-samples.aspx&amp;amp;t=Configuring virtualenv to run Google appengine samples" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Configuring-virtualenv-to-run-Google-appengine-samples.aspx&amp;amp;title=Configuring virtualenv to run Google appengine samples" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Configuring-virtualenv-to-run-Google-appengine-samples.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lz9Ivs2fs8-R9ovUQPrHxVtkGKw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lz9Ivs2fs8-R9ovUQPrHxVtkGKw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lz9Ivs2fs8-R9ovUQPrHxVtkGKw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lz9Ivs2fs8-R9ovUQPrHxVtkGKw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=-T1Zvi9V2-0:VM6pkiHWQG4:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=-T1Zvi9V2-0:VM6pkiHWQG4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=-T1Zvi9V2-0:VM6pkiHWQG4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=-T1Zvi9V2-0:VM6pkiHWQG4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/-T1Zvi9V2-0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/-T1Zvi9V2-0/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Configuring-virtualenv-to-run-Google-appengine-samples.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=167bef97-56a0-454c-ba38-9d6923c71762</guid>
      <pubDate>Sun, 20 Nov 2011 21:41:00 -0700</pubDate>
      <category>AppEngine</category>
      <category>Python</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=167bef97-56a0-454c-ba38-9d6923c71762</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=167bef97-56a0-454c-ba38-9d6923c71762</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Configuring-virtualenv-to-run-Google-appengine-samples.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=167bef97-56a0-454c-ba38-9d6923c71762</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=167bef97-56a0-454c-ba38-9d6923c71762</feedburner:origLink></item>
    <item>
      <title>Leveraging the Facebook API on Google AppEngine with jQuery Mobile</title>
      <description>&lt;p&gt;In the past I&amp;rsquo;ve built &lt;a href="http://www.stevetrefethen.com/blog/?tag=/starter+kit" target="_blank"&gt;starter kits&lt;/a&gt; for &lt;a href="http://www.stevetrefethen.com/blog/ASPNET-Facebook-Starter-Kit-updated-to-VSNET-2010.aspx" target="_blank"&gt;Facebook development in ASP.NET&lt;/a&gt; and building &lt;a href="http://www.stevetrefethen.com/blog/CruiseControlNETVSNETStarterKitforplugindevelopment.aspx" target="_blank"&gt;CruiseControl plugins&lt;/a&gt;. My latest interest has been experimenting with Google AppEngine as my day job is all python appserver stuff so it&amp;rsquo;s a pretty logical fit. I&amp;rsquo;m slowly putting together all of the pieces I&amp;rsquo;d like to have in website starter kit including support for jQuery Mobile and Facebook Graph API.&lt;/p&gt;
&lt;p&gt;I have a simple proof-of-concept app working &lt;a rel="nofollow" href="http://goo.gl/3FSwQ" target="_blank"&gt;here&lt;/a&gt;. Btw, as this is a work-in-progress it YMMV and the app may or may not be in a working state so apologies in advance.&lt;/p&gt;
&lt;p&gt;Technologies used:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/appengine/" target="_blank"&gt;Google AppEngine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cheetahtemplate.org/" target="_blank"&gt;Cheetah Templates&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.facebook.com/" target="_blank"&gt;Facebook Graph API&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jquerymobile.com/" target="_blank"&gt;jQuery Mobile&lt;/a&gt;&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Leveraging-the-Facebook-API-on-Google-AppEngine-with-jQuery-Mobile.aspx&amp;amp;t=Leveraging the Facebook API on Google AppEngine with jQuery Mobile" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Leveraging-the-Facebook-API-on-Google-AppEngine-with-jQuery-Mobile.aspx&amp;amp;title=Leveraging the Facebook API on Google AppEngine with jQuery Mobile" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Leveraging-the-Facebook-API-on-Google-AppEngine-with-jQuery-Mobile.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0Iurz54pAlUSp4iSLxZl9GZbUZI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Iurz54pAlUSp4iSLxZl9GZbUZI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0Iurz54pAlUSp4iSLxZl9GZbUZI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0Iurz54pAlUSp4iSLxZl9GZbUZI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=gNqNe-S5mrA:gfOxrJnWpaY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=gNqNe-S5mrA:gfOxrJnWpaY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=gNqNe-S5mrA:gfOxrJnWpaY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=gNqNe-S5mrA:gfOxrJnWpaY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/gNqNe-S5mrA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/gNqNe-S5mrA/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Leveraging-the-Facebook-API-on-Google-AppEngine-with-jQuery-Mobile.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=7d25d10a-4e2b-402a-b52a-3ed684ac2fb3</guid>
      <pubDate>Sun, 20 Nov 2011 13:20:00 -0700</pubDate>
      <category>AppEngine</category>
      <category>Development</category>
      <category>Facebook</category>
      <category>jQuery</category>
      <category>Mobile</category>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=7d25d10a-4e2b-402a-b52a-3ed684ac2fb3</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=7d25d10a-4e2b-402a-b52a-3ed684ac2fb3</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Leveraging-the-Facebook-API-on-Google-AppEngine-with-jQuery-Mobile.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=7d25d10a-4e2b-402a-b52a-3ed684ac2fb3</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=7d25d10a-4e2b-402a-b52a-3ed684ac2fb3</feedburner:origLink></item>
    <item>
      <title>Casualty of a Google Panda Update?</title>
      <description>&lt;p&gt;I'm beginning to wonder if my blog has become a casualty of a &lt;a href="http://en.wikipedia.org/wiki/Google_Panda" target="_blank"&gt;Google Panda&lt;/a&gt; update. Looking at Analytics my traffic is down 40% over the last month yet I've only posted a handful of times. That's a pretty dramatic drop when nothing else on the site has materially changed. As I search on Google for post that I've written which have driven traffic to this blog they're nowhere to be found.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.stevetrefethen.com/blog/image.axd?picture=2011%2f11%2fScreen+shot+2011-11-12+at+11.05.00+AM.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Then again, perhaps I'm just getting punished for my &lt;a href="http://www.stevetrefethen.com/blog/Moving-from-Android-to-Apple-with-my-next-cell-phone-upgrade.aspx" target="_blank"&gt;Leaving Andriod&lt;/a&gt; post.&amp;nbsp;&lt;img title="Tongue out" src="http://www.stevetrefethen.com/blog/editors/tiny_mce_3_3_9_2/plugins/emotions/img/smiley-tongue-out.gif" border="0" alt="Tongue out" /&gt;&amp;nbsp;(but seriously, that post was on Oct 20th)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update Jan 16, 2012: &lt;/strong&gt;Down traffic continues to the point where my traffic is 1/3 of what it was a year ago.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Casualty-of-a-Google-Panda-Update.aspx&amp;amp;t=Casualty of a Google Panda Update?" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Casualty-of-a-Google-Panda-Update.aspx&amp;amp;title=Casualty of a Google Panda Update?" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Casualty-of-a-Google-Panda-Update.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-Dg5Q2OmM7vK1XiUBqwiOx1Mko0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Dg5Q2OmM7vK1XiUBqwiOx1Mko0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-Dg5Q2OmM7vK1XiUBqwiOx1Mko0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Dg5Q2OmM7vK1XiUBqwiOx1Mko0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=QVdYfcPh6L4:fJprrmDPhJY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=QVdYfcPh6L4:fJprrmDPhJY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=QVdYfcPh6L4:fJprrmDPhJY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=QVdYfcPh6L4:fJprrmDPhJY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/QVdYfcPh6L4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/QVdYfcPh6L4/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Casualty-of-a-Google-Panda-Update.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=5c194156-f281-420a-851e-f6736e612a17</guid>
      <pubDate>Sat, 12 Nov 2011 11:00:00 -0700</pubDate>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=5c194156-f281-420a-851e-f6736e612a17</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=5c194156-f281-420a-851e-f6736e612a17</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Casualty-of-a-Google-Panda-Update.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=5c194156-f281-420a-851e-f6736e612a17</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=5c194156-f281-420a-851e-f6736e612a17</feedburner:origLink></item>
    <item>
      <title>Pretty printing a Python dictionary to HTML</title>
      <description>Here’s a routine I wrote to pretty print a Python dict into an HTML table and though I’d share.  &lt;pre class="brush: py;"&gt;    def prettyTable(dictionary, cssClass=''):
        ''' pretty prints a dictionary into an HTML table(s) '''
        if isinstance(dictionary, str):
            return '&amp;lt;td&amp;gt;' + dictionary + '&amp;lt;/td&amp;gt;'
        s = '&amp;lt;table '
        if cssClass != '':
            s += 'class=&amp;quot;%s&amp;quot;' % (cssClass)
        s += '&amp;gt;\n'
        for key, value in dictionary.iteritems():
            s += '&amp;lt;tr&amp;gt;\n  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;%s&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;\n' % str(key)
            if isinstance(value, dict):
                if key == 'picture' or key == 'icon':
                    s += '  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;%s&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;\n' % Page.prettyTable(value, cssClass)
                else:
                    s += '  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;\n' % Page.prettyTable(value, cssClass)
            elif isinstance(value, list):
                s += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;table&amp;gt;&amp;quot;
                for i in value:
                    s += '&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;\n' % Page.prettyTable(i, cssClass)
                s += '&amp;lt;/table&amp;gt;'
            else:
                if key == 'picture' or key == 'icon':
                    s += '  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;%s&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;\n' % value
                else:
                    s += '  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;\n' % value
            s += '&amp;lt;/tr&amp;gt;\n'
        return s + '&amp;lt;/table&amp;gt;\n'&lt;/pre&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/Pretty-printing-a-Python-dictionary-to-HTML.aspx&amp;amp;t=Pretty printing a Python dictionary to HTML" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/Pretty-printing-a-Python-dictionary-to-HTML.aspx&amp;amp;title=Pretty printing a Python dictionary to HTML" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/Pretty-printing-a-Python-dictionary-to-HTML.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4NDwWPwSp4f13Nppv0yk2GajOKQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4NDwWPwSp4f13Nppv0yk2GajOKQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4NDwWPwSp4f13Nppv0yk2GajOKQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4NDwWPwSp4f13Nppv0yk2GajOKQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=csMnLE1a5Nw:1VdLxwPvkpI:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=csMnLE1a5Nw:1VdLxwPvkpI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=csMnLE1a5Nw:1VdLxwPvkpI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=csMnLE1a5Nw:1VdLxwPvkpI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/csMnLE1a5Nw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/csMnLE1a5Nw/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/Pretty-printing-a-Python-dictionary-to-HTML.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=26f58fe6-7136-41c8-a480-0229736b9d57</guid>
      <pubDate>Mon, 31 Oct 2011 23:08:19 -0700</pubDate>
      <category>HTML</category>
      <category>Development</category>
      <category>Python</category>
      <dc:publisher>steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=26f58fe6-7136-41c8-a480-0229736b9d57</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=26f58fe6-7136-41c8-a480-0229736b9d57</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/Pretty-printing-a-Python-dictionary-to-HTML.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=26f58fe6-7136-41c8-a480-0229736b9d57</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=26f58fe6-7136-41c8-a480-0229736b9d57</feedburner:origLink></item>
    <item>
      <title>CNN's sad attempt to use Mike Arrington</title>
      <description>&lt;p&gt;While browsing tech news this morning I stumbled into &lt;a href="http://uncrunched.com/2011/10/28/oh-shit-im-a-racist/"&gt;Mike Arrington's post&lt;/a&gt;&amp;nbsp;about an interview he did with CNN. While I'm not always a fan of Arrington, though in this case, I completely accept his explaination of what happened in his interview with Solidad O'Brien. I've never read CNN for Tech news and rarely look at it otherwise though this incident will further cement that relationship (or lack thereof).&lt;/p&gt;
&lt;p&gt;Oh and my prior and current CEO where Egyption and Persian respectively, both Entreprenuers.&lt;/p&gt;&lt;div class="socialBookmarksContainer"&gt;&lt;a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.stevetrefethen.com/blog/CNNs-sad-attempt-to-use-Mike-Arrington.aspx&amp;amp;t=CNN's sad attempt to use Mike Arrington" target="_blank" title="Facebook"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/Facebook_48.png" style="border: 0;" alt="Facebook" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://del.icio.us/post?url=http://www.stevetrefethen.com/blog/CNNs-sad-attempt-to-use-Mike-Arrington.aspx&amp;amp;title=CNN's sad attempt to use Mike Arrington" target="_blank" title="Del.icio.us"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/delicious_48.png" style="border: 0;" alt="Del.icio.us" /&gt;&lt;/a&gt;&lt;a rel="nofollow" href="http://digg.com/submit/?url=http://www.stevetrefethen.com/blog/CNNs-sad-attempt-to-use-Mike-Arrington.aspx" target="_blank" title="Digg It!"&gt;&lt;img width="48" height="48" src="/blog/themes/stevewhite/images//socialbookmarks/square/digg_48.png" style="border: 0;" alt="Digg It!" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QiBF3Kay_NxOhOxsUaiRGCC-mKM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QiBF3Kay_NxOhOxsUaiRGCC-mKM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QiBF3Kay_NxOhOxsUaiRGCC-mKM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QiBF3Kay_NxOhOxsUaiRGCC-mKM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Czln0yaVFu8:b-rBAL2HU-Y:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Czln0yaVFu8:b-rBAL2HU-Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:IlIkOUNlVJg"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=IlIkOUNlVJg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?i=Czln0yaVFu8:b-rBAL2HU-Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?a=Czln0yaVFu8:b-rBAL2HU-Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SteveTrefethensWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SteveTrefethensWeblog/~4/Czln0yaVFu8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/SteveTrefethensWeblog/~3/Czln0yaVFu8/post.aspx</link>
      <author>steve@stevetrefethen.com</author>
      <comments>http://www.stevetrefethen.com/blog/CNNs-sad-attempt-to-use-Mike-Arrington.aspx#comment</comments>
      <guid isPermaLink="false">http://www.stevetrefethen.com/blog/post.aspx?id=54d07e48-e365-42b8-bba9-3b97768e091d</guid>
      <pubDate>Sat, 29 Oct 2011 09:24:00 -0700</pubDate>
      <dc:publisher>Steve</dc:publisher>
      <pingback:server>http://www.stevetrefethen.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.stevetrefethen.com/blog/post.aspx?id=54d07e48-e365-42b8-bba9-3b97768e091d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.stevetrefethen.com/blog/trackback.axd?id=54d07e48-e365-42b8-bba9-3b97768e091d</trackback:ping>
      <wfw:comment>http://www.stevetrefethen.com/blog/CNNs-sad-attempt-to-use-Mike-Arrington.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.stevetrefethen.com/blog/syndication.axd?post=54d07e48-e365-42b8-bba9-3b97768e091d</wfw:commentRss>
    <feedburner:origLink>http://www.stevetrefethen.com/blog/post.aspx?id=54d07e48-e365-42b8-bba9-3b97768e091d</feedburner:origLink></item>
  </channel>
</rss>

