<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Coding the Wheel</title>
    <link>http://www.codingthewheel.com</link>
    <description>Building the collective hamster wheel, one line of code at a time</description>
    <language>en-us</language>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <copyright>Copyright (c) 2011 | Coding the Wheel</copyright>
    <image>
      <title>Coding the Wheel</title>
      <url>http://www.codingthewheel.com/pics/ctwicon2.ico</url>
      <width>16</width>
      <height>16</height>
      <description>Coding the Wheel favicon.</description>
      <link>http://www.codingthewheel.com</link>
    </image>
    <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codingthewheel" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="codingthewheel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Of Gravatars and Robohashes</title>
      <link>http://www.codingthewheel.com/internet/of-gravatars-and-robohashes</link>
      <guid>http://www.codingthewheel.com/internet/of-gravatars-and-robohashes</guid>
      <pubDate>Tue, 30 Aug 2011 02:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>Webmasters who use <a href="http://www.gravatar.com">Gravatar</a> to decorate comments with custom avatar images will be familiar with the <code>d</code> parameter of the Gravatar image request.</p>
<pre><code>&lt;img src="http://www.gravatar.com/avatars/8ca7425c8a9da807b9bf6934f10d59fa.jpg?<strong>d=monsterid</strong>" alt="" /&gt;</code></pre>
<p>You can specify values like <code>monsterid</code>, <code>wavatar</code>, <code>identicon</code>, or <code>retro</code> here and Gravatar will generate a unique avatar image corresponding to the <a href="http://en.wikipedia.org/wiki/MD5#MD5_hashes">MD5 hash</a> of the user's email address. You've seen these all around the web:</p>
<p>
<img src="http://www.codingthewheel.com/image.axd?picture=gravatar_styles.png" alt="" /></p>
<p>There are just a couple problems with these sets of generative graphics:</p>
<p> <p><strong><a href="http://www.codingthewheel.com/internet/of-gravatars-and-robohashes">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/Q6YX_2Z8UcM" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>Optimizing VP$IP</title>
      <link>http://www.codingthewheel.com/poker/optimizing-vpip</link>
      <guid>http://www.codingthewheel.com/poker/optimizing-vpip</guid>
      <pubDate>Sat, 27 Aug 2011 14:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>In response to the <a href="http://www.codingthewheel.com/poker/a-question-of-vpip">VP$IP riddle we posed on Twitter</a>, the PokerTracker team hooked us up with an explanation of the upcoming changes to the VP$IP stat, along with some <span style="text-decoration: line-through;">superfluous</span> superlative scatter graph awesomeness.</p>
<p>
<img src="http://www.codingthewheel.com/image.axd?picture=vpip_quiz_twitter_response.png" alt="" /></p>
<p>But first, the answer to said riddle:</p>
<p> <p><strong><a href="http://www.codingthewheel.com/poker/optimizing-vpip">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/7pvVz6eU15M" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>A Question of VP$IP</title>
      <link>http://www.codingthewheel.com/poker/a-question-of-vpip</link>
      <guid>http://www.codingthewheel.com/poker/a-question-of-vpip</guid>
      <pubDate>Sat, 27 Aug 2011 13:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>Pop quiz for you PokerTracker and Hold'em Manager users.</p>
<p>
<a href="http://twitter.com/#!/codingthewheel/status/92597206439297024"><img src="http://www.codingthewheel.com/image.axd?picture=vpip_quiz_twitter.png" alt="To preserve a VP$IP of 100%, what must you do every time the table limps to you in the big blind?" /></a></p>
<p><strong>VP$IP is arguably the most common statistic in online poker</strong>. It appears in strategy discussions across the internet and, increasingly, in books. Along with PFR and AF, it's one of the "Big 3"<sup><a href="#footnote-1">[1]</a></sup> statistics whose shorthand notation has confused newbies on Two Plus Two and Pocket Fives since time immemorial.</p>
<p> <p><strong><a href="http://www.codingthewheel.com/poker/a-question-of-vpip">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/GJiM8BSmfeA" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>John Carmack: Script Interpreters Considered Harmful</title>
      <link>http://www.codingthewheel.com/game-dev/john-carmack-script-interpreters-considered-harmful</link>
      <guid>http://www.codingthewheel.com/game-dev/john-carmack-script-interpreters-considered-harmful</guid>
      <pubDate>Fri, 12 Aug 2011 22:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>The most interesting part of <a href="http://youtu.be/4zgYG-_ha28">John Carmack's keynote at QuakeCon this year</a> wasn't the stuff on <a href="http://en.wikipedia.org/wiki/MegaTexture">megatextures</a> or <a href="http://en.wikipedia.org/wiki/Static_program_analysis">static code analysis</a>. It was his assertion, right around the 1:07:32 mark, that <strong>script interpreters are evil</strong>. Well, as evil as it's possible for a script interpreter to be. Which is still pretty evil.</p>
<p>
<iframe src="http://www.youtube.com/embed/4zgYG-_ha28#t=1h7m32s" width="560" height="349" frameborder="0"></iframe></p>
<p>And I quote:</p>
<p> <p><strong><a href="http://www.codingthewheel.com/game-dev/john-carmack-script-interpreters-considered-harmful">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/hFV2TmbElPQ" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>Movie Doppelgangers: B-Movie Ripoffs of Hollywood Blockbusters</title>
      <link>http://www.codingthewheel.com/movies/movie-doppelgangers-b-movie-ripoffs-hollywood-blockbusters</link>
      <guid>http://www.codingthewheel.com/movies/movie-doppelgangers-b-movie-ripoffs-hollywood-blockbusters</guid>
      <pubDate>Fri, 05 Aug 2011 07:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p><a href="http://www.codingthewheel.com/movies/movie-doppelgangers-poster">[Skip to the Movie Doppelg&auml;ngers poster.]</a></p>
<p>Well, another $5 down the drain. The other night I stopped by Blockbuster to rent a copy of <em>Battle: Los Angeles</em>. Blockbuster is a bit of a ghost town these days, the sort of place that makes you think:</p>
<blockquote>
<p>Huh, wonder what my first move would be if the undead attacked, right here, right now. </p>
</blockquote>
<p>I was in a hurry and I kept imagining the clerk would morph into a zombie and I'd be forced to defend myself with stacks of $5 previously-owned titles from the bargain bin. So in my haste/nervousness I ended up grabbing a copy of what looked like <a href="http://www.imdb.com/title/tt1217613/">Battle: Los Angeles</a>, but was in fact <a href="http://www.imdb.com/title/tt1758570/">Battle OF Los Angeles</a>. Silly me.<span class="st"></span></p>
<p>
<img src="http://www.codingthewheel.com/image.axd?picture=battle_los_angeles_copycat.jpg" alt="" /></p>
<p> <p><strong><a href="http://www.codingthewheel.com/movies/movie-doppelgangers-b-movie-ripoffs-hollywood-blockbusters">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/BkDhKv5oTAg" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>Avoiding Duplicates in Feedburner and Google Reader</title>
      <link>http://www.codingthewheel.com/archives/avoiding-duplicates-in-feedburner-and-google-reader</link>
      <guid>http://www.codingthewheel.com/archives/avoiding-duplicates-in-feedburner-and-google-reader</guid>
      <pubDate>Wed, 27 Jul 2011 05:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>Like many sites, we use <a href="http://feedburner.google.com">Feedburner</a> to handle RSS and email subscriptions. Depending on the needs of your site, there are some <a href="http://marshallk.com/how-and-why-to-use-feedburner">good reasons</a> to do this&mdash;particularly if <a href="http://www.codinghorror.com/blog/2007/03/reducing-your-websites-bandwidth-usage.html">bandwidth is a concern</a>. But if you're not careful (or if your web developer is <a href="http://www.codingthewheel.com/pics/IMAG0345.jpg">this guy</a>), you can <strong>trick Feedburner into thinking your feed contains duplicates</strong>. If readers subscribe to that feed by email, Feedburner can end up sending them multiple copies of each post, effectively spamming them with your content.</p>
<h3>Case In Point</h3>
<p>A few weeks ago Feedburner started sending out duplicate emails to people on the Coding the Wheel subscription list. Instead of getting one email per post, subscribers were getting one email <em>per post per day</em>. Well, that's annoying. Certain unlucky readers got seven or eight copies of stuff like <a href="http://www.codingthewheel.com/archives/a-platitude-on-software-failure">A Platitude on Software Failure</a>. Gah!</p>
<p>
<img src="http://www.codingthewheel.com/image.axd?picture=duplicate_feedburner_emails.png" alt="" /></p>
<p>So a sincere and humble apology to the folks who had to put up with that (if any of you are still reading). Coding the Wheel is a small site, so it's not like hundreds of thousands of readers were affected. But the readers we <em>do</em> have hate spam the way hipsters hate <a href="http://www.jeffgreenspan.com/project.php?cat=1">hipster bear traps</a>. When we started getting friendly "WTF" emails...</p>
<p> <p><strong><a href="http://www.codingthewheel.com/archives/avoiding-duplicates-in-feedburner-and-google-reader">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/L3MTe7Dd_98" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>If Songs Were Software</title>
      <link>http://www.codingthewheel.com/archives/if-songs-were-software</link>
      <guid>http://www.codingthewheel.com/archives/if-songs-were-software</guid>
      <pubDate>Sun, 17 Jul 2011 09:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>Exhibit A: <a href="http://www.youtube.com/watch?v=azmO2PVHxJ8">Friends and Family</a>, a song in the key of F. Released by <a href="http://en.wikipedia.org/wiki/Trik_Turner">Trik Turner</a> in <a href="http://en.wikipedia.org/wiki/Trik_Turner#Discography">2002</a>.</p>
<p><iframe src="http://www.youtube.com/embed/azmO2PVHxJ8" width="640" height="510" frameborder="0"></iframe></p>
<p>Exhibit B: <a href="http://www.youtube.com/watch?v=jBgsMNqzq_0">Five-String Serenade</a>, a song in the key of G. Released by <a href="http://en.wikipedia.org/wiki/Mazzy_Star">Mazzy Star</a> in <a href="http://en.wikipedia.org/wiki/So_Tonight_That_I_Might_See">1993</a>.</p>
<p><iframe src="http://www.youtube.com/embed/jBgsMNqzq_0" width="640" height="510" frameborder="0"></iframe></p>
<p>Once you strip away minor differences of tone, tempo, and transposition, the guitar accompaniment in both songs is note-for-note identical: a specific (and memorable) broken chord pattern on a rising I - ii<sub>7</sub> - IV progression. It's pretty blatant, but in music this kind of borrowing is sometimes tolerated. Listen to <a href="http://www.youtube.com/watch?v=5SaFTm2bcac">Nate Harrison's fascinating account</a> of the <a href="http://en.wikipedia.org/wiki/Amen_break">Amen Break</a>, a.k.a. the most widely-sampled drum beat in history.</p>
<p> <p><strong><a href="http://www.codingthewheel.com/archives/if-songs-were-software">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/mmp6vOVjkPU" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>Online Poker Advertising Fail</title>
      <link>http://www.codingthewheel.com/archives/online-poker-advertising-fail</link>
      <guid>http://www.codingthewheel.com/archives/online-poker-advertising-fail</guid>
      <pubDate>Fri, 15 Jul 2011 07:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>I enjoy random masturbation-themed advertising as much as the next person; don't get me wrong.</p>
<p><img src="http://www.codingthewheel.com/image.axd?picture=are-you-just-a-jack-off.gif" alt="" /></p>
<p>Still, there's a sort of <a href="http://en.wikipedia.org/wiki/Prisoner%27s_dilemma">Prisoner's Dilemma</a> at work here.</p>
<p>Online poker sites often feel like they have to resort to outlandish measures in order to win users. They either don't know or don't care that every user they acquire in this way costs the industry two, or ten, or a hundred <em>new</em> users down the road. Nobody would call a poker site irrational for marking to the fullest extent. But in the aggregate, when every site does it, you get a garbage heap of toxic promotional spam and cheap affiliate marketing that damages the image of the game, hardens opinion against it, and can actually <em>repel</em> new users.</p>
<p>In other words, there's a secondary audience here of people who are actually confused, daunted, overwhelmed, and annoyed by the aggressive wall-to-wall marketing style of online poker. This secondary audience is called "The World". Online poker will continue to harvest its share of new players from this seconary audience, like any other game. But those players will be fewer in number, and quicker to churn, than they could've been.</p>
<p>Advice to future generations of online poker sites (because the current crop has proven they won't listen): focus on a rock-solid client, prompt deposits and cash outs, and friendly customer service. Cultivate the image and the reality of utmost professionalism befitting a steward of the game and a de facto banking entity. And leave the rockstar marketing to the "Jack-Offs".</p> <p><strong><a href="http://www.codingthewheel.com/archives/online-poker-advertising-fail">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/wY4XuvFU0lo" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>A Platitude on Software Failure</title>
      <link>http://www.codingthewheel.com/archives/a-platitude-on-software-failure</link>
      <guid>http://www.codingthewheel.com/archives/a-platitude-on-software-failure</guid>
      <pubDate>Sat, 18 Jun 2011 10:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p><em>[Via <a href="http://www.reddit.com/r/programming/comments/i2yqn/software_is_an_entropic_system_whose_arrow_of/">Reddit</a> and <a href="http://news.ycombinator.com/item?id=2668768">Hacker News</a>, a strange little essay published (anonymously) this morning over on Pastebin. The <a href="http://pastebin.com/tRtaCSy3">original piece</a> was submitted by one HINTEDCOGWHEEL. Which is the <a href="http://wordsmith.org/anagram/anagram.cgi?anagram=CODINGTHEWHEEL&amp;t=1000&amp;a=n">very first of about 18,000 anagrams for CODING THE WHEEL</a>. What are the odds?]</em></p>
<p>* * *</p>
<p>It's true that most software projects fail. It's in the nature of software projects to fail. You might even say that <strong>software projects <em>want</em>&nbsp;to fail</strong>. Failure is what you get by default. Failure is the status quo. From the minute you begin the development process, failure waits behind blind corners, ambushes you from dark alleys, sidles up to you with a wink and a&nbsp;toothy smile.</p>
<p>"Go ahead," it grins. "Hit me with&nbsp;your best shot."</p>
<p>You can hire the best and brightest people, give them a budget that would beggar Croesus, evolve a methodology that makes Agile look like a clumsy attempt to rub two sticks together, producing fire. You can give your programmers triple-monitor setups, juggernaut CPUs, hard drives measured in terabytes, free all-you-can-eat sodas and snacks everlasting. You can choose the perfect language, the perfect platform, the perfect toolset. You can&nbsp;scrawl <a href="http://en.wikipedia.org/wiki/Goetia">Goetic</a> symbols on the dusty floors of the computer lab and dance widdershins around a burning copy of Code Complete, for all anyone knows or cares.</p>
<p>When you put your clothes back on (perhaps wondering how they got off) and snuff the candles, failure will still be there.</p>
<p>Waiting.</p>
<p>Picking its teeth with the dessicated bones of software projects long forgotten.</p>
<p> <p><strong><a href="http://www.codingthewheel.com/archives/a-platitude-on-software-failure">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/8RadgfvlPfY" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title>Weekend Project: The Hero Awards</title>
      <link>http://www.codingthewheel.com/archives/weekend-project-the-hero-awards</link>
      <guid>http://www.codingthewheel.com/archives/weekend-project-the-hero-awards</guid>
      <pubDate>Thu, 16 Jun 2011 05:00:00 -0700</pubDate>
      <dc:creator>Coding the Wheel</dc:creator>
      <content:encoded><![CDATA[<p>A while back I was wasting time on YouTube when I got derailed, out of nowhere, by a thread of <strong>random hero and rescue videos</strong>. You know: moments of true-blue, real-life heroism preserved for posterity on crappy surveillance feeds or stuttery iPhone captures. After six hours of watching people rush into burning buildings and leap into subway trenches, I decided a website was called for. Two days, one Wordpress install, and a couple hundred lines of PHP later, <a href="http://theheroawards.com">The Hero Awards</a> was born.</p>
<p>
<a title="Heroism, motherfucker! Do you SPEAK it??" href="http://theheroawards.com"></a></p>
<p style="text-align: center;"><img style="border: 1px solid #000000;" src="http://www.codingthewheel.com/image.axd?picture=the_hero_awards.png" alt="The Hero Awards" /></p>
<p>I haven't had time to polish it, but the website is basically a glorified heroism video playlist with some over-the-top technical analysis, Google Maps, and Chuck Norris voting widgets
 thrown in for good measure. The logic behind the last was 
straightforward: our research indicated that most users, being lazy, aren't inclined 
to vote. But further research revealed that Chuck Norris doesn't need any stinkin' votes. Chuck Norris simply flexes his biceps, causing you 
to collapse into the fetal position, sobbing like a two year old. 
Then he TAKES your vote. And your woman. And your dog.<small style="font-size: 8px;"></small></p>
<p> <p><strong><a href="http://www.codingthewheel.com/archives/weekend-project-the-hero-awards">Continue reading >></a></strong></p><img src="http://feeds.feedburner.com/~r/codingthewheel/~4/ceat76-Q_Tw" height="1" width="1"/>]]></content:encoded>
    </item>
  </channel>
</rss>

