breadability/tests/data/articles/mitchie-blog.001.html
2013-03-18 21:40:19 +01:00

650 lines
48 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Bookie Weekly Update: April 22nd 2012 &laquo; Tech Rantings from a Michigan Techie</title>
<meta name="description" content="Just another WordPress.com weblog" />
<link rel="stylesheet" href="http://s1.wp.com/wp-content/themes/pub/unsleepable/style.css?m=1306954510g" type="text/css" media="screen" />
<!--[if IE]>
<link rel="stylesheet" href="http://s1.wp.com/wp-content/themes/pub/unsleepable/ie.css?m=1314316350g" type="text/css" media="screen" />
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" href="http://s1.wp.com/wp-content/themes/pub/unsleepable/ie6.css?m=1221676594g" type="text/css" media="screen" />
<![endif]-->
<link rel="pingback" href="http://blog.mitechie.com/xmlrpc.php" />
<script src='http://r-login.wordpress.com/remote-login.php?action=js&amp;host=blog.mitechie.com&amp;id=11465279&amp;t=1336015328&amp;back=blog.mitechie.com%2F2012%2F04%2F22%2Fbookie-weekly-update-april-22nd-2012%2F' type="text/javascript"></script>
<script type="text/javascript">
/* <![CDATA[ */
if ( 'function' === typeof WPRemoteLogin ) {
document.cookie = "wordpress_test_cookie=test; path=/";
if ( document.cookie.match( /(;|^)\s*wordpress_test_cookie\=/ ) ) {
WPRemoteLogin();
}
}
/* ]]> */
</script>
<link rel="alternate" type="application/rss+xml" title="Tech Rantings from a Michigan Techie &raquo; Feed" href="http://blog.mitechie.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="Tech Rantings from a Michigan Techie &raquo; Comments Feed" href="http://blog.mitechie.com/comments/feed/" />
<link rel="alternate" type="application/rss+xml" title="Tech Rantings from a Michigan Techie &raquo; Bookie Weekly Update: April 22nd&nbsp;2012 Comments Feed" href="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/feed/" />
<script type="text/javascript">
/* <![CDATA[ */
function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}
/* ]]> */
</script>
<link rel="stylesheet" href="http://s0.wp.com/wp-content/themes/h4/global.css?m=1313010094g" type="text/css" />
<link rel='stylesheet' id='loggedout-subscribe-css' href='http://s1.wp.com/wp-content/blog-plugins/loggedout-follow/widget.css?m=1330044119g&#038;ver=20120104' type='text/css' media='all' />
<link rel='stylesheet' id='post-reactions-css' href='http://s1.wp.com/wp-content/mu-plugins/post-flair/style.css?m=1335512048g&#038;ver=4' type='text/css' media='all' />
<link rel='stylesheet' id='a8c-global-print-css' href='http://s2.wp.com/wp-content/mu-plugins/global-print/global-print.css?m=1335386953g&#038;ver=20120418' type='text/css' media='print' />
<script type='text/javascript' src='http://s0.wp.com/wp-includes/js/jquery/jquery.js?m=1333391137g&#038;ver=1.7.2'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var LoggedOutFollow = {"invalid_email":"Your subscription did not succeed, please try again with a valid email address."};
/* ]]> */
</script>
<script type='text/javascript' src='http://s1.wp.com/wp-content/blog-plugins/loggedout-follow/widget.js?m=1329327657g&#038;ver=20120215'></script>
<script type='text/javascript' src='http://s1.wp.com/wp-includes/js/comment-reply.js?m=1231878779g&#038;ver=3.4-beta3-20681'></script>
<link rel='stylesheet' id='highlander-comments-css' href='http://s0.wp.com/wp-content/mu-plugins/highlander-comments/style.css?m=1334188075g&#038;ver=20110620' type='text/css' media='all' />
<!--[if lt IE 8]>
<link rel='stylesheet' id='highlander-comments-ie7-css' href='http://s0.wp.com/wp-content/mu-plugins/highlander-comments/style-ie7.css?m=1307172283g&#038;ver=20110606' type='text/css' media='all' />
<![endif]-->
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://mitechie.wordpress.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://mitechie.wordpress.com/wp-includes/wlwmanifest.xml" />
<link rel='prev' title='Bookie Weekly Status Report Returns! &#8211; April 15&nbsp;2012' href='http://blog.mitechie.com/2012/04/15/bookie-weekly-status-report-returns-april-15-2012/' />
<link rel='next' title='Weekly Status Report: April&nbsp;29th' href='http://blog.mitechie.com/2012/04/29/weekly-status-report-april-29th/' />
<meta name="generator" content="WordPress.com" />
<link rel='canonical' href='http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/' />
<link rel='shortlink' href='http://wp.me/pM6DR-60' />
<link rel="alternate" type="application/json+oembed" href="http://public-api.wordpress.com/oembed/1.0/?format=json&amp;url=http%3A%2F%2Fblog.mitechie.com%2F2012%2F04%2F22%2Fbookie-weekly-update-april-22nd-2012%2F&amp;for=wpcom-auto-discovery" /><link rel="alternate" type="application/xml+oembed" href="http://public-api.wordpress.com/oembed/1.0/?format=xml&amp;url=http%3A%2F%2Fblog.mitechie.com%2F2012%2F04%2F22%2Fbookie-weekly-update-april-22nd-2012%2F&amp;for=wpcom-auto-discovery" /><meta property="og:type" content="article" />
<meta property="og:title" content="Bookie Weekly Update: April 22nd&nbsp;2012" />
<meta property="og:url" content="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/" />
<meta property="og:description" content="Another week, another few lines of code, and yay for two weeks in a row! Bookie Not a ton here, just some CSS updates and updating the backup script for pulling the INI correctly. Bookie Parser I s..." />
<meta property="og:site_name" content="Tech Rantings from a Michigan Techie" />
<link rel="shortcut icon" type="image/x-icon" href="http://s2.wp.com/i/favicon.ico?m=1311976025g" sizes="16x16 24x24 32x32 48x48" />
<link rel="icon" type="image/x-icon" href="http://s2.wp.com/i/favicon.ico?m=1311976025g" sizes="16x16 24x24 32x32 48x48" />
<link rel="apple-touch-icon-precomposed" href="http://s0.wp.com/i/webclip.png?m=1311618091g" />
<link rel='openid.server' href='http://mitechie.wordpress.com/?openidserver=1' />
<link rel='openid.delegate' href='http://mitechie.wordpress.com/' />
<link rel="search" type="application/opensearchdescription+xml" href="http://blog.mitechie.com/osd.xml" title="Tech Rantings from a Michigan Techie" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wordpress.com/opensearch.xml" title="WordPress.com" />
<script type="text/javascript" src="http://use.typekit.net/bha4agr.js"></script><script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<style type="text/css">/* Site Title */ .wf-loading #title { visibility: hidden; } .wf-active #title { font-size: 14px; } .wf-loading #title a { visibility: hidden; } .wf-active #title a { font-family: proxima-nova-1,proxima-nova-2,"Lucida Grande",Verdana,Arial,Sans-Serif; font-style: normal; font-weight: 700; font-variant: normal; font-size: 24px; }
/* Headings */ .wf-loading h1,.wf-loading h2,.wf-loading h3,.wf-loading h4 { visibility: hidden; } .wf-active h1,.wf-active h2,.wf-active h3,.wf-active h4 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,"Lucida Grande",Verdana,Arial,Sans-Serif; font-style: normal; font-weight: 700; font-variant: normal; } .wf-loading .pagetitle h2 { visibility: hidden; } .wf-active .pagetitle h2 { font-weight: 700; font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Arial,Sans-Serif; font-style: normal; font-variant: normal; } .wf-loading .secondary h2 { visibility: hidden; } .wf-active .secondary h2 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Arial,Sans-Serif; font-style: normal; font-weight: 700; font-variant: normal; } .wf-loading .secondary h2 a:hover { visibility: hidden; } .wf-active .secondary h2 a:hover { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Arial,Sans-Serif; font-style: normal; font-weight: 700; font-variant: normal; } .wf-loading .permalink .primary .aside h3,.wf-loading .primary h3,.wf-loading .primary h4 { visibility: hidden; } .wf-active .permalink .primary .aside h3,.wf-active .primary h3,.wf-active .primary h4 { font-weight: 700; } .wf-loading .primary .aside h3 { visibility: hidden; } .wf-active .primary .aside h3 { font-weight: 700; } .wf-loading .comments h4 a { visibility: hidden; } .wf-active .comments h4 a { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,!important; font-style: normal; font-weight: 700; font-variant: normal; } .wf-loading .comments h4 { visibility: hidden; } .wf-active .comments h4 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,!important; font-style: normal; font-weight: 700; font-variant: normal; } .wf-loading #glass-bottomblock h2 { visibility: hidden; } .wf-active #glass-bottomblock h2 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Arial,!important; font-style: normal; font-weight: 700; font-variant: normal; }
/* Body Text */ .wf-loading body { visibility: hidden; } .wf-active body { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,"Lucida Grande",Verdana,Arial,Sans-Serif; font-variant: normal; font-size: 12px; } .wf-loading ul.secondary { visibility: hidden; } .wf-active ul.secondary { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,MS; font-variant: normal; font-size: 13px; } .wf-loading .comments .primary .metalink,.wf-loading .primary .item .itemhead .metalink { visibility: hidden; } .wf-active .comments .primary .metalink,.wf-active .primary .item .itemhead .metalink { font-size: 2.02em; } .wf-loading .primary .aside .itemhead .metalink { visibility: hidden; } .wf-active .primary .aside .itemhead .metalink { font-size: 1.57em; } .wf-loading .permalink .primary .aside .itemtext { visibility: hidden; } .wf-active .permalink .primary .aside .itemtext { font-size: 1.57em; } .wf-loading .metadata { visibility: hidden; } .wf-active .metadata { font-size: 1em; } .wf-loading .chronodata { visibility: hidden; } .wf-active .chronodata { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Arial,Sans-Serif; font-variant: normal; font-size: 26px; } .wf-loading .primary .item .itemtext { visibility: hidden; } .wf-active .primary .item .itemtext { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,MS; font-variant: normal; font-size: 1.34em; } .wf-loading .commentmetadata { visibility: hidden; } .wf-active .commentmetadata { font-size: 13px; } .wf-loading .comments .commentlist li .commentauthor { visibility: hidden; } .wf-active .comments .commentlist li .commentauthor { font-size: 1.57em; } .wf-loading .comments .commentlist li .counter { visibility: hidden; } .wf-active .comments .commentlist li .counter { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Helvetica,Sans-Serif; font-variant: normal; font-size: 1.68em; } .wf-loading .comments .pinglist { visibility: hidden; } .wf-active .comments .pinglist { font-size: 1.34em; } .wf-loading .comments .pinglist li small { visibility: hidden; } .wf-active .comments .pinglist li small { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,Arial,Sans-Serif; font-variant: normal; font-size: 0.9em; } .wf-loading .comments #leavecomment { visibility: hidden; } .wf-active .comments #leavecomment { font-size: 2em; } .wf-loading .comments #loading { visibility: hidden; } .wf-active .comments #loading { font-size: 2em; } .wf-loading .item2 { visibility: hidden; } .wf-active .item2 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,MS; font-variant: normal; font-size: 1.34em; } .wf-loading .itemtext2 { visibility: hidden; } .wf-active .itemtext2 { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,MS; font-variant: normal; font-size: 1.34em; } .wf-loading .delicious-extended { visibility: hidden; } .wf-active .delicious-extended { font-size: 13px; } .wf-loading #glass-bottomblock { visibility: hidden; } .wf-active #glass-bottomblock { font-family: ff-meta-serif-web-pro-1,ff-meta-serif-web-pro-2,MS; font-variant: normal; font-size: 1.288em; } .wf-loading .wp-caption p.wp-caption-text { visibility: hidden; } .wf-active .wp-caption p.wp-caption-text { font-size: 12px; }
</style>
<meta name="application-name" content="Tech Rantings from a Michigan Techie" /><meta name="msapplication-window" content="width=device-width;height=device-height" /><meta name="msapplication-tooltip" content="Just another WordPress.com weblog" /><meta name="msapplication-task" content="name=Subscribe;action-uri=http://blog.mitechie.com/feed/;icon-uri=http://s2.wp.com/i/favicon.ico" /><meta name="msapplication-task" content="name=Sign up for a free blog;action-uri=http://wordpress.com/signup/;icon-uri=http://s2.wp.com/i/favicon.ico" /><meta name="msapplication-task" content="name=WordPress.com Support;action-uri=http://support.wordpress.com/;icon-uri=http://s2.wp.com/i/favicon.ico" /><meta name="msapplication-task" content="name=WordPress.com Forums;action-uri=http://forums.wordpress.com/;icon-uri=http://s2.wp.com/i/favicon.ico" />
<link rel="stylesheet" type="text/css" href="http://s2.wp.com/?custom-css=1&#038;csblog=M6DR&#038;cscache=6&#038;csrev=6" />
</head>
<body class="single single-post postid-372 single-format-standard typekit-enabled highlander-enabled highlander-light">
<div id="page">
<div id="header">
<div class="top">
<div id="title">
<a href="http://blog.mitechie.com/" title="Back to the front page">Tech Rantings from a Michigan Techie</a>
</div>
<ul id="menu">
<li class="page_item page-item-2"><a href="http://blog.mitechie.com/about/">About</a></li>
<li class="page_item page-item-140"><a href="http://blog.mitechie.com/code/">Code</a></li>
<li class="page_item page-item-145"><a href="http://blog.mitechie.com/tools/">Tools</a></li>
<li class="page_item page-item-155"><a href="http://blog.mitechie.com/talks/">Talks</a></li>
</ul>
</div>
</div>
<hr />
<div class="content">
<div class="primary">
<div class="navigation">
<div class="left"><span>&laquo;</span> <a href="http://blog.mitechie.com/2012/04/15/bookie-weekly-status-report-returns-april-15-2012/">Bookie Weekly Status Report Returns! &#8211; April 15&nbsp;2012</a></div>
<div class="right"> <a href="http://blog.mitechie.com/2012/04/29/weekly-status-report-april-29th/">Weekly Status Report: April&nbsp;29th</a> <span>&raquo;</span></div>
<div class="clear"></div>
</div>
<div id="post-372" class="post-372 post type-post status-publish format-standard hentry category-bookie tag-api tag-bookie-2 tag-github tag-parser tag-penguicon tag-readability_lxml item entry">
<div class="itemhead">
<h3>
Bookie Weekly Update: April 22nd&nbsp;2012 </h3>
<div class="chronodata">22Apr12</div>
<!-- The following two sections are for a noteworthy plugin currently in alpha. They'll get cleaned up and integrated better -->
</div>
<div class="itemtext">
<p>Another week, another few lines of code, and yay for two weeks in a row!</p>
<div class="section" id="bookie">
<h1><a class="reference external" href="http://github.com/mitechie/Bookie">Bookie</a></h1>
<p>Not a ton here, just some CSS updates and updating the backup script for pulling the INI correctly.</p>
</div>
<div class="section" id="bookie-parser">
<h1><a class="reference external" href="http://github.com/mitechie/bookie_parser">Bookie Parser</a></h1>
<p>I spent some time cleaning up the CSS. I did some research on the most readable fonts for screens and surprisingly, it seems that sans serif wins on digital displays. So I updated the CSS and combined with some work on the Bookie main CSS files to make the readable pages a bit nicer. I&#8217;ve still got some more cleanup to do, but it reads a bit nicer now.</p>
<p>I also fixed the html generated to not have the empty body tag. It was due to the way the readable parsing library was giving me a full html document of content. See the updates over there for some bigger updates.</p>
<p>Finally, I added a form on the main page so you can try it out on a url just by entering it. So if you&#8217;re just curious what it does, <a class="reference external" href="http://readable.bmark.us">go try it out</a>!</p>
</div>
<div class="section" id="bookie-api">
<h1><a class="reference external" href="http://github.com/mitechie/bookie_api">Bookie Api</a></h1>
<p>Just added a <cite>ping</cite> command. It should help make sure that the configuration is correct for new users. It&#8217;s also a nice start to a non-admin specific api command. A little bit of cleanup aside from that, but nothing major.</p>
</div>
<div class="section" id="readability-lxml">
<h1><a class="reference external" href="https://github.com/mitechie/python-readability">readability_lxml</a></h1>
<p>Currently, Bookie uses a library called <a class="reference external" href="https://github.com/dcramer/decruft">decruft</a> for parsing html pages for the actual important article content. The <a class="reference external">bookie_parser</a> project is using a different fork of that called <a class="reference external" href="https://github.com/mitechie/python-readability">readability_lxml</a>. The author is a bit open to merging changes in and actually says she&#8217;s in &#8216;maintenance mode&#8217;. Since I kind of want a really decent library for this, it&#8217;s an important feature, I started hacking on it. In the process, this is where my week of hacking went.</p>
<p>First I updated it to allow me to get back only a partial html document vs an entire <cite>&lt;html&gt;</cite> doc. I then fixed some bugs, started cleaning up the code (adding tests, making the command line client all nice and argepare&#8217;y) etc. In the process I noticed that there&#8217;s a big branch in Github that adds a ton of things like multiple page document support and such. I&#8217;ve started to try to pull his branch into my work and the origin author&#8217;s code. It&#8217;s a LOT of <cite>git cherry-pick</cite> and really a pain since I want to clean up the code as I go. Unfortunately, this just means that Git gets confused on future merges since the code&#8217;s changed between commits. Ugh!</p>
<p>I&#8217;m about half way done though and I hope this will leave us with one solid library to do this parsing. I&#8217;m hoping to kind of take over stewardship of the library as I complete this work. It should hopefully make <a class="reference external" href="http://github.com/mitechie/Bookie">Bookie</a> and <a class="reference external" href="http://github.com/mitechie/bookie_parser">bookie_parser</a> all the more awesome.</p>
</div>
<div class="section" id="the-coming-week">
<h1>The coming week</h1>
<p>I&#8217;m giving a talk on the <a class="reference external" href="http://yuilibrary.com/">YUI JavaScript library</a> at <a class="reference external" href="http://www.penguicon.org">Penguicon</a>. This means my<br />
hacking time will be a bit less since I&#8217;ve got a presentation to prepare for. Next week&#8217;s status report might be a bit light and boring, but hey, maybe I&#8217;ll scrounge up some more beta users of Bookie while at the conference.</p>
<div class="sharedaddy sd-like-enabled"><div class="wpl-likebox sd-block sd-like"><h3 class="sd-title">Like this:</h3><div class="sd-content"><div id="like-372" class="wpl-button "><a href='http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/?like=1&amp;_wpnonce=b10571cb2a' title='I like this post' class='like needs-login sd-button' rel='nofollow'><span>Like</span></a></div><div class="wpl-count sd-like-count">Be the first to like this post.</div></div></div></div>
</div>
<br class="clear" />
<small class="metadata">
<span class="category">Filed under: <a href="http://blog.mitechie.com/category/bookie/" title="View all posts in Bookie" rel="category tag">Bookie</a> </span>
&nbsp;&nbsp;|&nbsp;&nbsp;<a href="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/#respond" class="commentslink" title="Comment on Bookie Weekly Update: April 22nd&nbsp;2012">Leave a <span>Comment</span></a> <br />Tags: <a href="http://blog.mitechie.com/tag/api/" rel="tag">api</a>, <a href="http://blog.mitechie.com/tag/bookie-2/" rel="tag">bookie</a>, <a href="http://blog.mitechie.com/tag/github/" rel="tag">github</a>, <a href="http://blog.mitechie.com/tag/parser/" rel="tag">parser</a>, <a href="http://blog.mitechie.com/tag/penguicon/" rel="tag">penguicon</a>, <a href="http://blog.mitechie.com/tag/readability_lxml/" rel="tag">readability_lxml</a><br /> </small>
</div>
<hr />
<div class="comments" id="comments">
<h4>
<a href="#comments">
No Responses Yet to &#8220;Bookie Weekly Update: April 22nd&nbsp;2012&#8221; </a>
</h4>
<div class="metalinks">
<span class="commentsrsslink"><a href='http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/feed/'>Feed for this Entry</a></span>
<span class="trackbacklink"><a href="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/trackback/" title="Copy this URI to trackback this entry.">Trackback Address</a></span> </div>
<ol class="commentlist" id='commentlist'>
<!-- If comments are open, but there are no comments. -->
<li id="leavecomment">Leave a Comment</li>
</ol>
<div id="respond">
<h3 id="reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2012/04/22/bookie-weekly-update-april-22nd-2012/#respond" style="display:none;">Cancel reply</a></small></h3>
<form action="http://blog.mitechie.com/wp-comments-post.php" method="post" id="commentform">
<input type="hidden" name="hc_post_as" id="hc_post_as" value="guest" />
<div class="comment-form-field comment-textarea">
<label for="comment">Enter your comment here...</label>
<div id="comment-form-comment"><textarea id="comment" name="comment"></textarea></div>
</div>
<div id="comment-form-identity">
<div id="comment-form-nascar">
<p>Fill in your details below or click an icon to log in:</p>
<ul>
<li class="selected" style="display:none;">
<a href="#comment-form-guest" id="postas-guest" title="Guest">
<span></span>
</a>
</li>
<li>
<a href="#comment-form-load-service:WordPress.com" id="postas-wordpress" title="WordPress.com">
<span></span>
</a>
</li>
<li>
<a href="#comment-form-load-service:Twitter" id="postas-twitter" title="Twitter">
<span></span>
</a>
</li>
<li>
<a href="#comment-form-load-service:Facebook" id="postas-facebook" title="Facebook">
<span></span>
</a>
</li>
</ul>
</div>
<div id="comment-form-guest" class="comment-form-service selected">
<div class="comment-form-padder">
<div class="comment-form-avatar">
<a href="https://gravatar.com/site/signup/" target="_blank"> <img src="http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=25&forcedefault=1&d=identicon" alt="Gravatar" width="25" class="no-grav" />
</a> </div>
<div class="comment-form-fields">
<div class="comment-form-field comment-form-email">
<label for="email">Email <span class="required">(required)</span> <span class="nopublish">(Address never made public)</span></label>
<div class="comment-form-input"><input id="email" name="email" type="text" value="" /></div>
</div>
<div class="comment-form-field comment-form-author">
<label for="author">Name <span class="required">(required)</span></label>
<div class="comment-form-input"><input id="author" name="author" type="text" value="" /></div>
</div>
<div class="comment-form-field comment-form-url">
<label for="url">Website</label>
<div class="comment-form-input"><input id="url" name="url" type="text" value="" /></div>
</div>
</div>
</div>
</div>
<div id="comment-form-wordpress" class="comment-form-service">
<div class="comment-form-padder">
<div class="comment-form-avatar">
<img src="http://s2.wp.com/wp-content/mu-plugins/highlander-comments/images/wplogo.png?m=1289230950g" alt="WordPress.com Logo" width="25" class="no-grav" />
</div>
<div class="comment-form-fields">
<input type="hidden" name="wp_avatar" id="wordpress-avatar" class="comment-meta-wordpress" value="" />
<input type="hidden" name="wp_user_id" id="wordpress-user_id" class="comment-meta-wordpress" value="" />
<input type="hidden" name="wp_access_token" id="wordpress-access_token" class="comment-meta-wordpress" value="" />
<p class="comment-form-posting-as pa-wordpress"><strong></strong> You are commenting using your WordPress.com account. <span class="comment-form-log-out">(&nbsp;<a href="javascript:HighlanderComments.doExternalLogout( 'wordpress' );">Log&nbsp;Out</a>&nbsp;/&nbsp;<a href="#" onclick="javascript:HighlanderComments.switchAccount();return false;">Change</a>&nbsp;)</span></p>
</div>
</div>
</div>
<div id="comment-form-twitter" class="comment-form-service">
<div class="comment-form-padder">
<div class="comment-form-avatar">
<img src="http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=25&d=identicon" alt="Twitter picture" width="25" class="no-grav" />
</div>
<div class="comment-form-fields">
<input type="hidden" name="twitter_avatar" id="twitter-avatar" class="comment-meta-twitter" value="" />
<input type="hidden" name="twitter_user_id" id="twitter-user_id" class="comment-meta-twitter" value="" />
<input type="hidden" name="twitter_access_token" id="twitter-access_token" class="comment-meta-twitter" value="" />
<p class="comment-form-posting-as pa-twitter"><strong></strong> You are commenting using your Twitter account. <span class="comment-form-log-out">(&nbsp;<a href="javascript:HighlanderComments.doExternalLogout( 'twitter' );">Log&nbsp;Out</a>&nbsp;/&nbsp;<a href="#" onclick="javascript:HighlanderComments.switchAccount();return false;">Change</a>&nbsp;)</span></p>
</div>
</div>
</div>
<div id="comment-form-facebook" class="comment-form-service">
<div class="comment-form-padder">
<div class="comment-form-avatar">
<img src="http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=25&d=identicon" alt="Facebook photo" width="25" class="no-grav" />
</div>
<div class="comment-form-fields">
<input type="hidden" name="fb_avatar" id="facebook-avatar" class="comment-meta-facebook" value="" />
<input type="hidden" name="fb_user_id" id="facebook-user_id" class="comment-meta-facebook" value="" />
<input type="hidden" name="fb_access_token" id="facebook-access_token" class="comment-meta-facebook" value="" />
<p class="comment-form-posting-as pa-facebook"><strong></strong> You are commenting using your Facebook account. <span class="comment-form-log-out">(&nbsp;<a href="javascript:HighlanderComments.doExternalLogout( 'facebook' );">Log&nbsp;Out</a>&nbsp;/&nbsp;<a href="#" onclick="javascript:HighlanderComments.switchAccount();return false;">Change</a>&nbsp;)</span></p>
</div>
</div>
</div>
<div id="comment-form-load-service" class="comment-form-service">
<div class="comment-form-posting-as-cancel"><a href="javascript:HighlanderComments.cancelExternalWindow();">Cancel</a></div>
<p>Connecting to %s</p>
</div>
</div>
<div id="comment-form-subscribe">
<p class="comment-subscription-form"><input type="checkbox" name="subscribe" id="subscribe" value="subscribe" style="width: auto;" tabindex="6"/> <label class="subscribe-label" id="subscribe-label" for="subscribe">Notify me of follow-up comments via email.</label></p></div>
<script type="text/javascript">
jQuery(document).ready(function(){
// Expando Mode: start small, then auto-resize on first click + text length
jQuery( '#comment-form-identity' ).hide();
jQuery( '#comment-form-subscribe' ).hide();
jQuery( '#commentform .form-submit' ).hide();
jQuery( '#comment' ).css( { 'height':'10px' } ).one( 'focus', function() {
jQuery( this ).animate( { 'height':'70px' } );
jQuery( '#comment-form-identity' ).slideDown();
jQuery( '#comment-form-subscribe' ).slideDown();
jQuery( '#commentform .form-submit' ).slideDown();
});
});
</script>
<p class="form-submit">
<input name="submit" type="submit" id="comment-submit" value="Post Comment" />
<input type='hidden' name='comment_post_ID' value='372' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
</p>
<input type="hidden" name="genseq" value="1336015328" />
<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="35ad5f65a1" /></p><script type='text/javascript' src='http://s0.wp.com/wp-content/mu-plugins/akismet-2.5/form.js?m=1308783962g&#038;ver=1'></script>
<p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="250"/></p> </form>
</div><!-- #respond -->
<div style="clear: both"></div>
</div> <!-- Close .comments container -->
</div>
<hr />
<ul class="secondary">
<li id="text-3" class="widget widget_text"> <div class="textwidget"><p>A Michigan Techie exploring Linux, Programming, and Woodworking. </p>
</div>
</li><li id="rss_links-2" class="widget widget_rss_links"><h2 class="widgettitle">RSS</h2>
<p class="size-small"><a class="feed-image-link" href="http://blog.mitechie.com/feed/" title="Subscribe to Posts"><img src="http://blog.mitechie.com/i/rss/orange-small.png" alt="RSS Feed" /></a>&nbsp;<a href="http://blog.mitechie.com/feed/" title="Subscribe to Posts">RSS - Posts</a></p><p class="size-small"><a class="feed-image-link" href="http://blog.mitechie.com/comments/feed/" title="Subscribe to Comments"><img src="http://blog.mitechie.com/i/rss/orange-small.png" alt="RSS Feed" /></a>&nbsp;<a href="http://blog.mitechie.com/comments/feed/" title="Subscribe to Comments">RSS - Comments</a></p>
</li><li id="linkcat-1356" class="widget widget_links"><h2 class="widgettitle">Blogroll</h2>
<ul class='xoxo blogroll'>
<li><a href="http://bmark.us" title="Delicious like bookmark application that&#8217;s open source" target="_blank">Bookie</a></li>
<li><a href="http://lococast.net" rel="me" title="My Podcast on Linux, Tech, Ubuntu Loco" target="_blank">Lococast.net</a></li>
<li><a href="http://www.mug.org/">Michigan Usr Group</a></li>
<li><a href="http://rick.bmark.us">My Bookmarks</a></li>
<li><a href="http://github.com/mitechie">My Github</a></li>
<li><a href="http://lococast.net/category/screencast" title="Some Vim Screencasts I do to help users that have figured out the basics of Vim and looking for some must have features." target="_blank">My Vim Screencasts</a></li>
<li><a href="http://ossmichigan.org/">OSS Michigan</a></li>
<li><a href="https://wiki.ubuntu.com/MichiganTeam">Ubuntu Michigan LoCo</a></li>
</ul>
</li>
<li id="wp_tag_cloud" class="widget wp_widget_tag_cloud"><h2 class="widgettitle">Tags</h2>
<div style="overflow:hidden"><a href='http://blog.mitechie.com/tag/accounts/' class='tag-link-4776' title='2 topics' style='font-size: 10.52pt;'>accounts</a>
<a href='http://blog.mitechie.com/tag/android/' class='tag-link-641922' title='1 topic' style='font-size: 8pt;'>android</a>
<a href='http://blog.mitechie.com/tag/api/' class='tag-link-4276' title='8 topics' style='font-size: 17.1pt;'>api</a>
<a href='http://blog.mitechie.com/tag/beanstalkd/' class='tag-link-14572501' title='1 topic' style='font-size: 8pt;'>beanstalkd</a>
<a href='http://blog.mitechie.com/tag/bmark-us/' class='tag-link-59219264' title='6 topics' style='font-size: 15.7pt;'>bmark.us</a>
<a href='http://blog.mitechie.com/tag/bookie-2/' class='tag-link-54482253' title='19 topics' style='font-size: 22pt;'>bookie</a>
<a href='http://blog.mitechie.com/tag/bookmarklet/' class='tag-link-9046' title='1 topic' style='font-size: 8pt;'>bookmarklet</a>
<a href='http://blog.mitechie.com/tag/bookmarks/' class='tag-link-4360' title='9 topics' style='font-size: 17.8pt;'>bookmarks</a>
<a href='http://blog.mitechie.com/tag/chc/' class='tag-link-351419' title='2 topics' style='font-size: 10.52pt;'>chc</a>
<a href='http://blog.mitechie.com/tag/chrome/' class='tag-link-367314' title='3 topics' style='font-size: 12.2pt;'>chrome</a>
<a href='http://blog.mitechie.com/tag/code-2/' class='tag-link-7689823' title='4 topics' style='font-size: 13.6pt;'>code</a>
<a href='http://blog.mitechie.com/tag/coders/' class='tag-link-1223867' title='1 topic' style='font-size: 8pt;'>coders</a>
<a href='http://blog.mitechie.com/tag/coffee/' class='tag-link-16166' title='1 topic' style='font-size: 8pt;'>coffee</a>
<a href='http://blog.mitechie.com/tag/coffeehousecoders/' class='tag-link-62715049' title='1 topic' style='font-size: 8pt;'>coffeehousecoders</a>
<a href='http://blog.mitechie.com/tag/community/' class='tag-link-2528' title='2 topics' style='font-size: 10.52pt;'>community</a>
<a href='http://blog.mitechie.com/tag/css/' class='tag-link-169' title='1 topic' style='font-size: 8pt;'>css</a>
<a href='http://blog.mitechie.com/tag/delicious/' class='tag-link-493' title='1 topic' style='font-size: 8pt;'>delicious</a>
<a href='http://blog.mitechie.com/tag/development/' class='tag-link-780' title='1 topic' style='font-size: 8pt;'>development</a>
<a href='http://blog.mitechie.com/tag/docs/' class='tag-link-10882' title='1 topic' style='font-size: 8pt;'>docs</a>
<a href='http://blog.mitechie.com/tag/extension/' class='tag-link-5024' title='3 topics' style='font-size: 12.2pt;'>extension</a>
<a href='http://blog.mitechie.com/tag/firefox/' class='tag-link-45' title='4 topics' style='font-size: 13.6pt;'>firefox</a>
<a href='http://blog.mitechie.com/tag/fulltext/' class='tag-link-666868' title='1 topic' style='font-size: 8pt;'>fulltext</a>
<a href='http://blog.mitechie.com/tag/javascript/' class='tag-link-457' title='10 topics' style='font-size: 18.36pt;'>javascript</a>
<a href='http://blog.mitechie.com/tag/jquery/' class='tag-link-203308' title='4 topics' style='font-size: 13.6pt;'>jquery</a>
<a href='http://blog.mitechie.com/tag/launchpad/' class='tag-link-110328' title='2 topics' style='font-size: 10.52pt;'>launchpad</a>
<a href='http://blog.mitechie.com/tag/mobile/' class='tag-link-120' title='1 topic' style='font-size: 8pt;'>mobile</a>
<a href='http://blog.mitechie.com/tag/nginx/' class='tag-link-697649' title='1 topic' style='font-size: 8pt;'>nginx</a>
<a href='http://blog.mitechie.com/tag/node-js/' class='tag-link-28224982' title='1 topic' style='font-size: 8pt;'>node.js</a>
<a href='http://blog.mitechie.com/tag/parser/' class='tag-link-47812' title='2 topics' style='font-size: 10.52pt;'>parser</a>
<a href='http://blog.mitechie.com/tag/penguicon/' class='tag-link-1001763' title='3 topics' style='font-size: 12.2pt;'>penguicon</a>
<a href='http://blog.mitechie.com/tag/profiling/' class='tag-link-29443' title='1 topic' style='font-size: 8pt;'>profiling</a>
<a href='http://blog.mitechie.com/tag/pylons/' class='tag-link-236456' title='3 topics' style='font-size: 12.2pt;'>pylons</a>
<a href='http://blog.mitechie.com/tag/pyohio/' class='tag-link-30987758' title='1 topic' style='font-size: 8pt;'>pyohio</a>
<a href='http://blog.mitechie.com/tag/pyramid/' class='tag-link-144718' title='3 topics' style='font-size: 12.2pt;'>pyramid</a>
<a href='http://blog.mitechie.com/tag/python/' class='tag-link-832' title='14 topics' style='font-size: 20.32pt;'>python</a>
<a href='http://blog.mitechie.com/tag/queue/' class='tag-link-369133' title='1 topic' style='font-size: 8pt;'>queue</a>
<a href='http://blog.mitechie.com/tag/ruby/' class='tag-link-4872' title='1 topic' style='font-size: 8pt;'>ruby</a>
<a href='http://blog.mitechie.com/tag/social/' class='tag-link-3457' title='1 topic' style='font-size: 8pt;'>social</a>
<a href='http://blog.mitechie.com/tag/sprint/' class='tag-link-22272' title='3 topics' style='font-size: 12.2pt;'>sprint</a>
<a href='http://blog.mitechie.com/tag/sqlalchemy/' class='tag-link-722763' title='6 topics' style='font-size: 15.7pt;'>sqlalchemy</a>
<a href='http://blog.mitechie.com/tag/sqlalchemy-migrate/' class='tag-link-33821937' title='1 topic' style='font-size: 8pt;'>sqlalchemy-migrate</a>
<a href='http://blog.mitechie.com/tag/status/' class='tag-link-577' title='2 topics' style='font-size: 10.52pt;'>status</a>
<a href='http://blog.mitechie.com/tag/testing/' class='tag-link-12' title='4 topics' style='font-size: 13.6pt;'>testing</a>
<a href='http://blog.mitechie.com/tag/turbogears/' class='tag-link-33610' title='1 topic' style='font-size: 8pt;'>turbogears</a>
<a href='http://blog.mitechie.com/tag/yui/' class='tag-link-202729' title='4 topics' style='font-size: 13.6pt;'>yui</a></div></li><li id="search-3" class="widget widget_search"><h2 class="widgettitle">Search</h2>
<form method="get" id="searchform" action="http://blog.mitechie.com/">
<div>
<input type="text" value="Search..." onfocus="if (this.value == 'Search...' ) { this.value = ''; }" onblur="if (this.value == '') { this.value = 'Search...';}" name="s" id="s" size="15" />
<input type="submit" id="searchsubmit" value="Go" />
</div>
</form></li></ul>
<div class="clear"></div>
</div>
<div style="clear:both;"></div>
</div>
<!-- Close Page -->
<div id="footer"><br /><hr />
<a href="http://wordpress.com/?ref=footer" rel="generator">Blog at WordPress.com</a>. &bull; Theme: <a href="http://theme.wordpress.com/themes/unsleepable/">Unsleepable</a> by <a href="http://www.openswitch.org" rel="designer">Ben Gray</a>. <a href="http://en.support.wordpress.com/custom-design/#custom-fonts" rel="external" title="Learn more about the fonts on this blog and the Custom Design upgrade">Fonts on this blog</a>.
</div>
<script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?aa&#038;ver=3.4-beta3-20681'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var WPGroHo = {"my_hash":""};
/* ]]> */
</script>
<script type='text/javascript' src='http://s2.wp.com/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1318621548g&#038;ver=3.4-beta3-20681'></script>
<script type="text/javascript">
var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,posttag.api,posttag.bookie-2,posttag.github,posttag.parser,posttag.penguicon,posttag.readability_lxml"};
function wpcomQuantcastPixel( labels, options ) {
var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
labels = labels || '';
options = options || {};
if ( typeof labels != 'string' )
options = labels;
for ( i in defaults ) {
data[i] = defaults[i];
}
for ( i in options ) {
data[i] = options[i];
}
if ( data.labels ) {
data.labels += ',' + labels;
} else {
data.labels = labels;
}
_qevents.push( data );
};
(function() {var elem = document.createElement('script');elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";elem.async = true;elem.type = "text/javascript";var scpt = document.getElementsByTagName('script')[0];scpt.parentNode.insertBefore(elem, scpt); })();
_qevents.push( wpcomQuantcastData );
</script>
<noscript><div style="display: none;"><img src="//pixel.quantserve.com/pixel/p-18-mFEk4J448M.gif?labels=%2Clanguage.en%2Ctype.wpcom%2Cposttag.api%2Cposttag.bookie-2%2Cposttag.github%2Cposttag.parser%2Cposttag.penguicon%2Cposttag.readability_lxml" height="1" width="1" alt="" /></div></noscript>
<script type="text/javascript">
/* <![CDATA[ */
(function($){
$(document).on( 'ready post-load', function() {
// Remove the login box when clicking the page
$( document ).mousedown( function( e ) {
if ( null == $( e.target ).closest( '#wpl-mustlogin' ).get( 0 ) ) {
$( '#wpl-mustlogin' ).remove();
}
});
// Handle clicking the like button itself
$('.wpl-button > a.like').click( function(e) {
e.preventDefault();
var postid = $(this).parent().attr('id').split('like-')[1];
$.post( 'http://blog.mitechie.com/wp-admin/admin-ajax.php', {
'action': 'wpl_record_stat',
'stat_name': 'loggedout_like_click'
} );
var tenMins = new Date();
tenMins.setTime( tenMins.getTime() + 600000 );
document.cookie = 'wpl_rand=27e9dbfee6; expires=' + tenMins.toGMTString() + '; domain=wordpress.com; path=/;';
$(this).parent().siblings('.wpl-count').after( '\
<div id="wpl-mustlogin"> \
<form action="https://mitechie.wordpress.com/wp-login.php" method="post"> \
<p>Just one more step to like this:</p> \
<label><span>Username</span> <input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="80" /></label> \
<label><span>Password</span> <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" tabindex="81" /></label> \
<input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="Log In" tabindex="82" /> \
<input type="hidden" name="postid" value="' + postid + '" /> \
<input type="hidden" name="redirect_to" value="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012?year=2012&monthnum=04&day=22&name=bookie-weekly-update-april-22nd-2012&like=1" /> \
<input type="hidden" name="wpl_rand" value="27e9dbfee6" /> \
<p>Not a member yet? <a href="http://wordpress.com/signup/?ref=likebox" id="wpl-signup-link">Sign up with WordPress.com</a></p> \
</form> \
</div> \
');
$('#wpl-mustlogin').hide().slideDown('fast');
} );
$('#wpl-mustlogin input.input').live( 'focus', function() {
$(this).prev().hide();
}).live( 'blur', function() {
if ( $(this).val() == '' ) {
$(this).prev().show();
}
});
$('#wpl-mustlogin input#wp-submit').live( 'click', function(e) {
e.preventDefault();
$.post( 'http://blog.mitechie.com/wp-admin/admin-ajax.php', {
'action': 'wpl_record_stat',
'stat_name': 'loggedout_login_submit'
}, function() {
$('#wpl-mustlogin form').submit();
} );
});
$('#wpl-mustlogin a#wpl-signup-link').live( 'click', function(e) {
e.preventDefault();
var link = $(this).attr('href');
$.post( 'http://blog.mitechie.com/wp-admin/admin-ajax.php', {
'action': 'wpl_record_stat',
'stat_name': 'loggedout_signup_click'
}, function() {
location.href = link;
} );
});
})
})(jQuery);
/* ]]> */
</script>
<script>jQuery(document).ready(function($){ Gravatar.profile_cb = function( h, d ) { WPGroHo.syncProfileData( h, d ); }; Gravatar.my_hash = WPGroHo.my_hash; Gravatar.init( 'body', '#wp-admin-bar-my-account' ); });</script> <div style="display:none">
</div>
<style type="text/css">
.reblog-from img { margin: 0 10px 0 0; vertical-align: middle; padding: 0; border: 0; }
.reblogger-note img.avatar { float: left; padding: 0; border: 0; }
.reblogger-note-content { margin: 0 0 20px 35px; }
.reblog-post { border-left: 3px solid #eee; padding-left: 15px; }
.reblog-post ul.thumb-list { display: block; list-style: none; margin: 2px 0; padding: 0; clear: both; }
.reblog-post ul.thumb-list li { display: inline; margin: 0; padding: 0 1px; border: 0; }
.reblog-post ul.thumb-list li a { margin: 0; padding: 0; border: 0; }
.reblog-post ul.thumb-list li img { margin: 0; padding: 0; border: 0; }
.reblog-post { border-left: 3px solid #eee; padding-left: 15px; }
.reblog-post .wpcom-enhanced-excerpt { clear: both; }
.reblog-post .wpcom-enhanced-excerpt address,
.reblog-post .wpcom-enhanced-excerpt li,
.reblog-post .wpcom-enhanced-excerpt h1,
.reblog-post .wpcom-enhanced-excerpt h2,
.reblog-post .wpcom-enhanced-excerpt h3,
.reblog-post .wpcom-enhanced-excerpt h4,
.reblog-post .wpcom-enhanced-excerpt h5,
.reblog-post .wpcom-enhanced-excerpt h6,
.reblog-post .wpcom-enhanced-excerpt p { font-size: 100% !important; }
.reblog-post .wpcom-enhanced-excerpt blockquote,
.reblog-post .wpcom-enhanced-excerpt pre,
.reblog-post .wpcom-enhanced-excerpt code,
.reblog-post .wpcom-enhanced-excerpt q { font-size: 98% !important; }
</style><script type='text/javascript'>
/* <![CDATA[ */
var HighlanderComments = {"loggingInText":"Logging In\u2026","submittingText":"Posting Comment\u2026","postCommentText":"Post Comment","connectingToText":"Connecting to %s","commentingAsText":"%1$s: You are commenting using your %2$s account.","logoutText":"Log Out","loginText":"Log In","connectURL":"http:\/\/mitechie.wordpress.com\/public.api\/connect\/?action=request","logoutURL":"http:\/\/mitechie.wordpress.com\/wp-login.php?action=logout&_wpnonce=b3f903a3dd","homeURL":"http:\/\/blog.mitechie.com\/","postID":"372","gravDefault":"identicon","enterACommentError":"Please enter a comment","enterEmailError":"Please enter your email address here","invalidEmailError":"Invalid email address","enterAuthorError":"Please enter your name here","gravatarFromEmail":"This picture will show whenever you leave a comment. Click to customize it.","logInToExternalAccount":"Log in to use details from one of these accounts.","change":"Change","changeAccount":"Change Account","comment_registration":"0","userIsLoggedIn":""};
/* ]]> */
</script>
<script type='text/javascript' src='http://s1.wp.com/wp-content/mu-plugins/highlander-comments/script.js?m=1334861972g&#038;ver=20110804'></script>
<div id="bit" class="loggedout-follow-normal">
<a class="bsub" href="javascript:void(0)"><span id='bsub-text'>Follow</span></a>
<div id="bitsubscribe">
<h3><label for="loggedout-follow-field">Follow &ldquo;Tech Rantings from a Michigan Techie&rdquo;</label></h3>
<form action="https://subscribe.wordpress.com" method="post" accept-charset="utf-8" id="loggedout-follow">
<p>Get every new post delivered to your Inbox.</p>
<p id="loggedout-follow-error" style="display: none;"></p>
<p><input type="text" name="email" style="width: 95%; padding: 1px 2px" value="Enter your email address" onfocus='this.value=(this.value=="Enter your email address") ? "" : this.value;' onblur='this.value=(this.value=="") ? "Enter email address" : this.value;' id="loggedout-follow-field"/></p>
<input type="hidden" name="action" value="subscribe"/>
<input type="hidden" name="blog_id" value="11465279"/>
<input type="hidden" name="source" value="http://blog.mitechie.com/2012/04/22/bookie-weekly-update-april-22nd-2012/"/>
<input type="hidden" name="sub-type" value="loggedout-follow"/>
<input type="hidden" id="_wpnonce" name="_wpnonce" value="f253f56d33" /><input type="hidden" name="_wp_http_referer" value="/2012/04/22/bookie-weekly-update-april-22nd-2012/" />
<p id='bsub-subscribe-button'><input type="submit" value="Sign me up" /></p>
</form>
<div id='bsub-credit'><a href="http://wordpress.com/signup/?ref=lof">Powered by WordPress.com</a></div>
</div><!-- #bitsubscribe -->
</div><!-- #bit -->
<script type="text/javascript" src="http://b.scorecardresearch.com/beacon.js"></script><script type="text/javascript">try{COMSCORE.beacon({c1:2,c2:7518284});}catch(e){}</script><noscript><p class="robots-nocontent"><img src="http://b.scorecardresearch.com/p?cj=1c1=2&#038;c2=7518284" alt="" style="display:none" width="1" height="1" /></p></noscript><script type="text/javascript">
// <![CDATA[
(function() {
try{
if ( window.external &&'msIsSiteMode' in window.external) {
if (window.external.msIsSiteMode()) {
var jl = document.createElement('script');
jl.type='text/javascript';
jl.async=true;
jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(jl, s);
}
}
}catch(e){}
})();
// ]]>
</script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
<script type="text/javascript">
st_go({'blog':'11465279','v':'wpcom','user_id':'0','post':'372','subd':'mitechie'});
ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1TaVhzUzFMbjdWNHpwZGhTayxPSUFCMGNrd29+Smw0c2YrNHNBSkw3cVdPUTNiUmUvRG9WajdULixdZiZQQnVGbEV1K2E/MyUucUFSZT8xc2JFN094NjdGTGo4NC9DUDkwSXJ1RS1PbC44SkxidkRmWUo3c21idFhrcW03Qlt8dyZYcjlvPXBuWEo9OXVJczBuU0txTn5CQz1ySHpxbUt0SmJGUXk9PUJZR3JPNlZqSW1zK2VlXTAuamx+LU5QdU5yN1g2X0FuYVRwbF95TXpubGEvRUY9Smg9ci8vSEU3bWp1bnJUZHorM3NBVlkwUlNSeGFUSC9zNjFRSnMzPS5wci5NXX5JRVJYNl9PT1FKaXlKQ3lCRTJvSWQ/XXRVMHZyeGlhNiZYcD1WPTUwNGZHdXZaLWdHYkRUTE9SWw=='});
addLoadEvent(function(){linktracker_init('11465279',372);});
</script>
<noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
</body>
</html>