<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>thinking stiff</title>
	<atom:link href="http://blog.thinkingstiff.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.thinkingstiff.com</link>
	<description></description>
	<lastBuildDate>Sun, 22 Jan 2012 19:48:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.thinkingstiff.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/e83b6e63b2d20e183cd3e7689a83ea74?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>thinking stiff</title>
		<link>http://blog.thinkingstiff.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.thinkingstiff.com/osd.xml" title="thinking stiff" />
	<atom:link rel='hub' href='http://blog.thinkingstiff.com/?pushpress=hub'/>
		<item>
		<title>How to make a contenteditable &lt;div&gt;  look like an &lt;input&gt; element or &lt;textarea&gt;</title>
		<link>http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/</link>
		<comments>http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 19:32:26 +0000</pubDate>
		<dc:creator>thinkingstiff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[contenteditable]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[textarea]]></category>

		<guid isPermaLink="false">http://blog.thinkingstiff.com/?p=191</guid>
		<description><![CDATA[Webkit browsers (Chrome/Safari) have a very old, and still outstanding, bug (#38943) with the ::selection pseudo-element: they totally ignore the background-color property. In my answer to &#8220;CSS3 &#8211; How to style the selected text in textareas and inputs in Chrome?&#8221; on Stack Overflow, I outline that it is possible, to get around this issue using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=191&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://thinkingstiff.files.wordpress.com/2012/01/screen-shot-2012-01-21-at-3-25-05-pm.png?w=600" alt="" title="contenteditable div and text area clones"   class="alignnone size-full wp-image-192" /></p>
<p>Webkit browsers (Chrome/Safari) have a very old, and still outstanding, bug (<a href="https://bugs.webkit.org/show_bug.cgi?id=38943">#38943</a>) with the <code>::selection</code> pseudo-element: they totally ignore the <code>background-color</code> property.</p>
<p>In my answer to &#8220;<a href="http://stackoverflow.com/q/8438418/918414">CSS3 &#8211; How to style the selected text in textareas and inputs in Chrome?</a>&#8221; on Stack Overflow, I outline that it is possible, to get around this issue using the <code>contenteditable</code> attribute because the <code>::selection background-color</code> property is not ignored on <code>&lt;divs&gt;</code>. The look of both <code>&lt;input&gt;</code> and <code>&lt;textarea&gt;</code> elements can be can be duplicated with a <code>&lt;div&gt;</code>, <code>contenteditable</code>, and some CSS. </p>
<p>I further expanded the code in my answer to &#8220;<a href="http://stackoverflow.com/q/8956567/918414">How do I make an editable DIV look like a text field?</a>&#8220;. The resulting <code>&lt;input&gt;</code> and <code>&lt;textarea&gt;</code> clones look nearly identical to their native counterparts on Chrome, Safari and Firefox. Opera and IE9 don&#8217;t look the same, but are still decent.</p>
<p>Demo: <a href="http://jsfiddle.net/ThinkingStiff/FcCgA/">http://jsfiddle.net/ThinkingStiff/FcCgA/</a></p>
<p><strong>CSS:</strong></p>
<p><pre class="brush: css;">
textarea {
    height: 28px;
    width: 400px;
}

#textarea {
    -moz-appearance: textfield-multiline;
    -webkit-appearance: textarea;
    border: 1px solid gray;
    font: medium -moz-fixed;
    font: -webkit-small-control;
    height: 28px;
    overflow: auto;
    padding: 2px;
    resize: both;
    width: 400px;
}

input {
    margin-top: 5px;
    width: 400px;
}

#input {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    background-color: white;
    background-color: -moz-field;
    border: 1px solid darkgray;
    box-shadow: 1px 1px 1px 0 lightgray inset;  
    font: -moz-field;
    font: -webkit-small-control;
    margin-top: 5px;
    padding: 2px 3px;
    width: 398px;    
}
</pre></p>
<p><strong>HTML:</strong></p>
<p><pre class="brush: xml;">
&lt;textarea&gt;I am a textarea&lt;/textarea&gt;
&lt;div id=&quot;textarea&quot; contenteditable&gt;I look like textarea&lt;/div&gt;

&lt;input value=&quot;I am an input&quot; /&gt;
&lt;div id=&quot;input&quot; contenteditable&gt;I look like an input&lt;/div&gt;
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingstiff.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingstiff.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingstiff.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=191&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Thinking Stiff</media:title>
		</media:content>

		<media:content url="http://thinkingstiff.files.wordpress.com/2012/01/screen-shot-2012-01-21-at-3-25-05-pm.png" medium="image">
			<media:title type="html">contenteditable div and text area clones</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone Notification Badge in CSS</title>
		<link>http://blog.thinkingstiff.com/2012/01/21/iphone-notification-badge-in-css/</link>
		<comments>http://blog.thinkingstiff.com/2012/01/21/iphone-notification-badge-in-css/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 22:31:45 +0000</pubDate>
		<dc:creator>thinkingstiff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[notification]]></category>

		<guid isPermaLink="false">http://blog.thinkingstiff.com/?p=183</guid>
		<description><![CDATA[Demo: http://jsfiddle.net/ThinkingStiff/X7dLh/ Looks good in webkit (and great on the iPhone), but needs work in -moz, -o, and -ms. Most likely an inner span for the number. HTML: CSS:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=183&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-187" title="iPhone Notification Badge - CSS" src="http://thinkingstiff.files.wordpress.com/2012/01/screen-shot-2012-01-21-at-2-27-34-pm.png?w=600" alt="iPhone Notification Badge - CSS"   /></p>
<p>Demo: <a href="http://jsfiddle.net/ThinkingStiff/X7dLh/" title="http://jsfiddle.net/ThinkingStiff/X7dLh/">http://jsfiddle.net/ThinkingStiff/X7dLh/</a></p>
<p>Looks good in webkit (and great on the iPhone), but needs work in -moz, -o, and -ms. Most likely an inner span for the number.</p>
<p><strong>HTML:</strong></p>
<p><pre class="brush: xml;">&lt;div class=&quot;badge&quot;&gt;1&lt;/div&gt;</pre></p>
<p><strong>CSS:</strong></p>
<p><pre class="brush: css;">
.badge {
background: radial-gradient( center -9px, circle closest-side, white 0, red 26px );
background: -moz-radial-gradient( center -9px, circle closest-side, white 0, red 26px );
background: -ms-radial-gradient( center -9px, circle closest-side, white 0, red 26px );
background: -o-radial-gradient( center -9px, circle closest-side, white 0, red 26px );
background: -webkit-radial-gradient( center -9px, circle closest-side, white 0, red 26px );
background-color: red;
border: 2px solid white;
border-radius: 12px; /* must be 1/2 of ( border-width*2 + width ) */
box-shadow: 1px 1px 1px black;
color: white;
font: bold 17px/15px Helvetica, Verdana, Tahoma;
height: 18px; /* height + padding-top must equal width */
padding-top: 2px; /* height + padding-top must equal width */
text-align: center;
width: 20px;
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingstiff.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingstiff.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingstiff.wordpress.com/183/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=183&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.thinkingstiff.com/2012/01/21/iphone-notification-badge-in-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Thinking Stiff</media:title>
		</media:content>

		<media:content url="http://thinkingstiff.files.wordpress.com/2012/01/screen-shot-2012-01-21-at-2-27-34-pm.png" medium="image">
			<media:title type="html">iPhone Notification Badge - CSS</media:title>
		</media:content>
	</item>
		<item>
		<title>Open Letter to Reed Hastings &amp; Netflix</title>
		<link>http://blog.thinkingstiff.com/2011/09/19/open-letter-to-reed-hastings-netflix/</link>
		<comments>http://blog.thinkingstiff.com/2011/09/19/open-letter-to-reed-hastings-netflix/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:56:18 +0000</pubDate>
		<dc:creator>thinkingstiff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[matt walton]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[qwikster]]></category>
		<category><![CDATA[reed hastings]]></category>
		<category><![CDATA[thinkingstiff]]></category>

		<guid isPermaLink="false">http://blog.thinkingstiff.com/?p=162</guid>
		<description><![CDATA[Dear Mr. Hastings, Every so often some genius with a crazy idea comes along and creates a product that is so brilliant it becomes an integral part of the fabric of society. These people usually have a bold and overreaching vision, an intense passion for what they do, a cocky belief that they can change [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=162&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dear Mr. Hastings,</p>
<p>Every so often some genius with a crazy idea comes along and creates a product that is so brilliant it becomes an integral part of the fabric of society. These people usually have a bold and overreaching vision, an intense passion for what they do, a cocky belief that they can change things, and are willing to make the risky, bet-the-company moves that such a dream requires. Throw in a bit of serendipity and they change the world. You, sir, are one of those people, and Netflix is one of those products. You&#8217;re a hero.</p>
<p>When a product reaches the status of Netflix, it&#8217;s a household name. It becomes the generic term for its entire industry. Your product becomes more than just what you&#8217;re selling, your brand is your product. At that point, you practically have to kick your customers in the face to get them to stop giving you money.</p>
<p>Netflix is there. You&#8217;ve created a multibillion-dollar company that grows by huge amounts every quarter. You win. You did it. Congratulations! Netflix is invisible and indispensable. I&#8217;ve never been able to imagine not having it; it&#8217;s like my electric bill. For some time now I&#8217;ve viewed Netflix as this untouchable company that would continue to grow and innovate, and slowly take over the dated cable-television empire. No one has come close to being able to compete with you.</p>
<p>I have been a member of Netflix since the summer of of 1999, before subscriptions started, when you paid per movie (twelve years!). I found your service after the frustration of paying $56 in late fees at Blockbuster once for a single movie. I was so furious, that I still get riled up thinking about it. I signed up for your subscription plan in December of 1999 and the first movie I got was Intolerance (1916) (for a film history class). I kept it for a YEAR! At first it was just because it&#8217;s a difficult film to sit through. Slowly, the longer I kept it, it became a test of your &#8220;no late fees&#8221; mantra, almost like I was taking out my $56 late fee on that movie! I kept expecting to get an email from you guys asking where it was. Then finally, and triumphantly, it became an icon for the success of your business model. I was sold. I bragged about Netflix to everyone and would show them my copy of Intolerance (&#8220;No, seriously. No late fees, EVER!&#8221;).</p>
<p>I&#8217;m a very loyal customer and loyalty means a lot to me. In the last several years you&#8217;ve made changes that have made the service less useful to me, but the brand always won out. I just couldn&#8217;t ditch it. You slowly started dumping all social aspects of Netflix. I used to love logging in and rating all my movies so my friends could see what I was watching and what I like and vice versa. It made my movie watching experience much more enjoyable. While the whole world was becoming more social and connected online, Netflix was becoming an isolated website I rarely logged into. These changes have resulted in me using Netflix less and less. I slowly stopped rating films because there was no one to show them to. Before long I realized the same three DVDs have been on my shelf for six months. But I still kept the brand. I still kept paying.</p>
<p>The industry has changed a lot since you started Netflix. There are now many options for watching content online. I&#8217;ve been an Amazon Prime member for awhile now and out of nowhere they started offering free movies. And iTunes&#8217; selection and interface is amazing. Despite all my choices, I still chose Netflix. I just kept thinking, &#8220;That&#8217;s nice, but I already have Netflix.&#8221;</p>
<p>You have obviously made some great decisions at Netflix as the company is wildly successful. You&#8217;ve made some decisions that seemed crazy at the time, like dumping your set-top box on the eve of its release, that turned out to be the right ones. And I know you think this change you&#8217;re making is one of those decisions. You don&#8217;t want to miss the boat on streaming and not be the premier company in that space. You think this is a brilliant and misunderstood move and that time will prove you right. And I really truly hope you&#8217;re right, but I think you&#8217;re wrong.</p>
<p>Some companies &#8212; huge, untouchable, world-changing companies &#8212; slowly drift into obscurity (think IBM) and some companies fall almost overnight (think Friendster, then MySpace). What makes companies fall overnight is a shift in the collective mindset. Such a change requires a catalyst, that kick in the face I mentioned earlier. For MySpace users, the kick in the face was Facebook. And once you get kicked in the face it shocks you into seeing things differently. It&#8217;s like a spell is broken. And then, without even knowing exactly how it happened, yesterday you thought MySpace was irreplaceable, and today you&#8217;ll never log on again. Shifts in collective mindsets topple countries.</p>
<p>For Netflix customers, our kick in the face has been a triple whammy. First, there was a price increase. This was obvious and offensive to many people because it was so huge. This one didn&#8217;t really phase me. The second one was much more subtle and took a few weeks for its implications to sink in for me, the splitting of DVDs and streaming. By splitting them out, you created a new way of looking at your product. Before it was just a ridiculously large library of DVDs plus the added bonus of UNLIMITED streaming now and then when one of my shows or movies was available. It was a package that caused me to never think about either. Upon splitting I suddenly realized that they both suck for me. When I was forced to view DVDs separately, I realized I wasn&#8217;t watching nearly enough to make the plan worth it. And when forced to view streaming separately, I realized how deficient the library was, especially compared to other options. It wasn&#8217;t a viable product on its own. Before viewing them separately I never cared about this.</p>
<p>Yet, still, after all this, and hearing the grumbling all over the internet, I was willing to stay with you. I was going to pay the new price for both plans and go back to not thinking about it. That was until I heard about the third kick in the face, Qwikster. Companies don&#8217;t split up when they are successful. They grow and acquire. Companies have to be forced to split up by the government or they split up due to seriously bad financial circumstances. Your shareholders have shown you what they think of Qwikster. The explanation you give, wanting to promote the products separately, doesn&#8217;t make any rational sense. Everyone, from four-year-olds to 99-year-olds, knows what Netflix is and what it does. You could use that brand to sell anything even remotely movie-related. And trying to sell the skeletal remains that is left after removing DVDs as &#8220;Netflix&#8221; seems futile.</p>
<p>Why not use the gigantic cash-cow, that is DVD rentals, to fund the fledgling streaming business until that becomes a viable option? Everyone knows streaming is the future. Everyone wants that future. Eventually DVDs will die out naturally. You can&#8217;t force the market.</p>
<p>Please, Reed, make the crazy, rash, hugely disruptive decision to REVERSE your decision to split up Netflix. Give us back our old Netflix. Give us back the one thing that no one else was giving us: unlimited DVDs and unlimited streaming in a single package.</p>
<p>I love Netflix. And for the first time in twelve years I&#8217;m actually seriously considering canceling my account. Once my DVDs move to Qwikster, I won&#8217;t even have &#8220;Member since December 1999&#8243; on my account page. And while that seems petty, it means a lot to me.</p>
<p>Thanks for listening,<br />
A Very Loyal Customer<br />
Matt Walton</p>
<p style="font-size:11px;">
Share: <a href="http://digg.com/submit?phase=2&amp;url=XXXX&amp;title=YYYY">Digg</a> . <a href="http://del.icio.us/post?url=XXXX&amp;title=YYYY">del.icio.us</a> . <a href="http://www.stumbleupon.com/submit?url=XXXX&amp;title=YYYY">StumbleUpon</a> . <a href="http://www.facebook.com/share.php?u=XXXX">Facebook</a> . <a href="http://twitter.com/home/?status=YYYY - XXXX">Twitter</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingstiff.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingstiff.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingstiff.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=162&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.thinkingstiff.com/2011/09/19/open-letter-to-reed-hastings-netflix/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Thinking Stiff</media:title>
		</media:content>
	</item>
		<item>
		<title>Cursebird Leaderboard</title>
		<link>http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard/</link>
		<comments>http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:11:23 +0000</pubDate>
		<dc:creator>thinkingstiff</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[curse]]></category>
		<category><![CDATA[cursebird]]></category>
		<category><![CDATA[cuss]]></category>
		<category><![CDATA[swear]]></category>
		<category><![CDATA[top leaderboard]]></category>

		<guid isPermaLink="false">http://thinkingstiff.wordpress.com/?p=91</guid>
		<description><![CDATA[The programmer of Cursebird, @richardhenry, has released a preliminary leaderboard (That would have saved me a lot of time three weeks ago!). One interesting thing I see on the list is that @bollocks gets every one of his tweets counted because of his name. He doesn&#8217;t even have to bother cussing. Leaderboard Problems Most people [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=91&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The programmer of Cursebird, <a href="http://twitter.com/richardhenry">@richardhenry</a>, has released a preliminary <a href="http://farm4.static.flickr.com/3263/3253838328_ac3bc0d67d_o.png">leaderboard</a> (That would have saved me a lot of time three weeks ago!). One interesting thing I see on the list is that <a href="http://cursebird.com/bollocks">@bollocks</a> gets every one of his tweets counted because of his name. He doesn&#8217;t even have to bother cussing.</p>
<h3>Leaderboard Problems</h3>
<p>Most people have wanted to see a leaderboard, but they haven&#8217;t necessarily thought through what that means. As I was <a href="http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/">working with @ThinkgingStiff</a>, I thought a lot about the problems of creating one. Most people want bots excluded, and that seems easy at first. Bots like <a href="http://twitter.com/ThinkingStiff">@ThinkingStiff</a> and <a href="http://twitter.com/fuckbot">@Fuckbot</a> are obviously there just to get to the top. But since Twitter doesn&#8217;t forbid bots, it leaves the job of excluding them up to the programmer. A first pass cleaning of them would be easy enough, but they will keep coming, I imagine, and it will become a daily task.</p>
<p>You also have bots that are reposting articles, scanning websites for keywords, or aggregating data. These are useful outside of the Cursebird universe and many of them are interesting and have many followers. Should they be excluded? After that, would come real people that are cussing their hearts out just to make it to the top. They have real accounts, real friends, and are really cussing. As soon as you have a leaderboard, people are going to compete to get to the top. That is just human nature. So pretty soon, you can be sure, the leaderboard will be all people that are trying to be there. It&#8217;s not very easy to determine who is just trying to  be on the list and who just cusses a lot.</p>
<p>And once Cusrsebird has a list, with rules about who can be on it, there will inevitably be &#8220;good citizens&#8221; who want to rid the world of wrongdoers who will be scanning everyone&#8217;s tweets looking for &#8220;fakes.&#8221; They will then email the programmer to complain. Trying to keep the leaderboard clean would not be a job I would want to manually tackle on a daily basis.</p>
<p>Another problem I thought of is the effects of a leaderboard on website performance. Once there is a leaderboard, everyone will be clicking on these people to see who they are. Currently, it displays every swear a tweeter has ever said. For someone like @ThinkingStiff, at over 7000 swears, it takes a long time for the page to load. Only displaying the previous 500 might help with that.</p>
<h3>Possible Solutions</h3>
<p>It seems like all the manual solutions suck. I thought about a few automated ways to make bots less likely, but all of them depend on processing time on the database, and I don&#8217;t know how much time Cursebird has free in a day.</p>
<p>1. Limit the total daily swears to something more human, say 50. Twitter&#8217;s limit is 1000, of which about 500 will get counted (<a href="http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/">explanation</a>). Only counting the first 50 swears would make bots much less useful.</p>
<p>2. Require an account to have at least one tweet over a month old. When someone starts to write a bot, they usually use a new account. If they have to wait a month to see any results, they will probably lose interest.</p>
<p>3. Require an account to have at least 10 followers. Very few people want to follow a bot. They may start, but will quickly stop following them.</p>
<p>4. Exclude duplicate swears. This is a big one and wold eliminate most common bots. A bot is either random words, which people quickly discover, or a finite list of tweets that get repeated.</p>
<p>Suggestion #1 could be done real time or as a batch on everyone. Suggestion #2, #3 and #4 would only need to be done on maybe 100 of the top cussers when building the leaderboard. Of course there are ways around #3, and #4 as a bot writer, but #1 is a big roadblock.</p>
<h3>Conclusion</h3>
<p>I&#8217;ll admit that a bot-free list would be interesting. Tweeters like <a href="http://twitter.com/mollena">@mollena</a> are amazing. She just really cusses (and tweets) all the time.</p>
<p style="font-size:11px;">
Share: <a href="http://digg.com/submit?phase=2&amp;url=http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard&amp;title=Cursebird Leaderboard">Digg</a> . <a href="http://del.icio.us/post?url=http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard&amp;title=Cursebird Leaderboard">del.icio.us</a> . <a href="http://www.stumbleupon.com/submit?url=http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard&amp;title=Cursebird Leaderboard">StumbleUpon</a> . <a href="http://www.facebook.com/share.php?u=http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard">Facebook</a> . <a href="http://twitter.com/home/?status=Cursebird Leaderboard - http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard">Twitter</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingstiff.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingstiff.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingstiff.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=91&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Thinking Stiff</media:title>
		</media:content>
	</item>
		<item>
		<title>I cursebird more than you do.</title>
		<link>http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/</link>
		<comments>http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 05:52:08 +0000</pubDate>
		<dc:creator>thinkingstiff</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[curse]]></category>
		<category><![CDATA[cursebird]]></category>
		<category><![CDATA[cuss]]></category>
		<category><![CDATA[swear]]></category>

		<guid isPermaLink="false">http://thinkingstiff.wordpress.com/?p=6</guid>
		<description><![CDATA[Discovering Cursebird If you follow me on Twitter (and you should, I&#8217;m fucking awesome: twitter.com/mattwalton) you know that recently my fellow tweeters and I discovered cursebird.com. Cursebird is a website that tracks, in real-time, people who are cussing on Twitter. If you tweet, &#8220;This has been a long fucking day!,&#8221; your tweet will show up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=6&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Discovering Cursebird</h3>
<p>
If you follow me on Twitter (and you should, I&#8217;m fucking awesome: <a href="http://twitter.com/mattwalton">twitter.com/mattwalton</a>) you know that recently my fellow tweeters and I discovered <a href="http://cursebird.com">cursebird.com</a>. Cursebird is a website that tracks, in real-time, people who are cussing on Twitter. If you tweet, &#8220;This has been a long fucking day!,&#8221; your tweet will show up on Cursebird&#8217;s website for all to see.
</p>
<p>
The site tracks the following words (and variants): fuck, shit, cunt, dick, cock, twat, bloody, bastard, bollocks. It shows the percentage each word is used and whether its usage is increasing or decreasing. It also shows four pieces of information for an individual tweeter: number of swears, a score out of 100, rank compared to others, and a statement of who you cuss like.
</p>
<p>
One of the first things people do upon discovering this site is start cussing up a storm on Twitter and posting their rank. It&#8217;s fun to watch your rank and score go up. Strangely, most of my friends were in the top 1000, and several were in the top 500. I guess we&#8217;re just a filthy bunch.
</p>
<p>
After playing with it for a bit, I and others had questions about how the scoring worked, how the count worked (tweets or words), and who was number one and how many did they have. While most people gave up and just went back to their regular tweeting behaviors, I created a second twitter account, <a href="http://twitter.com/ThinkingStiff">@ThinkingStiff</a>, and started trying to figure it all out.
</p>
<h3>Researching Cursebird</h3>
<p>
The first thing I wanted to figure out was what it was counting: tweets with cussing in them, number of cuss words, or some algorithm to figure out how &#8220;well&#8221; you cussed. So I started sending one word tweets that just said &#8220;fuck.&#8221; I quickly learned that Twitter doesn&#8217;t allow this. If you send the same tweet as the last one, it doesn&#8217;t even bother posting it. Then I switched to fuck, shit, fuck, shit&#8230; That got past Twitter&#8217;s restriction and I was steadily climbing up the charts on Cursebird. It was obvious at this point that Cursebird just counts the number of tweets with a cuss word in them. It doesn&#8217;t care how many cuss words are in it, or what words you used. So, one question was answered.
</p>
<p>
I then learned that Twitter has a limit on how many tweets you can post. When you hit this limit you get this message:</p>
<blockquote><p>
Wow, that&#8217;s a lot of Twittering! You have reached your limit of updates for the hour. Try again later.
</p></blockquote>
<p>After some research I discovered it&#8217;s not really an hourly limit, it&#8217;s a daily limit of 1000 tweets. They limit you in three hour blocks, so you can send 125 tweets every three hours. Once you&#8217;ve sent that many tweets, you have to wait until the three hours is up to send more.
</p>
<p>
The next question I had was how the score worked. It&#8217;s out of 100 so my first guess was that it was a percentile. But I was confused because the same swear count was resulting in different scores. I then saw someone&#8217;s score of &#8220;Not sure of 100.&#8221; This was a clue that maybe the processing of the rank and score was delayed (I&#8217;m a database programmer, so this made sense to me). Sure enough, it takes about 15 to 20 minutes for the rank and score to update. So you start out at &#8220;Lame of 100&#8243; when you have zero swears and move to &#8220;Not sure out of 100&#8243; on your first swear until it processes your score for the first time. Then it&#8217;s a percentile. So a &#8220;50 of 100&#8243; means you have cussed more than 50 percent of the people tracked on Cursebird. With that, my second question was answered.
</p>
<p>
Along with the score is a statement of who you swear like. You start at &#8220;swears like a Mute&#8221; with zero swears and work your way up to &#8220;swears like a George Carlin Wannabe.&#8221; Both the score and the statement weren&#8217;t that interesting to me because once you have over about 50 swears your score is &#8220;100 of 100&#8243; and your statement stays at &#8220;swears like a George Carlin Wannabe.&#8221; The programmer (<a href="http://twitter.com/richardhenry">twitter.com/richardhenry</a>) said that it is possible to get &#8220;101 of 100&#8243; but I&#8217;m pretty sure he was kidding. Unless he just picked some arbitrary large number and if you ever get that high you get the magic score.
</p>
<h3>Climbing The Ranks</h3>
<p>
The only remaining questions I had were who was ranked number one and how many swears did they have. I was quickly climbing the ranks and guessed it would take me a couple of nights to take number one. So for a couple of nights, while watching movies, I typed Shit and Fuck over and over. I was careful to space them out to one every few minutes because I wasn&#8217;t sure what Twitter&#8217;s policy was on things like this. I didn&#8217;t want my account closed before I completed my tests. One thing I noticed while doing this was that Cursebird doesn&#8217;t pick up all your tweets. It&#8217;s more like half of them. So if you cuss ten times, Cursebird may only see five of them. I&#8217;ll go into this more later.
</p>
<p>
Something I didn&#8217;t expect, which started on day two, was people complaining. I had no followers, because every time someone tried to follow me I blocked them. I did this specifically so no one would have to see my tweets every few minutes. So the only place to see my tweets was on Cursebird. And the whole point of Cursebird was to track cussing so it didn&#8217;t make any sense to me that people would care, but they did. One girl told me I was ruining Twitter. One guy reported me as spam. Another guy called me a &#8220;motherfucking cheap bastard asshole.&#8221; So apparently I wasn&#8217;t cussing &#8220;right.&#8221;
</p>
<p>
That&#8217;s when I started trying to look like a real cussing tweeter, whatever that is. The simple &#8220;fuck&#8221; and &#8220;shit&#8221; tweets turned into more elaborate stream of consciousness type tweets all with the word fuck or shit in them. Each one was unique and was just whatever I was thinking about at the time. It took more concentration to come up with them, so I couldn&#8217;t really do anything else while I was doing it. I did this hours at a time while watching the live Cursebird stream of everyone else cussing. After awhile, watching and producing all this banal word vomit was making me feel crazy.
</p>
<p>
I changed my picture every day so people wouldn&#8217;t see too many tweets from the same person. I also searched Twitter (<a href="http://search.twitter.com/search?q=%40ThinkingStiff">http://search.twitter.com/search?q=%40ThinkingStiff</a>) to make sure no one was complaining about my excessive tweets. It seemed to be working. My new tweets were not offending people (even though many of them were pretty vulgar) and some people even found them interesting.
</p>
<h3>The Bot</h3>
<p>
I did this every night for a week and I was up to almost 700 swears, but I still wasn&#8217;t in 1st. In fact, I couldn&#8217;t seem to get past 3rd. It was taking way longer than I expected and I was getting totally sick of it. I started thinking that maybe the programmer, while doing testing, had accounts with many thousands of swears and I would never be able to pass them. I also thought about writing a bot (a bot, or robot, is a piece of software that automates a task) that could tweet all day long. I was watching the live stream, so I knew there wasn&#8217;t any other bots running at the time or I&#8217;d see their swears.
</p>
<p>
The very next day I discovered someone else had written a bot (<a href="http://twitter.com/fuckbot">@fuckbot</a>) and was quickly gaining on me. He was 400 swears behind me and at the rate he was going he would pass me in about four hours. Fuck. So I quickly wrote a bot. It took me about two hours to get it running the way I wanted it. I used the 500 or so tweets that I&#8217;d manually written and the bot picked one of the 500 randomly and tweeted it. Because I babysat/tweeked/monitored my bot constantly, it was less like a bot and more like a sentient artificial life form. @Fuckbot was now 200 swears behind me. I knew we were both constrained by the same 1000 tweets a day limit, so I figured that, unless my bot crashed, we&#8217;d stay at about the same pace.
</p>
<p>
And my bot crashed. So I fixed a bug to make sure it wouldn&#8217;t happen again and restarted it. He was now 180 behind me. His bot was spewing out random racist crap that looked nothing like real tweets, so I knew that he would be getting complaints about it (because I was and I simply said &#8220;fuck&#8221; and &#8220;shit&#8221; over and over). He also had a big red Fuckbot avatar. If Twitter had a problem with cussing bots, I would know soon.
</p>
<p>
Several days passed with both of us running our bots and Twitter still hadn&#8217;t canceled his account. I played with tweaking the time between my tweets to see if I could gain any on him. I started at 60 seconds and slowly progressed up. I was hoping that at some point Cursebird would capture more of my tweets or that I&#8217;d get more in synch with Twitter&#8217;s maximum and I wouldn&#8217;t have the downtime every three hours where Twitter starts limiting it. That failed miserably and I ended up slipping closer to @Fuckbot. He was now 140 swears from me. So I put it back at 60 and haven&#8217;t touched it since. That seems to be the best interval, although I haven&#8217;t tried going below 60.
</p>
<h3>I&#8217;m #1</h3>
<p>
Around 1019 swears (that&#8217;s when I noticed) I took the number two position. Soon, @Fuckbot took 3rd. And that would be the end of @Fuckbot&#8217;s journey. Twitter blocked him from the public timeline so, while he can still tweet, Cursebird can&#8217;t see his tweets. His grand total was 1621 swears (<a href="http://cursebird.com/fuckbot">cursebird.com/fuckbot</a>).
</p>
<p>
With over 1000 swears and @Fuckbot out of the race, I was much less worried about someone overtaking me. But I was still a little worried that I might suffer the same fate as @Fuckbot. I started adding new tweets to my collection on a daily basis to keep it interesting and less repetitive. A few days later, at 2814 swears and after almost two weeks, I noticed I was in 1st place!
</p>
<p>
I&#8217;ve kept the bot running and as of the time of this writing, I have almost 6300 swears (<a href="http://cursebird.com/ThinkingStiff">cursebird.com/ThinkingStiff</a>). Now that I&#8217;m not worried about getting my account closed I stopped blocking people and changing my picture. People are talking about @ThinkingStiff a little more frequently (<a href="http://search.twitter.com/search?q=%40ThinkingStiff">http://search.twitter.com/search?q=%40ThinkingStiff</a>), but less of it is hateful now.
</p>
<p>
Another bot has come on the scene recently, <a href="http://twitter.com/shiteatingfuck">@shiteatingfuck</a>. He&#8217;s 5500 swears behind me, so he probably won&#8217;t catch up until I stop mine. He started out using @Fuckbot&#8217;s random cuss word method but has since switched to movie quotes so he&#8217;ll probably be around for awhile. He&#8217;ll take 2nd in less than a week.
</p>
<h3>Results</h3>
<p>
Here are my results climbing up the ranks. Your results will be different because there&#8217;s been a lot of cussing since I started.
</p>
<p><b>Tweets: Rank</b></p>
<ul>
<li>60: 471st
<li>70: 345th
<li>80: 252nd
<li>90: 209th
<li>100: 171st
<li>150: 70th
<li>200: 34th
<li>250: 23rd
<li>300: 13th
<li>350: 9th
<li>400: 8th
<li>450: 4th
<li>500: 3rd
<li>700: 3rd &lt;&#8212; wrote bot
<li>1019: 2nd
<li>2814: 1st
</ul>
<p>
Here are the people that I know of that are in the top 10. There is no published top 10 list, so this is just from seeing people come up on the live feed. Many people have asked for a Top 10 list (<a href="http://blog.thinkingstiff.com/2009/02/04/cursebird-leaderboard/">thoughts on a leaderboard</a>). I wouldn&#8217;t mind seeing one either, but after staring at it for hundreds of hours, I&#8217;ve learned the most fascinating part of Cursebird is the live feed (like <a href="http://twistori.com">Twistori</a>). It&#8217;s amazing how it all just seems to look the same after awhile. Everyone complains in the same way about the same stuff. Just a slice of life.
</p>
<p><b>Top 10 (Feb 2 2009)</b></p>
<ol>
<li><a href="http://cursebird.com/ThinkingStiff">@ThinkingStiff</a>
<li>@geofftest &lt;&#8212; account closed
<li><a href="http://cursebird.com/fuckbot">@Fuckbot</a>
<li>
<li>
<li><a href="http://cursebird.com/shiteatingfuck">@shiteatingfuck</a>
<li><a href="http://cursebird.com/redchinese19">@redchinese19</a> (Thanks <a href="http://twitter.com/gocards300">@gocards300</a>)
<li>
<li><a href="http://cursebird.com/Mollena">@Mollena</a>
<li>
</ol>
<p>UPDATE (2/4/2009): <a href="http://twitter.com/richardhenry">@richardhenry</a> released a preliminary <a href="http://farm4.static.flickr.com/3263/3253838328_ac3bc0d67d_o.png">leaderboard</a>.</p>
<h3>Technical</h3>
<p>
I used the TwitterLib from Witty to access the Twitter API (<a href="http://code.google.com/p/wittytwitter/">Witty</a>). I randomly pick one of about 500 tweets to post every 60 seconds. I verify that I haven&#8217;t posted the same tweet in the last two hours, to help eliminate the appearance of repetition. Cursebird misses tweets, but as far as I can tell it&#8217;s Twitter&#8217;s fault. Not every tweet shows up in the public timeline or the search API. It doesn&#8217;t seem like the API is doing &#8220;contains&#8221; searching, so it would be nice to add &#8220;ass&#8221; to the list of tracked words. Or at least &#8220;asshole.&#8221; If you&#8217;re writing your own bot, and want to play with the 60 second interval, remember that you are limited by the 1000 tweets a day (125 every 3 hours) that you can&#8217;t get around. So your goal should be to get as many tweets to show up in the Twitter Search.
</p>
<p style="font-size:11px;">
Share: <a href="http://digg.com/submit?phase=2&amp;url=http://thinkingstiff.wordpress.com/2009/02/02/i-cursebird-more-than-you-do/&amp;title=I cursebird more than you do">Digg</a> . <a href="http://del.icio.us/post?url=http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/&amp;title=I cursebird more than you do">del.icio.us</a> . <a href="http://www.stumbleupon.com/submit?url=http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/&amp;title=I cursebird more than you do">StumbleUpon</a> . <a href="http://www.facebook.com/share.php?u=http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/">Facebook</a> . <a href="http://twitter.com/home/?status=I cursebird more than you do - http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/">Twitter</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingstiff.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingstiff.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingstiff.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.thinkingstiff.com&amp;blog=890969&amp;post=6&amp;subd=thinkingstiff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.thinkingstiff.com/2009/02/02/i-cursebird-more-than-you-do/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Thinking Stiff</media:title>
		</media:content>
	</item>
	</channel>
</rss>
