<?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/"
	>

<channel>
	<title>Keith Collins</title>
	<atom:link href="http://www.keithcollins.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.keithcollins.net</link>
	<description>Writer / Reporter / Producer / Programmer</description>
	<lastBuildDate>Sat, 12 May 2012 17:15:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Stand Out: How to Create a Custom WordPress Child Theme</title>
		<link>http://www.keithcollins.net/2012/04/27/stand-out-how-to-create-a-custom-wordpress-child-theme/</link>
		<comments>http://www.keithcollins.net/2012/04/27/stand-out-how-to-create-a-custom-wordpress-child-theme/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 03:10:01 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code Examples]]></category>

		<guid isPermaLink="false">http://www.keithcollins.net/?p=352</guid>
		<description><![CDATA[This is the overview for a session I'm teaching at BarCamp NewsInnovation 2012 on April 28th, 2012 at Temple University in Philadelphia. Information from WordPress on building Child Themes is available here, and was used as a source for this tutorial. Why &#8230; <a href="http://www.keithcollins.net/2012/04/27/stand-out-how-to-create-a-custom-wordpress-child-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>This is the overview for a session I'm teaching at <a href="http://sct.temple.edu/blogs/news-events/event/barcamp-newsinnovation-2012/">BarCamp NewsInnovation 2012</a> on April 28th, 2012 at Temple University in Philadelphia. Information from WordPress on building Child Themes is available <a href="http://codex.wordpress.org/Child_Themes">here</a>, and was used as a source for this tutorial.</em></p>
<p><strong>Why bother?</strong> WordPress is not only a blogging platform but also a powerful Content Management System (CMS). With it, you can control your content and add posts via the web or even a mobile device. WordPress also gives you access to hundreds of useful plugins, including Search Engine Optimization and site statistics tools.</p>
<p>The purpose of this tutorial is just to get you started in customizing WordPress. Please keep in mind that this is a seven-step crash course, and is not exhaustive. You'll learn how to control WP's dynamic menus, sidebar, header and footer. This will be especially useful if you already have a site designed and just need to know how to integrate it into the WordPress platform.</p>
<p><strong>Requirements for this tutorial:</strong></p>
<ul>
<li>You must own a website with a hosting plan.</li>
<li>You must be able to upload files to your site via FTP.</li>
<li>You must have access to a database through your host.</li>
</ul>
<h2>Step 1: Get WordPress</h2>
<p><strong>Installation Options</strong></p>
<ul>
<li>Download WordPress from wordpress.org and follow the easy installation instructions <a href="http://codex.wordpress.org/Installing_WordPress">here</a></li>
<li>If you host your website with <a href="http://www.bluehost.com">bluehost.com</a>, you can install WordPress in one click via the Control Panel.</li>
</ul>
<h2>Step 2: Establish Your Child Theme's Files</h2>
<p>Now that you have WordPress installed with a default theme (probably twentyeleven), you can setup your child theme.</p>
<ol>
<li>Create a new folder under <strong>/wp-content/themes/</strong> For this tutorial, we’ll call it <strong>my-theme</strong>. This is the folder for your Child Theme.</li>
<li>Create a new stylesheet: <strong>/wp-content/themes/my-theme/style.css</strong></li>
<li>Now we’ll need to copy some files over from our Parent Theme. Be sure to <em>copy</em> and not <em>move</em> these files. When creating a Child Theme you should NEVER need to edit any files under the Parent Theme.<br />
Copy these files:<br />
<strong>header.php</strong><br />
<strong>footer.php</strong><br />
<strong>index.php</strong><br />
<strong>sidebar.php<br />
</strong>from:<strong><strong> /wp-content/themes/twentyeleven</strong><br />
</strong>to:<strong> <strong>/wp-content/themes/my-theme</strong> </strong></li>
</ol>
<p><strong>Understanding the Files</strong></p>
<p>Before we move on to editing files, let's be sure you understand the purpose of each.</p>
<p><strong>style.css</strong><br />
This is the main stylesheet for your Theme. This will override the stylesheet of the Parent Theme, and it is the basis of your site customization.</p>
<p><strong>header.php</strong> and <strong>footer.php</strong><br />
These will act as the shell for every page on your site. As the name implies, <strong>header.php</strong> contains the opening HTML, HEAD, and BODY tags, and any content that should load at the top of your site, such as your logo, navigation menu, and the opening of your main container DIV. <strong>footer.php</strong> contains everything that should load at the bottom (and possibly on the side) of your site, as well as the closing BODY and HTML tags.</p>
<p><strong>index.php</strong><br />
This is the generic default template WordPress will use when no other template is specified. On your blog home page, by default, WordPress lists your latest posts via <strong>index.php</strong>.</p>
<p><strong>sidebar.php<br />
</strong>This is the template for the WordPress sidebar.</p>
<p>Once you understand the basics, you'll be able to customize more specific template files, such as page.php, search.php, archive.php, and more. In all cases, I recommend first copying the files over from your parent theme, and then editing them.</p>
<div></div>
<h2>Step 3: Setup Your Stylesheet</h2>
<p>Before moving forward, it's best to have an established design for your site. I'd suggest building your stylesheet and at least one HTML file, considering how you want your navigation, sidebar, header and footer to look. For this tutorial, I'll use a very basic design that you should not use for your site.</p>
<p>Open <strong>/wp-content/themes/my-theme/style.css</strong> and add the following setup info to the top of the file:</p>
<pre class="css"><span style="color: #808080; font-style: italic;">/*
Theme Name:     My First WordPress Theme
Theme URI:      http://www.mydomain.com/wp-content/themes/my-theme
Description:    This is my first WordPress Theme. It's a child theme of the Twenty Eleven theme
Author:         Your name or WordPress ID
Author URI:     http://www.mydomain.com/
Template:       twentyeleven
Version:        0.1.0
*/</span></pre>
<p>This will initialize our Child Theme and make it available for selection in the WordPress backend.</p>
<p>For this tutorial, we'll import the stylesheet of our Parent Theme, twentyeleven. This will ensure that any blog styles we don't implement will be covered. In the interest of making your site completely unique, though, I recommend taking this line out once you're comfortable. For now, add this line just below the setup info:</p>
<pre class="css"><span style="color: #a1a100;">@import url(&quot;../twentyeleven/style.css&quot;);</span></pre>
<p>If you've created your own stylesheet, go ahead and paste it below this line. Otherwise, for the purposes of this tutorial, you can use this:</p>
<pre class="css">body <span style="color: #66cc66;">&#123;</span>
    padding<span style="color: #3333ff;">:<span style="color: #933;">0</span></span>;
    margin<span style="color: #3333ff;">:<span style="color: #933;">0</span></span>;
    <span style="color: #000000; font-weight: bold;">background-color</span>: <span style="color: #cc00cc;">#<span style="color: #933;">000</span></span>;
    <span style="color: #000000; font-weight: bold;">color</span>:<span style="color: #cc00cc;">#<span style="color: #933;">000</span></span>;
    <span style="color: #000000; font-weight: bold;">font-family</span>: <span style="color: #ff0000;">&quot;Helvetica&quot;</span>;
    <span style="color: #000000; font-weight: bold;">font-size</span>: <span style="color: #933;">12px</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#my-header</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background-color</span>: <span style="color: #cc00cc;">#287aa0</span>;
    width<span style="color: #3333ff;">:<span style="color: #933;">1004px</span></span>;
    height<span style="color: #3333ff;">:<span style="color: #933;">100px</span></span>;
    <span style="color: #000000; font-weight: bold;">margin</span>: <span style="color: #933;">0</span> <span style="color: #993333;">auto</span>;
    <span style="color: #000000; font-weight: bold;">overflow</span>: <span style="color: #993333;">hidden</span>;
    <span style="color: #000000; font-weight: bold;">padding</span>: <span style="color: #933;">0</span> <span style="color: #933;">10px</span> <span style="color: #933;">0</span> <span style="color: #933;">10px</span>;
    <span style="color: #000000; font-weight: bold;">color</span>:<span style="color: #cc00cc;">#FFF</span>;
<span style="color: #66cc66;">&#125;</span>
    <span style="color: #cc00cc;">#my-header</span> h2 <span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">color</span>:<span style="color: #cc00cc;">#FFF</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #cc00cc;">#main</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background-color</span>: <span style="color: #cc00cc;">#FFF</span>;
    width<span style="color: #3333ff;">:<span style="color: #933;">1024px</span></span>;
    <span style="color: #000000; font-weight: bold;">margin</span>: <span style="color: #933;">0</span> <span style="color: #993333;">auto</span>;
    <span style="color: #000000; font-weight: bold;">padding</span>: <span style="color: #933;">0</span>;
    <span style="color: #000000; font-weight: bold;">overflow</span>: <span style="color: #993333;">hidden</span>;
<span style="color: #66cc66;">&#125;</span>
    nav <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">float</span>: <span style="color: #000000; font-weight: bold;">right</span>;
    <span style="color: #66cc66;">&#125;</span>
    nav li <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span>: <span style="color: #993333;">inline</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #cc00cc;">#my-sidebar</span> <span style="color: #66cc66;">&#123;</span>
        width<span style="color: #3333ff;">:<span style="color: #933;">200px</span></span>;
        min-height<span style="color: #3333ff;">:<span style="color: #933;">100</span></span>%;
        <span style="color: #000000; font-weight: bold;">float</span>: <span style="color: #000000; font-weight: bold;">left</span>;
        <span style="color: #000000; font-weight: bold;">background-color</span>: <span style="color: #cc00cc;">#CCC</span>;
        <span style="color: #000000; font-weight: bold;">padding</span>: <span style="color: #933;">5px</span>;
        <span style="color: #000000; font-weight: bold;">overflow</span>: <span style="color: #993333;">hidden</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #cc00cc;">#my-content</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">width</span>: <span style="color: #933;">804px</span>;
        <span style="color: #000000; font-weight: bold;">float</span>: <span style="color: #000000; font-weight: bold;">left</span>;
        <span style="color: #000000; font-weight: bold;">padding</span>: <span style="color: #933;">5px</span>;
        <span style="color: #000000; font-weight: bold;">overflow</span>: <span style="color: #993333;">hidden</span>;
    <span style="color: #66cc66;">&#125;</span>
footer <span style="color: #66cc66;">&#123;</span>
    width<span style="color: #3333ff;">:<span style="color: #933;">1024px</span></span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Save the stylesheet. </p>
<h2>Step 4: Setup Your Header</h2>
<p>Now open your <strong>header.php</strong> file.</p>
<p>Leave everything above the opening &lt;body&gt; tag alone for now.  Below it, you should put the top half of your site. That is, everything up to and including the opening &lt;div&gt; tag for your main content. If you're using my tutorial examples, use this:</p>
<pre class="text">&nbsp;
&lt;header id=&quot;my-header&quot;&gt;
&lt;h1 id=&quot;site-title&quot;&gt;
        &lt;span&gt;
            &lt;a href=&quot;&lt;?php echo esc_url( home_url( '/' ) ); ?&gt;&quot; rel=&quot;home&quot;&gt;&lt;?php bloginfo( 'name' ); ?&gt;&lt;/a&gt;
        &lt;/span&gt;
    &lt;/h1&gt;
&lt;h2 id=&quot;site-description&quot;&gt;&lt;?php bloginfo( 'description' ); ?&gt;&lt;/h2&gt;
&lt;/header&gt;
&lt;div id=&quot;main&quot;&gt;
&lt;nav&gt;&lt;/nav&gt;
&lt;div id=&quot;my-sidebar&quot;&gt;&lt;?php get_sidebar(); ?&gt;&lt;/div&gt;
&lt;div id=&quot;my-content&quot;&gt;
&nbsp;</pre>
<p>Notice the PHP code inside the header; it is key site information: the URL to the home page, the site title, and the site description. There's also the sidebar code. These are variables set in your WordPress installation, and are available throughout the site. Get to know them:</p>
<pre class="php">&nbsp;
<span style="color: #808080; font-style: italic;">// outputs your site's main URL</span>
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> esc_url<span style="color: #66cc66;">&#40;</span> home_url<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'/'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// outputs your site's title</span>
bloginfo<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'name'</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// outputs your site's description</span>
bloginfo<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'description'</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// outputs the contents of the main sidebar, including any widgets</span>
get_sidebar<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Also notice that the &lt;nav&gt; element is empty. We're going to fill it in by dynamically pulling in the WordPress Menu. But first we have to set it up! </p>
<p>Login to your WordPress backend at yoursite.com/wp-admin</p>
<p>Go to Appearance &gt; Menus, enter a menu name, create it, then add some menu items. You can use custom links or pages categories if you've created any.</p>
<p>Now, to pull those menu items into your site, put this PHP code between the opening and closing &lt;nav&gt; tags:</p>
<pre class="php">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #0000ff;">$menus</span> = wp_get_nav_menus<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$menu_items</span> = wp_get_nav_menu_items<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$menus</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$menu_items_count</span> = <a href="http://www.php.net/count"><span style="color: #000066;">count</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$menu_items</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$menu_items</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$menu_item</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$menu_item</span>-&gt;<span style="color: #006600;">menu_item_parent</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.php.net/print"><span style="color: #000066;">print</span></a><span style="color: #ff0000;">'
&lt;li&gt;&lt;a href=&quot;'</span>.<span style="color: #0000ff;">$menu_item</span>-&gt;<span style="color: #006600;">url</span>.<span style="color: #ff0000;">'&quot;&quot;&gt;'</span>.<span style="color: #0000ff;">$menu_item</span>-&gt;<span style="color: #006600;">title</span>.<span style="color: #ff0000;">'&lt;/a&gt;&lt;/li&gt;
&nbsp;
'</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;</pre>
<h2>Step 5: Setup Your Footer</h2>
<p>If you haven't worked with dynamic headers and footers before, you might be wondering why some of the &lt;div&gt; tags in the header aren't closed. Every template page in WordPress loads header.php, then its content, then footer.php -- so it's in footer.php is where those tags are closed. And, of course, where your footer element will go.</p>
<p>If you're using my examples, all you need to add to footer.php is the closing &lt;nav&gt; tag, right at the top of the file. If you want to put the sidebar in my example on the right of the page rather than the left, you'd take it out of the header, put it in the footer, and adjust the floats in the CSS</p>
<h2>Step 6: Setup Your Sidebar</h2>
<p>Open sidebar.php and remove the &lt;div&gt; with the ID of "secondary" -- be sure to remove the closing tag from the bottom of the page as well. This will free up the contents of the sidebar to be controled by the container we created in the stylesheet. Alternatively, you could add styles for #secondary to your stylesheet, but there's really no need. Remember, the original sidebar.php file still lives under the twentyeleven folder if you ever need to start over. </p>
<h2>Step 7: Setup index.php</h2>
<p>Normally, there isn't much you'll need to do with index.php. But since we've added the sidebar to our header, which means it will load globally throughout the site, we need to take it out of index.php. So open up the file and remove this code from the second to last line.</p>
<pre class="php">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> get_sidebar<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;</pre>
<h2>Done!</h2>
<p>We've only covered the basics here, but hopefully you've gotten a sense of the possibilities of WordPress. When you want to customize more template pages, such as category.php, page.php, archive.php and search.php, you can copy those files from twentyeleven into your theme folder and get coding. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/04/27/stand-out-how-to-create-a-custom-wordpress-child-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doorways to the soul</title>
		<link>http://www.keithcollins.net/2012/04/26/doorways-to-the-soul/</link>
		<comments>http://www.keithcollins.net/2012/04/26/doorways-to-the-soul/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 06:51:12 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.keithcollins.net/?p=414</guid>
		<description><![CDATA[There are a lot of things to consider when holding a door for someone. Does the door open away from you or toward you? To the right or to the left? Do you let the person behind you in first, &#8230; <a href="http://www.keithcollins.net/2012/04/26/doorways-to-the-soul/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There are a lot of things to consider when holding a door for someone. Does the door open away from you or toward you? To the right or to the left? Do you let the person behind you in first, or do you go through and give them the no-look, non-committal, 5-second-max opportunity to catch the door before you release and move on with your life?</p>
<p>Do you give a shit?</p>
<p>Do they?</p>
<p>If I am not immediately behind you, please, do not hold the door for me. I can probably manage on my own. The last thing I feel like doing is sprinting up to the door, especially if the only reward is not having to open it myself. And you shouldn't have to stand there like an idiot, wasting your time, lending me your momentum. Just go. Via con dios.</p>
<p>Sometimes, though, you should definitely hold the door.</p>
<p>The gender-neutral situation in which the door should always be held is when someone is immediately behind you. You really have no choice unless you truly don't care. And if that's the case, I'm cool with it. Because how many times have we all held the door for some turd who refused to thank us? You always run that risk when you choose to hold the door for someone. Especially if you're letting them through ahead of you, those sons of bitches had better look up from their cell phones and thank you. If they don't, I'm pretty sure it's legal to rip the door from its hinges and pummel the person with it.</p>
<p>The male-specific instance, obviously, is when you're with a woman. This woman could be your grandmother, your aunt, a woman with whom you have no relation, your girlfirend, your mistress, or your wife. Any woman. You really don't even have to be with her. However, if even she doesn't thank you, pummeling is still an option. Especially if it's your grandmother.</p>
<p>Women, if you're there, this concerns you as well.</p>
<p>Hey.</p>
<p>Hey <em>girl</em>.</p>
<p>If you're with a man, especially if he is your husband, boyfriend, or friend-zoned twit, you need to realize that he is probably going to want to hold the door for you. It isn't because he doesn't think you can do it. He knows you can, baby, but he just wants to do it for you. Let's not turn this into an equal rights thing, okay muffin head? We men get so few chances in life to show you that we care. There are so many automatic doors out there and, sweetie, revolving doors are tricky, but we should probably go through separately. You first. I insist. But when we're approaching any regular door, a door that one person can open for another, honey face, get the fuck out of the way. Just. Just please move aside and let us open the ridiculous door for you. It may seem unintuitive and illogical, but, please. Do it for us, you gorgeous little ass hole. We need this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/04/26/doorways-to-the-soul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Audio: Fade in, fade out</title>
		<link>http://www.keithcollins.net/2012/04/16/html5-audio-fade/</link>
		<comments>http://www.keithcollins.net/2012/04/16/html5-audio-fade/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 03:27:10 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Code Examples]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[effects]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.keithcollins.net/?p=341</guid>
		<description><![CDATA[Need to fade your HTML5 audio in or out? Here's a bit of code I wrote to do the trick. This function is to fade out; you can easily change it to fade in. Keep in mind, audioElement is a &#8230; <a href="http://www.keithcollins.net/2012/04/16/html5-audio-fade/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Need to fade your HTML5 audio in or out? Here's a bit of code I wrote to do the trick. This function is to fade out; you can easily change it to fade in. Keep in mind, <strong>audioElement</strong> is a variable that represents your already-loaded HTML5 audio object.</p>
<div id="gist-2396206" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c1">// every second your audio element is playing</span></div><div class='line' id='LC2'><span class="nx">$</span><span class="p">(</span><span class="nx">audioElement</span><span class="p">).</span><span class="nx">on</span><span class="p">(</span><span class="s1">&#39;timeupdate&#39;</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>				</div><div class='line' id='LC3'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">vol</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span></div><div class='line' id='LC4'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">interval</span> <span class="o">=</span> <span class="mi">200</span><span class="p">;</span> <span class="c1">// 200ms interval</span></div><div class='line' id='LC5'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">audioElement</span><span class="p">.</span><span class="nx">currentTime</span><span class="p">)</span> <span class="o">==</span> <span class="mi">15</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">audioElement</span><span class="p">.</span><span class="nx">volume</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">intervalID</span> <span class="o">=</span> <span class="nx">setInterval</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC8'>	        <span class="c1">// Reduce volume by 0.05 as long as it is above 0</span></div><div class='line' id='LC9'>	        <span class="c1">// This works as long as you start with a multiple of 0.05!</span></div><div class='line' id='LC10'>	        <span class="k">if</span> <span class="p">(</span><span class="nx">vol</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC11'>	            <span class="nx">vol</span> <span class="o">-=</span> <span class="mf">0.05</span><span class="p">;</span></div><div class='line' id='LC12'>	            <span class="c1">// limit to 2 decimal places</span></div><div class='line' id='LC13'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// also converts to string, works ok</span></div><div class='line' id='LC14'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">audioElement</span><span class="p">.</span><span class="nx">volume</span> <span class="o">=</span> <span class="nx">vol</span><span class="p">.</span><span class="nx">toFixed</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span></div><div class='line' id='LC15'>	        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC16'>	            <span class="c1">// Stop the setInterval when 0 is reached</span></div><div class='line' id='LC17'>	            <span class="nx">clearInterval</span><span class="p">(</span><span class="nx">intervalID</span><span class="p">);</span></div><div class='line' id='LC18'>	        <span class="p">}</span></div><div class='line' id='LC19'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span> <span class="nx">interval</span><span class="p">);</span></div><div class='line' id='LC20'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC21'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC22'><span class="p">});</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/2396206/be148dbdbf8da47bafdeba915a3ce6e710955906/html5audiofade.js" style="float:right;">view raw</a>
            <a href="https://gist.github.com/2396206#file_html5audiofade.js" style="float:right;margin-right:10px;color:#666">html5audiofade.js</a>
            <a href="https://gist.github.com/2396206">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>So, 15 seconds into the audio, this will start. It will decrease the volume by 0.05 every 200 milliseconds until volume reaches 0. At the start we set volume to 1, which is 100% volume. If your user can change the volume, this will be tricky. If you start at 1, it might bump up the volume before fading out. In that case, you'll want to consider getting the current volume, then rounding it to a number that's evenly dividable by 0.05 before kicking off the interval.</p>
<p>Note: It seems like some people find this page when trying to figure out how to fade images in and out in HTML5. If that's you, listen. HTML5 does not create animations. Javascript does. When you hear people talking about HTML5 like it's the new Flash, they are talking about HTML5 being manipulated by Javascript. (Either that or they just don't know what they're talking about.) If you want an easy way to fade images in and out, try <a href="http://jquery.com/">jQuery</a>. Once you include jQuery in your site, try its <a href="http://api.jquery.com/fadeOut/">.fadeOut()</a> method.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/04/16/html5-audio-fade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bella Sorrel</title>
		<link>http://www.keithcollins.net/2012/04/16/bella-sorrel/</link>
		<comments>http://www.keithcollins.net/2012/04/16/bella-sorrel/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 01:36:05 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Websites & Apps]]></category>
		<category><![CDATA[commercial]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.keithcollins.net/?p=336</guid>
		<description><![CDATA[This site was designed by Gimme Design. I built it into a custom WordPress theme to give the clients full control over the content. I used a bit of jQuery for the front-end effects, and the rest is pure HTML &#8230; <a href="http://www.keithcollins.net/2012/04/16/bella-sorrel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This site was designed by <a href="http://www.gimmedesign.com">Gimme Design</a>. I built it into a custom WordPress theme to give the clients full control over the content. I used a bit of jQuery for the front-end effects, and the rest is pure HTML &amp; CSS (and of course PHP for the WordPress integration). Check it out at <a href="http://www.bellasorrel.com/">bellasorrel.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/04/16/bella-sorrel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery: Reusable AJAX form processing</title>
		<link>http://www.keithcollins.net/2012/04/04/jquery-reusable-ajax-form-processing/</link>
		<comments>http://www.keithcollins.net/2012/04/04/jquery-reusable-ajax-form-processing/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 19:21:33 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Code Examples]]></category>

		<guid isPermaLink="false">http://www.loudnarrative.org/?p=267</guid>
		<description><![CDATA[I try to keep my code as DRY (Don't Repeat Yourself) as possible. At some point, I found myself repeating JavaScript/jQuery code to process forms, because the form data was always different. At times, I even used multiple handlers. But &#8230; <a href="http://www.keithcollins.net/2012/04/04/jquery-reusable-ajax-form-processing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I try to keep my code as DRY (Don't Repeat Yourself) as possible. At some point, I found myself repeating JavaScript/jQuery code to process forms, because the form data was always different. At times, I even used multiple handlers. But with this method, I don't have to do that any more. For example, take this simple registration form:<br />
<span id="more-267"></span></p>
<pre class="html4strict">&nbsp;
<span style="color: #009900;"><a href="http://december.com/html/4/element/form.html"><span style="color: #000000; font-weight: bold;">&lt;form</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;registerForm&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;ajaxForm&quot;</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">&quot;/register&quot;</span> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">&quot;post&quot;</span> <span style="color: #000066;">onsubmit</span>=<span style="color: #ff0000;">&quot;event.returnValue = false; return false;&quot;</span> <span style="color: #000066;">accept-charset</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;hidden&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;_method&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;POST&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][username]&quot;</span> <span style="color: #000066;">maxlength</span>=<span style="color: #ff0000;">&quot;100&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][first_name]&quot;</span> <span style="color: #000066;">maxlength</span>=<span style="color: #ff0000;">&quot;100&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][last_name]&quot;</span> <span style="color: #000066;">maxlength</span>=<span style="color: #ff0000;">&quot;100&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][email]&quot;</span> <span style="color: #000066;">maxlength</span>=<span style="color: #ff0000;">&quot;100&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;password&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][password]&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;password&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;data[User][cpassword]&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Submit&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/form&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;registerForm_result&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span>
&nbsp;</pre>
<p>I used to bind the ID of form like this in jQuery, and write out a text string to represent the form data I wanted sent to the handler. That's because I didn't know about <a href="http://api.jquery.com/serialize/">jQuery's serialize function</a>. The function takes the form data and "creates a text string in standard URL-encoded notation." This <em>almost</em> eliminates the need to make your bind function unique to each form. There are a couple of other tricks. Take a look at the jQuery first:</p>
<pre class="javascript">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'.ajaxForm'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">on</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'submit'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> formId = $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #66cc66;">&#41;</span>,
	doAction = $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'action'</span><span style="color: #66cc66;">&#41;</span>;
	$.<span style="color: #006600;">post</span><span style="color: #66cc66;">&#40;</span>doAction, $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">serialize</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>,
		<span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
			$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#'</span>+formId+<span style="color: #3366CC;">'_result'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
	e.<span style="color: #006600;">preventDefault</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>Let me highlight the aspects that make this reusable:</p>
<pre class="javascript">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'.ajaxForm'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">on</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'submit'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></pre>
<p>We are calling the form by the class name, not the ID. Any form given the class name "ajaxForm" will be bound to this.</p>
<pre class="javascript">&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> formId = $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #66cc66;">&#41;</span>,
doAction = $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'action'</span><span style="color: #66cc66;">&#41;</span>;
$.<span style="color: #006600;">post</span><span style="color: #66cc66;">&#40;</span>doAction, $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">serialize</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>,
	<span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#'</span>+formId+<span style="color: #3366CC;">'_result'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
	e.<span style="color: #006600;">preventDefault</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>First, we take the ID and action of the form being called.<br />
Next, we post the serialized form data to the handler specified in the form's action attribute.<br />
On success, the handler should output a message to indicate all is well, or an error indicating otherwise. Remember that div at the bottom of the registration form? This is where the returned message will go. The ID of the form is "registerForm" and the ID of the DIV is "registerForm_result" -- so all we have to do is append '_result' to the formID and jQuery will know where to send the message.</p>
<p>As for the handler, it will depend on what language you're using. Note that in this example, I put the form data into an array. So, in a PHP example, you'd want to get all the values of
<pre class="php"><span style="color: #0000ff;">$_REQUEST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'data'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'User'</span><span style="color: #66cc66;">&#93;</span></pre>
<p> or get the username via
<pre class="php"><span style="color: #0000ff;">$_REQUEST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'data'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'User'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'username'</span><span style="color: #66cc66;">&#93;</span></pre>
<p> -- you could make a reusable handler, but you'll probably just want to send the data to an individual controller method via the action attribute.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/04/04/jquery-reusable-ajax-form-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rhythm &amp; running: how to pace yourself with music</title>
		<link>http://www.keithcollins.net/2012/03/22/rhythm-running-how-to-pace-yourself-with-music/</link>
		<comments>http://www.keithcollins.net/2012/03/22/rhythm-running-how-to-pace-yourself-with-music/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 06:41:02 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[bpm]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[pace]]></category>
		<category><![CDATA[pacing yourself]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[spm]]></category>
		<category><![CDATA[stride length]]></category>

		<guid isPermaLink="false">http://www.loudnarrative.org/?p=257</guid>
		<description><![CDATA[iTunes doesn't fill in the BPM (beats per minute) info for your songs automatically. However, there's a plugin called BeaTunes, which will scan your music library and fill in the BPM field for each song. For my library, it took about &#8230; <a href="http://www.keithcollins.net/2012/03/22/rhythm-running-how-to-pace-yourself-with-music/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>iTunes doesn't fill in the BPM (beats per minute) info for your songs automatically. However, there's a plugin called <a href="http://www.beatunes.com/">BeaTunes</a>, which will scan your music library and fill in the BPM field for each song. For my library, it took about an hour.</p>
<p>This is a good way to find faster songs for working out or slower songs for relaxing. I used it for running. That is, using BPM to control my SPM (steps per minute). SPM can be matched up with a specific pace. So when you run to the beat of a song, you're running at that pace. (See important note below.)</p>
<p>If you're interested, the table below is a pace to SPM conversion chart (found <a href="http://curtsheller.com/racewalking/spm.php">here</a>). (<em>You'll need to know your stride length to convert SPM to pace. To calculate your stride length, walk a known distance while counting your steps. Then divide the distance you've walked (in feet) by the number of steps you took.</em>)</p>
<div style="width: 100%; height: 400px; overflow: scroll; border: 1px solid #000;">
<table class="rw_spm" summary="Step Per Minute times">
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>140</strong></td>
<td>8.57</td>
<td>12:34</td>
<td>12:13</td>
<td>11:54</td>
<td>11:36</td>
<td>11:18</td>
<td>11:02</td>
<td>10:46</td>
<td>10:31</td>
<td>10:17</td>
<td>10:03</td>
<td>9:50</td>
<td>9:37</td>
<td>9:25</td>
</tr>
<tr>
<td><strong>141</strong></td>
<td>8.51</td>
<td>12:28</td>
<td>12:08</td>
<td>11:49</td>
<td>11:31</td>
<td>11:14</td>
<td>10:57</td>
<td>10:41</td>
<td>10:27</td>
<td>10:12</td>
<td>9:59</td>
<td>9:46</td>
<td>9:33</td>
<td>9:21</td>
</tr>
<tr>
<td><strong>142</strong></td>
<td>8.45</td>
<td>12:23</td>
<td>12:03</td>
<td>11:44</td>
<td>11:26</td>
<td>11:09</td>
<td>10:52</td>
<td>10:37</td>
<td>10:22</td>
<td>10:08</td>
<td>9:54</td>
<td>9:41</td>
<td>9:29</td>
<td>9:17</td>
</tr>
<tr>
<td><strong>143</strong></td>
<td>8.39</td>
<td>12:18</td>
<td>11:58</td>
<td>11:39</td>
<td>11:21</td>
<td>11:04</td>
<td>10:48</td>
<td>10:32</td>
<td>10:18</td>
<td>10:04</td>
<td>9:50</td>
<td>9:37</td>
<td>9:25</td>
<td>9:13</td>
</tr>
<tr>
<td><strong>144</strong></td>
<td>8.33</td>
<td>12:13</td>
<td>11:53</td>
<td>11:34</td>
<td>11:16</td>
<td>11:00</td>
<td>10:43</td>
<td>10:28</td>
<td>10:13</td>
<td>10:00</td>
<td>9:46</td>
<td>9:33</td>
<td>9:21</td>
<td>9:10</td>
</tr>
<tr>
<td><strong>145</strong></td>
<td>8.28</td>
<td>12:08</td>
<td>11:48</td>
<td>11:29</td>
<td>11:12</td>
<td>10:55</td>
<td>10:39</td>
<td>10:24</td>
<td>10:09</td>
<td>9:55</td>
<td>9:42</td>
<td>9:29</td>
<td>9:17</td>
<td>9:06</td>
</tr>
<tr>
<td><strong>146</strong></td>
<td>8.22</td>
<td>12:03</td>
<td>11:43</td>
<td>11:25</td>
<td>11:07</td>
<td>10:50</td>
<td>10:35</td>
<td>10:19</td>
<td>10:05</td>
<td>9:51</td>
<td>9:38</td>
<td>9:26</td>
<td>9:14</td>
<td>9:02</td>
</tr>
<tr>
<td><strong>147</strong></td>
<td>8.16</td>
<td>11:58</td>
<td>11:38</td>
<td>11:20</td>
<td>11:03</td>
<td>10:46</td>
<td>10:30</td>
<td>10:15</td>
<td>10:01</td>
<td>9:47</td>
<td>9:34</td>
<td>9:22</td>
<td>9:10</td>
<td>8:58</td>
</tr>
<tr>
<td><strong>148</strong></td>
<td>8.11</td>
<td>11:53</td>
<td>11:34</td>
<td>11:15</td>
<td>10:58</td>
<td>10:42</td>
<td>10:26</td>
<td>10:11</td>
<td>9:57</td>
<td>9:43</td>
<td>9:30</td>
<td>9:18</td>
<td>9:06</td>
<td>8:55</td>
</tr>
<tr>
<td><strong>149</strong></td>
<td>8.05</td>
<td>11:48</td>
<td>11:29</td>
<td>11:11</td>
<td>10:54</td>
<td>10:37</td>
<td>10:22</td>
<td>10:07</td>
<td>9:53</td>
<td>9:39</td>
<td>9:26</td>
<td>9:14</td>
<td>9:02</td>
<td>8:51</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>150</strong></td>
<td>8.00</td>
<td>11:44</td>
<td>11:24</td>
<td>11:06</td>
<td>10:49</td>
<td>10:33</td>
<td>10:18</td>
<td>10:03</td>
<td>9:49</td>
<td>9:36</td>
<td>9:23</td>
<td>9:10</td>
<td>8:59</td>
<td>8:48</td>
</tr>
<tr>
<td><strong>151</strong></td>
<td>7.95</td>
<td>11:39</td>
<td>11:20</td>
<td>11:02</td>
<td>10:45</td>
<td>10:29</td>
<td>10:14</td>
<td>9:59</td>
<td>9:45</td>
<td>9:32</td>
<td>9:19</td>
<td>9:07</td>
<td>8:55</td>
<td>8:44</td>
</tr>
<tr>
<td><strong>152</strong></td>
<td>7.89</td>
<td>11:34</td>
<td>11:15</td>
<td>10:58</td>
<td>10:41</td>
<td>10:25</td>
<td>10:10</td>
<td>9:55</td>
<td>9:41</td>
<td>9:36</td>
<td>9:15</td>
<td>9:03</td>
<td>8:52</td>
<td>8:41</td>
</tr>
<tr>
<td><strong>153</strong></td>
<td>7.84</td>
<td>11:30</td>
<td>11:11</td>
<td>10:53</td>
<td>10:37</td>
<td>10:21</td>
<td>10:06</td>
<td>9:51</td>
<td>9:37</td>
<td>9:24</td>
<td>9:12</td>
<td>9:00</td>
<td>8:48</td>
<td>8:37</td>
</tr>
<tr>
<td><strong>154</strong></td>
<td>7.79</td>
<td>11:25</td>
<td>11:07</td>
<td>10:49</td>
<td>10:32</td>
<td>10:17</td>
<td>10:02</td>
<td>9:47</td>
<td>9:34</td>
<td>9:21</td>
<td>9:08</td>
<td>8:56</td>
<td>8:45</td>
<td>8:34</td>
</tr>
<tr>
<td><strong>155</strong></td>
<td>7.74</td>
<td>11:21</td>
<td>11:02</td>
<td>10:45</td>
<td>10:28</td>
<td>10:13</td>
<td>9:58</td>
<td>9:43</td>
<td>9:30</td>
<td>9:17</td>
<td>9:05</td>
<td>8:53</td>
<td>8:41</td>
<td>8:30</td>
</tr>
<tr>
<td><strong>156</strong></td>
<td>7.69</td>
<td>11:16</td>
<td>10:58</td>
<td>10:41</td>
<td>10:24</td>
<td>10:09</td>
<td>9:54</td>
<td>9:40</td>
<td>9:26</td>
<td>9:13</td>
<td>9:01</td>
<td>8:49</td>
<td>8:38</td>
<td>8:27</td>
</tr>
<tr>
<td><strong>157</strong></td>
<td>7.64</td>
<td>11:12</td>
<td>10:54</td>
<td>10:37</td>
<td>10:20</td>
<td>10:05</td>
<td>9:50</td>
<td>9:36</td>
<td>9:23</td>
<td>9:10</td>
<td>8:58</td>
<td>8:46</td>
<td>8:35</td>
<td>8:24</td>
</tr>
<tr>
<td><strong>158</strong></td>
<td>7.59</td>
<td>11:08</td>
<td>10:50</td>
<td>10:33</td>
<td>10:16</td>
<td>10:01</td>
<td>9:46</td>
<td>9:32</td>
<td>9:19</td>
<td>9:06</td>
<td>8:54</td>
<td>8:43</td>
<td>8:31</td>
<td>8:21</td>
</tr>
<tr>
<td><strong>159</strong></td>
<td>7.55</td>
<td>11:04</td>
<td>10:46</td>
<td>10:29</td>
<td>10:13</td>
<td>9:57</td>
<td>9:43</td>
<td>9:29</td>
<td>9:16</td>
<td>9:03</td>
<td>8:51</td>
<td>8:39</td>
<td>8:28</td>
<td>8:18</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>160</strong></td>
<td>7.50</td>
<td>11:00</td>
<td>10:42</td>
<td>10:25</td>
<td>10:09</td>
<td>9:54</td>
<td>9:39</td>
<td>9:25</td>
<td>9:12</td>
<td>8:59</td>
<td>8:48</td>
<td>8:36</td>
<td>8:25</td>
<td>8:15</td>
</tr>
<tr>
<td><strong>161</strong></td>
<td>7.44</td>
<td>10:55</td>
<td>10:37</td>
<td>10:21</td>
<td>10:05</td>
<td>9:50</td>
<td>9:36</td>
<td>9:22</td>
<td>9:09</td>
<td>8:56</td>
<td>8:45</td>
<td>8:33</td>
<td>8:22</td>
<td>8:12</td>
</tr>
<tr>
<td><strong>162</strong></td>
<td>7.40</td>
<td>10:51</td>
<td>10:34</td>
<td>10:17</td>
<td>10:01</td>
<td>9:46</td>
<td>9:32</td>
<td>9:18</td>
<td>9:05</td>
<td>8:52</td>
<td>8:41</td>
<td>8:30</td>
<td>8:19</td>
<td>8:09</td>
</tr>
<tr>
<td><strong>163</strong></td>
<td>7.36</td>
<td>10:48</td>
<td>10:30</td>
<td>10:13</td>
<td>9:57</td>
<td>9:43</td>
<td>9:28</td>
<td>9:15</td>
<td>9:02</td>
<td>8:49</td>
<td>8:38</td>
<td>8:27</td>
<td>8:16</td>
<td>8:06</td>
</tr>
<tr>
<td><strong>164</strong></td>
<td>7.31</td>
<td>10:43</td>
<td>10:26</td>
<td>10:09</td>
<td>9:54</td>
<td>9:39</td>
<td>9:25</td>
<td>9:12</td>
<td>8:58</td>
<td>8:46</td>
<td>8:35</td>
<td>8:24</td>
<td>8:13</td>
<td>8:03</td>
</tr>
<tr>
<td><strong>165</strong></td>
<td>7.27</td>
<td>10:40</td>
<td>10:22</td>
<td>10:06</td>
<td>9:50</td>
<td>9:36</td>
<td>9:21</td>
<td>9:08</td>
<td>8:55</td>
<td>8:43</td>
<td>8:31</td>
<td>8:21</td>
<td>8:10</td>
<td>8:00</td>
</tr>
<tr>
<td><strong>166</strong></td>
<td>7.23</td>
<td>10:36</td>
<td>10:18</td>
<td>10:02</td>
<td>9:46</td>
<td>9:32</td>
<td>9:18</td>
<td>9:04</td>
<td>8:52</td>
<td>8:40</td>
<td>8:28</td>
<td>8:18</td>
<td>8:07</td>
<td>7:57</td>
</tr>
<tr>
<td><strong>167</strong></td>
<td>7.18</td>
<td>10:32</td>
<td>10:15</td>
<td>9:58</td>
<td>9:43</td>
<td>9:29</td>
<td>9:15</td>
<td>9:01</td>
<td>8:49</td>
<td>8:37</td>
<td>8:25</td>
<td>8:15</td>
<td>8:04</td>
<td>7:54</td>
</tr>
<tr>
<td><strong>168</strong></td>
<td>7.14</td>
<td>10:28</td>
<td>10:11</td>
<td>9:55</td>
<td>9:40</td>
<td>9:25</td>
<td>9:12</td>
<td>8:58</td>
<td>8:46</td>
<td>8:34</td>
<td>8:22</td>
<td>8:12</td>
<td>8:01</td>
<td>7:51</td>
</tr>
<tr>
<td><strong>169</strong></td>
<td>7.09</td>
<td>10:24</td>
<td>10:07</td>
<td>9:51</td>
<td>9:36</td>
<td>9:22</td>
<td>9:08</td>
<td>8:55</td>
<td>8:43</td>
<td>8:30</td>
<td>8:19</td>
<td>8:09</td>
<td>7:58</td>
<td>7:48</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>170</strong></td>
<td>7.06</td>
<td>10:21</td>
<td>10:04</td>
<td>9:48</td>
<td>9:33</td>
<td>9:19</td>
<td>9:05</td>
<td>8:52</td>
<td>8:39</td>
<td>8:27</td>
<td>8:16</td>
<td>8:06</td>
<td>7:55</td>
<td>7:45</td>
</tr>
<tr>
<td><strong>171</strong></td>
<td>7.01</td>
<td>10:17</td>
<td>10:00</td>
<td>9:45</td>
<td>9:30</td>
<td>9:15</td>
<td>9:02</td>
<td>8:49</td>
<td>8:36</td>
<td>8:25</td>
<td>8:13</td>
<td>8:03</td>
<td>7:52</td>
<td>7:43</td>
</tr>
<tr>
<td><strong>172</strong></td>
<td>6.97</td>
<td>10:13</td>
<td>9:57</td>
<td>9:41</td>
<td>9:26</td>
<td>9:12</td>
<td>8:58</td>
<td>8:46</td>
<td>8:33</td>
<td>8:22</td>
<td>8:11</td>
<td>8:00</td>
<td>7:50</td>
<td>7:40</td>
</tr>
<tr>
<td><strong>173</strong></td>
<td>6.93</td>
<td>10:10</td>
<td>9:54</td>
<td>9:38</td>
<td>9:23</td>
<td>9:09</td>
<td>8:55</td>
<td>8:43</td>
<td>8:30</td>
<td>8:19</td>
<td>8:08</td>
<td>7:57</td>
<td>7:47</td>
<td>7:37</td>
</tr>
<tr>
<td><strong>174</strong></td>
<td>6.89</td>
<td>10:06</td>
<td>9:50</td>
<td>9:34</td>
<td>9:19</td>
<td>9:06</td>
<td>8:52</td>
<td>8:40</td>
<td>8:28</td>
<td>8:16</td>
<td>8:05</td>
<td>7:54</td>
<td>7:45</td>
<td>7:35</td>
</tr>
<tr>
<td><strong>175</strong></td>
<td>6.85</td>
<td>10:03</td>
<td>9:46</td>
<td>9:31</td>
<td>9:16</td>
<td>9:03</td>
<td>8:49</td>
<td>8:37</td>
<td>8:25</td>
<td>8:13</td>
<td>8:03</td>
<td>7:52</td>
<td>7:42</td>
<td>7:32</td>
</tr>
<tr>
<td><strong>176</strong></td>
<td>6.82</td>
<td>10:00</td>
<td>9:43</td>
<td>9:28</td>
<td>9:13</td>
<td>9:00</td>
<td>8:46</td>
<td>8:34</td>
<td>8:22</td>
<td>8:10</td>
<td>8:00</td>
<td>7:49</td>
<td>7:39</td>
<td>7:30</td>
</tr>
<tr>
<td><strong>177</strong></td>
<td>6.77</td>
<td>9:56</td>
<td>9:40</td>
<td>9:25</td>
<td>9:10</td>
<td>8:57</td>
<td>8:43</td>
<td>8:31</td>
<td>8:19</td>
<td>8:07</td>
<td>7:57</td>
<td>7:46</td>
<td>7:37</td>
<td>7:27</td>
</tr>
<tr>
<td><strong>178</strong></td>
<td>6.74</td>
<td>9:53</td>
<td>9:37</td>
<td>9:22</td>
<td>9:07</td>
<td>8:54</td>
<td>8:40</td>
<td>8:28</td>
<td>8:16</td>
<td>8:04</td>
<td>7:54</td>
<td>7:44</td>
<td>7:34</td>
<td>7:25</td>
</tr>
<tr>
<td><strong>179</strong></td>
<td>6.69</td>
<td>9:49</td>
<td>9:33</td>
<td>9:18</td>
<td>9:04</td>
<td>8:51</td>
<td>8:37</td>
<td>8:25</td>
<td>8:13</td>
<td>8:02</td>
<td>7:52</td>
<td>7:41</td>
<td>7:31</td>
<td>7:22</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>180</strong></td>
<td>6.66</td>
<td>9:46</td>
<td>9:30</td>
<td>9:15</td>
<td>9:01</td>
<td>8:48</td>
<td>8:34</td>
<td>8:22</td>
<td>8:10</td>
<td>7:59</td>
<td>7:49</td>
<td>7:39</td>
<td>7:29</td>
<td>7:19</td>
</tr>
<tr>
<td><strong>181</strong></td>
<td>6.62</td>
<td>9:43</td>
<td>9:27</td>
<td>9:12</td>
<td>8:58</td>
<td>8:45</td>
<td>8:32</td>
<td>8:19</td>
<td>8:08</td>
<td>7:57</td>
<td>7:46</td>
<td>7:36</td>
<td>7:27</td>
<td>7:17</td>
</tr>
<tr>
<td><strong>182</strong></td>
<td>6.59</td>
<td>9:40</td>
<td>9:24</td>
<td>9:09</td>
<td>8:55</td>
<td>8:42</td>
<td>8:29</td>
<td>8:17</td>
<td>8:05</td>
<td>7:54</td>
<td>7:44</td>
<td>7:34</td>
<td>7:24</td>
<td>7:15</td>
</tr>
<tr>
<td><strong>183</strong></td>
<td>6.56</td>
<td>9:37</td>
<td>9:21</td>
<td>9:06</td>
<td>8:52</td>
<td>8:39</td>
<td>8:26</td>
<td>8:14</td>
<td>8:03</td>
<td>7:51</td>
<td>7:41</td>
<td>7:31</td>
<td>7:22</td>
<td>7:12</td>
</tr>
<tr>
<td><strong>184</strong></td>
<td>6.52</td>
<td>9:34</td>
<td>9:18</td>
<td>9:03</td>
<td>8:49</td>
<td>8:36</td>
<td>8:24</td>
<td>8:12</td>
<td>8:00</td>
<td>7:49</td>
<td>7:39</td>
<td>7:28</td>
<td>7:19</td>
<td>7:10</td>
</tr>
<tr>
<td><strong>185</strong></td>
<td>6.48</td>
<td>9:30</td>
<td>9:15</td>
<td>9:00</td>
<td>8:46</td>
<td>8:33</td>
<td>8:21</td>
<td>8:09</td>
<td>7:57</td>
<td>7:46</td>
<td>7:36</td>
<td>7:26</td>
<td>7:17</td>
<td>7:08</td>
</tr>
<tr>
<td><strong>186</strong></td>
<td>6.44</td>
<td>9:27</td>
<td>9:12</td>
<td>8:57</td>
<td>8:43</td>
<td>8:31</td>
<td>8:18</td>
<td>8:06</td>
<td>7:55</td>
<td>7:44</td>
<td>7:34</td>
<td>7:24</td>
<td>7:15</td>
<td>7:06</td>
</tr>
<tr>
<td><strong>187</strong></td>
<td>6.41</td>
<td>9:24</td>
<td>9:09</td>
<td>8:54</td>
<td>8:40</td>
<td>8:28</td>
<td>8:15</td>
<td>8:03</td>
<td>7:52</td>
<td>7:42</td>
<td>7:31</td>
<td>7:21</td>
<td>7:12</td>
<td>7:03</td>
</tr>
<tr>
<td><strong>188</strong></td>
<td>6.38</td>
<td>9:21</td>
<td>9:06</td>
<td>8:52</td>
<td>8:38</td>
<td>8:25</td>
<td>8:13</td>
<td>8:01</td>
<td>7:50</td>
<td>7:39</td>
<td>7:29</td>
<td>7:19</td>
<td>7:10</td>
<td>7:01</td>
</tr>
<tr>
<td><strong>189</strong></td>
<td>6.34</td>
<td>9:18</td>
<td>9:03</td>
<td>8:49</td>
<td>8:35</td>
<td>8:22</td>
<td>8:10</td>
<td>7:58</td>
<td>7:47</td>
<td>7:36</td>
<td>7:27</td>
<td>7:17</td>
<td>7:07</td>
<td>6:58</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>190</strong></td>
<td>6.31</td>
<td>9:15</td>
<td>9:00</td>
<td>8:46</td>
<td>8:33</td>
<td>8:20</td>
<td>8:07</td>
<td>7:56</td>
<td>7:45</td>
<td>7:34</td>
<td>7:24</td>
<td>7:15</td>
<td>7:05</td>
<td>6:57</td>
</tr>
<tr>
<td><strong>191</strong></td>
<td>6.27</td>
<td>9:12</td>
<td>8:57</td>
<td>8:43</td>
<td>8:30</td>
<td>8:17</td>
<td>8:05</td>
<td>7:54</td>
<td>7:42</td>
<td>7:31</td>
<td>7:22</td>
<td>7:12</td>
<td>7:03</td>
<td>6:54</td>
</tr>
<tr>
<td><strong>192</strong></td>
<td>6.25</td>
<td>9:10</td>
<td>8:55</td>
<td>8:40</td>
<td>8:27</td>
<td>8:15</td>
<td>8:03</td>
<td>7:51</td>
<td>7:40</td>
<td>7:29</td>
<td>7:19</td>
<td>7:10</td>
<td>7:01</td>
<td>6:52</td>
</tr>
<tr>
<td><strong>193</strong></td>
<td>6.22</td>
<td>9:07</td>
<td>8:52</td>
<td>8:38</td>
<td>8:24</td>
<td>8:12</td>
<td>8:00</td>
<td>7:48</td>
<td>7:37</td>
<td>7:27</td>
<td>7:18</td>
<td>7:07</td>
<td>6:58</td>
<td>6:50</td>
</tr>
<tr>
<td><strong>194</strong></td>
<td>6.18</td>
<td>9:04</td>
<td>8:49</td>
<td>8:35</td>
<td>8:22</td>
<td>8:09</td>
<td>7:57</td>
<td>7:46</td>
<td>7:35</td>
<td>7:25</td>
<td>7:15</td>
<td>7:06</td>
<td>6:57</td>
<td>6:48</td>
</tr>
<tr>
<td><strong>195</strong></td>
<td>6.15</td>
<td>9:01</td>
<td>8:46</td>
<td>8:33</td>
<td>8:19</td>
<td>8:07</td>
<td>7:55</td>
<td>7:43</td>
<td>7:33</td>
<td>7:22</td>
<td>7:13</td>
<td>7:03</td>
<td>6:54</td>
<td>6:46</td>
</tr>
<tr>
<td><strong>196</strong></td>
<td>6.11</td>
<td>8:58</td>
<td>8:43</td>
<td>8:30</td>
<td>8:17</td>
<td>8:04</td>
<td>7:52</td>
<td>7:41</td>
<td>7:31</td>
<td>7:20</td>
<td>7:10</td>
<td>7:01</td>
<td>6:52</td>
<td>6:43</td>
</tr>
<tr>
<td><strong>197</strong></td>
<td>6.08</td>
<td>8:55</td>
<td>8:41</td>
<td>8:27</td>
<td>8:14</td>
<td>8:02</td>
<td>7:50</td>
<td>7:39</td>
<td>7:28</td>
<td>7:18</td>
<td>7:09</td>
<td>6:59</td>
<td>6:50</td>
<td>6:42</td>
</tr>
<tr>
<td><strong>198</strong></td>
<td>6.06</td>
<td>8:53</td>
<td>8:39</td>
<td>8:25</td>
<td>8:12</td>
<td>8:00</td>
<td>7:48</td>
<td>7:37</td>
<td>7:26</td>
<td>7:16</td>
<td>7:06</td>
<td>6:57</td>
<td>6:48</td>
<td>6:40</td>
</tr>
<tr>
<td><strong>199</strong></td>
<td>6.02</td>
<td>8:50</td>
<td>8:36</td>
<td>8:22</td>
<td>8:09</td>
<td>7:57</td>
<td>7:45</td>
<td>7:34</td>
<td>7:24</td>
<td>7:13</td>
<td>7:04</td>
<td>6:55</td>
<td>6:46</td>
<td>6:37</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>200</strong></td>
<td>6.00</td>
<td>8:48</td>
<td>8:33</td>
<td>8:20</td>
<td>8:07</td>
<td>7:55</td>
<td>7:43</td>
<td>7:32</td>
<td>7:22</td>
<td>7:12</td>
<td>7:02</td>
<td>6:52</td>
<td>6:44</td>
<td>6:36</td>
</tr>
<tr>
<td><strong>201</strong></td>
<td>5.97</td>
<td>8:45</td>
<td>8:31</td>
<td>8:17</td>
<td>8:04</td>
<td>7:52</td>
<td>7:41</td>
<td>7:30</td>
<td>7:19</td>
<td>7:09</td>
<td>7:00</td>
<td>6:51</td>
<td>6:42</td>
<td>6:34</td>
</tr>
<tr>
<td><strong>202</strong></td>
<td>5.93</td>
<td>8:42</td>
<td>8:28</td>
<td>8:15</td>
<td>8:02</td>
<td>7:50</td>
<td>7:39</td>
<td>7:28</td>
<td>7:17</td>
<td>7:07</td>
<td>6:58</td>
<td>6:49</td>
<td>6:40</td>
<td>6:31</td>
</tr>
<tr>
<td><strong>203</strong></td>
<td>5.91</td>
<td>8:40</td>
<td>8:25</td>
<td>8:12</td>
<td>8:00</td>
<td>7:48</td>
<td>7:36</td>
<td>7:25</td>
<td>7:15</td>
<td>7:05</td>
<td>6:56</td>
<td>6:46</td>
<td>6:38</td>
<td>6:30</td>
</tr>
<tr>
<td><strong>204</strong></td>
<td>5.88</td>
<td>8:37</td>
<td>8:23</td>
<td>8:10</td>
<td>7:57</td>
<td>7:45</td>
<td>7:34</td>
<td>7:23</td>
<td>7:13</td>
<td>7:03</td>
<td>6:54</td>
<td>6:45</td>
<td>6:36</td>
<td>6:28</td>
</tr>
<tr>
<td><strong>205</strong></td>
<td>5.85</td>
<td>8:35</td>
<td>8:21</td>
<td>8:07</td>
<td>7:55</td>
<td>7:43</td>
<td>7:32</td>
<td>7:21</td>
<td>7:11</td>
<td>7:01</td>
<td>6:52</td>
<td>6:43</td>
<td>6:34</td>
<td>6:26</td>
</tr>
<tr>
<td><strong>206</strong></td>
<td>5.82</td>
<td>8:32</td>
<td>8:18</td>
<td>8:05</td>
<td>7:52</td>
<td>7:41</td>
<td>7:30</td>
<td>7:19</td>
<td>7:09</td>
<td>6:59</td>
<td>6:49</td>
<td>6:40</td>
<td>6:32</td>
<td>6:24</td>
</tr>
<tr>
<td><strong>207</strong></td>
<td>5.80</td>
<td>8:30</td>
<td>8:16</td>
<td>8:03</td>
<td>7:51</td>
<td>7:39</td>
<td>7:27</td>
<td>7:17</td>
<td>7:07</td>
<td>6:57</td>
<td>6:48</td>
<td>6:39</td>
<td>6:30</td>
<td>6:22</td>
</tr>
<tr>
<td><strong>208</strong></td>
<td>5.76</td>
<td>8:27</td>
<td>8:13</td>
<td>8:00</td>
<td>7:48</td>
<td>7:37</td>
<td>7:25</td>
<td>7:15</td>
<td>7:04</td>
<td>6:55</td>
<td>6:46</td>
<td>6:37</td>
<td>6:28</td>
<td>6:21</td>
</tr>
<tr>
<td><strong>209</strong></td>
<td>5.74</td>
<td>8:25</td>
<td>8:11</td>
<td>7:58</td>
<td>7:46</td>
<td>7:34</td>
<td>7:23</td>
<td>7:13</td>
<td>7:03</td>
<td>6:53</td>
<td>6:44</td>
<td>6:35</td>
<td>6:27</td>
<td>6:19</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>210</strong></td>
<td>5.70</td>
<td>8:22</td>
<td>8:09</td>
<td>7:56</td>
<td>7:43</td>
<td>7:32</td>
<td>7:21</td>
<td>7:10</td>
<td>7:00</td>
<td>6:51</td>
<td>6:42</td>
<td>6:33</td>
<td>6:25</td>
<td>6:17</td>
</tr>
<tr>
<td><strong>211</strong></td>
<td>5.68</td>
<td>8:20</td>
<td>8:06</td>
<td>7:54</td>
<td>7:42</td>
<td>7:30</td>
<td>7:19</td>
<td>7:09</td>
<td>6:58</td>
<td>6:49</td>
<td>6:40</td>
<td>6:31</td>
<td>6:23</td>
<td>6:15</td>
</tr>
<tr>
<td><strong>212</strong></td>
<td>5.66</td>
<td>8:18</td>
<td>8:04</td>
<td>7:51</td>
<td>7:39</td>
<td>7:28</td>
<td>7:17</td>
<td>7:06</td>
<td>6:57</td>
<td>6:47</td>
<td>6:38</td>
<td>6:30</td>
<td>6:21</td>
<td>6:13</td>
</tr>
<tr>
<td><strong>213</strong></td>
<td>5.62</td>
<td>8:15</td>
<td>8:02</td>
<td>7:49</td>
<td>7:37</td>
<td>7:26</td>
<td>7:15</td>
<td>7:04</td>
<td>6:55</td>
<td>6:45</td>
<td>6:36</td>
<td>6:27</td>
<td>6:19</td>
<td>6:12</td>
</tr>
<tr>
<td><strong>214</strong></td>
<td>5.60</td>
<td>8:13</td>
<td>8:00</td>
<td>7:47</td>
<td>7:35</td>
<td>7:24</td>
<td>7:13</td>
<td>7:03</td>
<td>6:52</td>
<td>6:43</td>
<td>6:34</td>
<td>6:25</td>
<td>6:18</td>
<td>6:10</td>
</tr>
<tr>
<td><strong>215</strong></td>
<td>5.58</td>
<td>8:11</td>
<td>7:57</td>
<td>7:45</td>
<td>7:33</td>
<td>7:22</td>
<td>7:11</td>
<td>7:00</td>
<td>6:51</td>
<td>6:41</td>
<td>6:33</td>
<td>6:24</td>
<td>6:16</td>
<td>6:08</td>
</tr>
<tr>
<td><strong>216</strong></td>
<td>5.56</td>
<td>8:09</td>
<td>7:55</td>
<td>7:43</td>
<td>7:31</td>
<td>7:19</td>
<td>7:09</td>
<td>6:58</td>
<td>6:49</td>
<td>6:39</td>
<td>6:31</td>
<td>6:22</td>
<td>6:14</td>
<td>6:06</td>
</tr>
<tr>
<td><strong>217</strong></td>
<td>5.52</td>
<td>8:06</td>
<td>7:53</td>
<td>7:40</td>
<td>7:28</td>
<td>7:18</td>
<td>7:07</td>
<td>6:57</td>
<td>6:47</td>
<td>6:37</td>
<td>6:29</td>
<td>6:21</td>
<td>6:12</td>
<td>6:04</td>
</tr>
<tr>
<td><strong>218</strong></td>
<td>5.50</td>
<td>8:04</td>
<td>7:51</td>
<td>7:39</td>
<td>7:27</td>
<td>7:16</td>
<td>7:05</td>
<td>6:55</td>
<td>6:45</td>
<td>6:36</td>
<td>6:27</td>
<td>6:19</td>
<td>6:10</td>
<td>6:03</td>
</tr>
<tr>
<td><strong>219</strong></td>
<td>5.48</td>
<td>8:02</td>
<td>7:49</td>
<td>7:36</td>
<td>7:25</td>
<td>7:13</td>
<td>7:03</td>
<td>6:53</td>
<td>6:43</td>
<td>6:34</td>
<td>6:25</td>
<td>6:17</td>
<td>6:09</td>
<td>6:01</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>220</strong></td>
<td>5.45</td>
<td>8:00</td>
<td>7:46</td>
<td>7:34</td>
<td>7:22</td>
<td>7:12</td>
<td>7:01</td>
<td>6:51</td>
<td>6:42</td>
<td>6:32</td>
<td>6:24</td>
<td>6:15</td>
<td>6:07</td>
<td>6:00</td>
</tr>
<tr>
<td><strong>221</strong></td>
<td>5.42</td>
<td>7:57</td>
<td>7:45</td>
<td>7:32</td>
<td>7:21</td>
<td>7:10</td>
<td>6:59</td>
<td>6:49</td>
<td>6:40</td>
<td>6:30</td>
<td>6:22</td>
<td>6:13</td>
<td>6:06</td>
<td>5:58</td>
</tr>
<tr>
<td><strong>222</strong></td>
<td>5.40</td>
<td>7:55</td>
<td>7:42</td>
<td>7:30</td>
<td>7:19</td>
<td>7:08</td>
<td>6:57</td>
<td>6:47</td>
<td>6:38</td>
<td>6:28</td>
<td>6:20</td>
<td>6:12</td>
<td>6:04</td>
<td>5:57</td>
</tr>
<tr>
<td><strong>223</strong></td>
<td>5.38</td>
<td>7:53</td>
<td>7:40</td>
<td>7:28</td>
<td>7:16</td>
<td>7:06</td>
<td>6:55</td>
<td>6:45</td>
<td>6:36</td>
<td>6:27</td>
<td>6:18</td>
<td>6:10</td>
<td>6:02</td>
<td>5:55</td>
</tr>
<tr>
<td><strong>224</strong></td>
<td>5.35</td>
<td>7:51</td>
<td>7:38</td>
<td>7:26</td>
<td>7:15</td>
<td>7:04</td>
<td>6:54</td>
<td>6:43</td>
<td>6:34</td>
<td>6:25</td>
<td>6:17</td>
<td>6:09</td>
<td>6:01</td>
<td>5:53</td>
</tr>
<tr>
<td><strong>225</strong></td>
<td>5.33</td>
<td>7:49</td>
<td>7:36</td>
<td>7:24</td>
<td>7:13</td>
<td>7:02</td>
<td>6:52</td>
<td>6:42</td>
<td>6:33</td>
<td>6:24</td>
<td>6:15</td>
<td>6:07</td>
<td>5:59</td>
<td>5:52</td>
</tr>
<tr>
<td><strong>226</strong></td>
<td>5.31</td>
<td>7:47</td>
<td>7:34</td>
<td>7:22</td>
<td>7:11</td>
<td>7:00</td>
<td>6:50</td>
<td>6:40</td>
<td>6:31</td>
<td>6:22</td>
<td>6:13</td>
<td>6:05</td>
<td>5:57</td>
<td>5:50</td>
</tr>
<tr>
<td><strong>227</strong></td>
<td>5.28</td>
<td>7:45</td>
<td>7:32</td>
<td>7:20</td>
<td>7:09</td>
<td>6:58</td>
<td>6:48</td>
<td>6:38</td>
<td>6:29</td>
<td>6:20</td>
<td>6:12</td>
<td>6:04</td>
<td>5:56</td>
<td>5:48</td>
</tr>
<tr>
<td><strong>228</strong></td>
<td>5.26</td>
<td>7:43</td>
<td>7:30</td>
<td>7:18</td>
<td>7:07</td>
<td>6:57</td>
<td>6:46</td>
<td>6:36</td>
<td>6:27</td>
<td>6:18</td>
<td>6:10</td>
<td>6:02</td>
<td>5:54</td>
<td>5:47</td>
</tr>
<tr>
<td><strong>229</strong></td>
<td>5.24</td>
<td>7:41</td>
<td>7:28</td>
<td>7:16</td>
<td>7:05</td>
<td>6:55</td>
<td>6:45</td>
<td>6:35</td>
<td>6:25</td>
<td>6:16</td>
<td>6:09</td>
<td>6:00</td>
<td>5:53</td>
<td>5:45</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="2">SPM[20]</th>
<th>3'</th>
<th>3'1"</th>
<th>3'2"</th>
<th>3'3"</th>
<th>3'4"</th>
<th>3'5"</th>
<th>3'6"</th>
<th>3'7"</th>
<th>3'8"</th>
<th>3'9"</th>
<th>3'10"</th>
<th>3'11"</th>
<th>4'</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>230</strong></td>
<td>5.22</td>
<td>7:39</td>
<td>7:26</td>
<td>7:15</td>
<td>7:03</td>
<td>6:53</td>
<td>6:43</td>
<td>6:33</td>
<td>6:24</td>
<td>6:15</td>
<td>6:07</td>
<td>5:59</td>
<td>5:51</td>
<td>5:44</td>
</tr>
<tr>
<td><strong>231</strong></td>
<td>5.19</td>
<td>7:37</td>
<td>7:24</td>
<td>7:13</td>
<td>7:01</td>
<td>6:51</td>
<td>6:41</td>
<td>6:31</td>
<td>6:22</td>
<td>6:13</td>
<td>6:06</td>
<td>5:57</td>
<td>5:50</td>
<td>5:42</td>
</tr>
<tr>
<td><strong>232</strong></td>
<td>5.17</td>
<td>7:35</td>
<td>7:22</td>
<td>7:11</td>
<td>7:00</td>
<td>6:49</td>
<td>6:39</td>
<td>6:30</td>
<td>6:21</td>
<td>6:12</td>
<td>6:04</td>
<td>5:56</td>
<td>5:48</td>
<td>5:41</td>
</tr>
<tr>
<td><strong>233</strong></td>
<td>5.15</td>
<td>7:33</td>
<td>7:21</td>
<td>7:09</td>
<td>6:58</td>
<td>6:48</td>
<td>6:37</td>
<td>6:28</td>
<td>6:19</td>
<td>6:10</td>
<td>6:02</td>
<td>5:54</td>
<td>5:47</td>
<td>5:40</td>
</tr>
<tr>
<td><strong>234</strong></td>
<td>5.12</td>
<td>7:31</td>
<td>7:19</td>
<td>7:07</td>
<td>6:56</td>
<td>6:46</td>
<td>6:36</td>
<td>6:26</td>
<td>6:17</td>
<td>6:09</td>
<td>6:01</td>
<td>5:52</td>
<td>5:45</td>
<td>5:38</td>
</tr>
<tr>
<td><strong>235</strong></td>
<td>5.10</td>
<td>7:29</td>
<td>7:17</td>
<td>7:05</td>
<td>6:54</td>
<td>6:44</td>
<td>6:34</td>
<td>6:25</td>
<td>6:16</td>
<td>6:07</td>
<td>5:59</td>
<td>5:51</td>
<td>5:44</td>
<td>5:37</td>
</tr>
<tr>
<td><strong>236</strong></td>
<td>5.08</td>
<td>7:27</td>
<td>7:15</td>
<td>7:03</td>
<td>6:52</td>
<td>6:42</td>
<td>6:33</td>
<td>6:23</td>
<td>6:14</td>
<td>6:06</td>
<td>5:58</td>
<td>5:49</td>
<td>5:42</td>
<td>5:35</td>
</tr>
<tr>
<td><strong>237</strong></td>
<td>5.06</td>
<td>7:25</td>
<td>7:13</td>
<td>7:01</td>
<td>6:51</td>
<td>6:40</td>
<td>6:31</td>
<td>6:21</td>
<td>6:13</td>
<td>6:04</td>
<td>5:56</td>
<td>5:48</td>
<td>5:41</td>
<td>5:34</td>
</tr>
<tr>
<td><strong>238</strong></td>
<td>5.03</td>
<td>7:23</td>
<td>7:11</td>
<td>7:00</td>
<td>6:49</td>
<td>6:39</td>
<td>6:29</td>
<td>6:20</td>
<td>6:11</td>
<td>6:03</td>
<td>5:55</td>
<td>5:47</td>
<td>5:39</td>
<td>5:33</td>
</tr>
<tr>
<td><strong>239</strong></td>
<td>5.01</td>
<td>7:21</td>
<td>7:09</td>
<td>6:58</td>
<td>6:47</td>
<td>6:37</td>
<td>6:27</td>
<td>6:18</td>
<td>6:09</td>
<td>6:01</td>
<td>5:53</td>
<td>5:45</td>
<td>5:38</td>
<td>5:31</td>
</tr>
<tr>
<td><strong>240</strong></td>
<td>4.99</td>
<td>7:19</td>
<td>7:07</td>
<td>6:57</td>
<td>6:46</td>
<td>6:36</td>
<td>6:26</td>
<td>6:16</td>
<td>6:08</td>
<td>6:00</td>
<td>5:52</td>
<td>5:44</td>
<td>5:37</td>
<td>5:30</td>
</tr>
</tbody>
</table>
</div>
<p><em><strong><br />
Important note: </strong>The Internet has brought to my attention that elite runners run at 180 SPM, regardless of pace, and vary their stride length, not their SPM to go faster or slower. Read more <a href="http://runnersfeed.com/running-cadence-180-strides-per-minute-is-key/">here</a>. Although the method described here seems to work OK for me, I am not an elite runner, and <strong>I'm far from being an expert.</strong></em></p>
<p>Anyway, after BeaTunes updated my music library with BPM, and I found out which paces matched up with which BPMs by my stride rate (3'3''), I was ready to make a playlist. Here's a screenshot of it. Look at the two columns on the far right. Next to the BPM, I put the corresponding pace in the Comments field.</p>
<p><a href="http://www.loudnarrative.org/wp-content/uploads/2012/03/Screen-Shot-2012-03-22-at-2.17.35-AM.png"><img class="alignnone size-full wp-image-258" title="Screen Shot 2012-03-22 at 2.17.35 AM" src="http://www.loudnarrative.org/wp-content/uploads/2012/03/Screen-Shot-2012-03-22-at-2.17.35-AM.png" alt="" width="896" height="384" /></a></p>
<p>This playlist is an hour long, and I created it for a run up to 10k. I like to increase my speed in increments while I run, as you can see. I tried it out on a <a href="http://runkeeper.com/user/keithcol/activity/76845117">5.3-mile run</a>, tracking my pace with RunKeeper on my phone, and found that it wasn't perfect but worked pretty well:</p>
<p><a href="http://www.loudnarrative.org/wp-content/uploads/2012/03/Screen-Shot-2012-03-22-at-2.27.02-AM.png"><img class="alignnone size-full wp-image-259" title="Screen Shot 2012-03-22 at 2.27.02 AM" src="http://www.loudnarrative.org/wp-content/uploads/2012/03/Screen-Shot-2012-03-22-at-2.27.02-AM.png" alt="" width="281" height="208" /></a></p>
<p>You can see more details on <a href="http://runkeeper.com/user/keithcol/activity/76845117">my RunKeeper page</a>. That first mile definitely shouldn't have been faster than a 9:50 pace. I'm not sure what happened there, but you can see the rest of the run was pretty consistent. Compared to my other runs, it was <em>extremely</em> consistent. Mile 5 should have been closer to a 9-minute pace, but I can probably fix that by tweaking the playlist a bit.</p>
<p>I'm pretty happy with the whole thing, but I should point out the problems here. First, obviously, your speed should probably be controlled by changes in your stride length rather than your stride rate. And there are possibilities for error in every aspect. BeaTunes might not get the BPM of each song exactly right. Your SPM to pace conversion might be a bit off. <em>You </em>might not be able to run to a rhythm very precisely. There's also the maintenance issue: unless you don't mind using the same playlist every day, you'll have to put a good amount of labor into making new ones.</p>
<p>I found it nice to have the music there as a guide. Even if you don't want to run exactly to the beat of the song, it can give you an idea of how fast you should be going. When I wanted to speed up or slow down, I did, and had an idea of how far off the planned pace I was. If you give it a shot, let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/03/22/rhythm-running-how-to-pace-yourself-with-music/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innovation leaves Google, Kevin Rose arrives</title>
		<link>http://www.keithcollins.net/2012/03/16/innovation-leaves-google-kevin-rose-arrives/</link>
		<comments>http://www.keithcollins.net/2012/03/16/innovation-leaves-google-kevin-rose-arrives/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 06:19:26 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.keithcollins.net/?p=405</guid>
		<description><![CDATA[James Whittaker left Google, saying Google+ and the focus on social has ruined the company. The next day, Google hired the founder of Digg, Kevin Rose (and his entire team). In the summer of 2010, Digg tanked because it suddenly &#8230; <a href="http://www.keithcollins.net/2012/03/16/innovation-leaves-google-kevin-rose-arrives/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>James Whittaker left Google, saying Google+ and the focus on social has ruined the company. The next day, Google hired the founder of Digg, Kevin Rose (and his entire team).</p>
<p>In the summer of 2010, Digg tanked because it suddenly tried to become more focused on social, and the community hated it. Rose left Digg around this time. There was a mass user exodus from Digg to Reddit, and Digg has still never recovered.</p>
<p>So here's a second chance for Rose. But even if he succeeds in engaging people in Google+ (which seems impossible at this point), he'll be perpetuating what Whittaker says has quelled innovation at Google.</p>
<p><strong>More info:</strong></p>
<p>"Social became state-owned, a corporate mandate called Google+. It was an ominous name invoking the feeling that Google alone wasn’t enough. Search had to be social. Android had to be social. You Tube, once joyous in their independence, had to be … well, you get the point. Even worse was that innovation had to be social. Ideas that failed to put Google+ at the center of the universe were a distraction."</p>
<p>- James Whittaker, "Why I Left Google"<br />
<a href="http://blogs.msdn.com/b/jw_on_tech/archive/2012/03/13/why-i-left-google.aspx" rel="nofollow nofollow" target="_blank">http://blogs.msdn.com/b/<wbr>jw_on_tech/archive/2012/03/13/<wbr>why-i-left-google.aspx</wbr></wbr></a></p>
<p>"Rose has an avid online following, stemming from his days as a host on TechTV and the long-running podcast 'Diggnation.' Though Oink -- which was a local recommendations app -- may not have succeeded, it was able to hit 150,000 downloads in its first month. That kind of ongoing fan engagement could be a boon to Google+, which has been criticized for low engagement and tricky user accounting."</p>
<p>- <a href="http://allthingsd.com/20120315/exclusive-kevin-rose-will-join-google/?mod=googlenews" rel="nofollow nofollow" target="_blank">http://allthingsd.com/<wbr>20120315/<wbr>exclusive-kevin-rose-will-join-<wbr>google/?mod=googlenews</wbr></wbr></wbr></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2012/03/16/innovation-leaves-google-kevin-rose-arrives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Philadelphia Citizen</title>
		<link>http://www.keithcollins.net/2011/05/24/philadelphia-citizen/</link>
		<comments>http://www.keithcollins.net/2011/05/24/philadelphia-citizen/#comments</comments>
		<pubDate>Tue, 24 May 2011 19:39:01 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Websites & Apps]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.loudnarrative.com/?p=38</guid>
		<description><![CDATA[Philadelphia Citizen is a collection of schoolwork I completed in the journalism department at Temple University in Philadelphia between 2007 and 2011. At Temple, my concentration was in magazine journalism. Although my main interest was in learning to write creative &#8230; <a href="http://www.keithcollins.net/2011/05/24/philadelphia-citizen/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phillycitizen.com"><strong>Philadelphia Citizen</strong></a> is a collection of schoolwork I completed in the journalism department at Temple University in Philadelphia between 2007 and 2011. At Temple, my concentration was in magazine journalism. Although my main interest was in learning to write creative nonfiction, I also produced several audio, video and photographic pieces, some of which you'll find on this site.</p>
<p><strong><a href="http://www.phillycitizen.com"><img class="alignnone  wp-image-40" title="phillycitizen" src="http://www.loudnarrative.org/wp-content/uploads/2012/01/phillycitizen.jpg" alt="" /></a></strong></p>
<p>I built this website with HTML5, CSS3, and jQuery. This was partly an experiment with some of those technologies (which were still kind of new to me at the time), partly my final project as an undergrad, and partly an attempt to put everything I do together in one package.</p>
<p><a href="http://www.phillycitizen.com">Go to phillycitizen.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2011/05/24/philadelphia-citizen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filter Babble</title>
		<link>http://www.keithcollins.net/2011/05/18/filter-babble/</link>
		<comments>http://www.keithcollins.net/2011/05/18/filter-babble/#comments</comments>
		<pubDate>Wed, 18 May 2011 19:22:06 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[journalism]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[social media]]></category>

		<guid isPermaLink="false">http://www.loudnarrative.com/?p=33</guid>
		<description><![CDATA[If I approach my friend who is interested in politics and I say, "You're never going to believe what Microsoft did today," he is probably not going to stop me. My friend probably won't say, "Whoa, hold on. I only &#8230; <a href="http://www.keithcollins.net/2011/05/18/filter-babble/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If I approach my friend who is interested in politics and I say, "You're never going to believe what Microsoft did today," he is probably not going to stop me. My friend probably won't say, "Whoa, hold on. I only want to hear about political news."<span id="more-33"></span></p>
<p>Even though my friend is not very interested in technology, he probably doesn't want to cut himself off entirely from hearing about it. At least, not voluntarily.</p>
<p>Eli Pariser has recently written a book and given a TED Talk about what he calls the "filter bubble"--the isolated state you're left in by algorithms that tailor Google results and the Facebook news feed to your interests. That friend of mine who isn't into technology, he probably won't see a link to an article in <em>Wired </em>magazine when I post it to Facebook.</p>
<p>Pariser points out that this is bad for society, bad for democracy, and keeps people sheltered from ideas that are outside their comfort zone, and, to a certain extent, it's true.</p>
<p>But then he goes on to say <em>The Washington Post</em> and the <em>New York Times</em> are "flirting with personalization," implying they are using these same kinds of algorithms to protect readers from stories they don't want to see, and that's just not true.</p>
<p>What he's referring to (and I believe it's with more specificity in the book) are things like "recommended links" on news websites. Newspapers sites typically use a Facebook plugin to show you which links from the site your friends have been sharing or liking. <em>That's all</em>. What they are definitely not doing is hiding articles from readers based on past preferences.</p>
<p>Displaying some recommended links is a far cry from the filters used by search, aggregation and social websites. I don't like the idea of someone, particularly a non-technical person, trying to shoehorn news websites into this archetype just because it's an archetype they've become fascinated with.</p>
<p>In the talk, Pariser refers to the traditional role of broadcasters and print editors as gatekeepers. He says that what's happening is a shift "from human gatekeepers to algorithmic ones," which is a profound and apt thought when we're talking about the whole Internet as a medium.</p>
<p>But it's a thought that, at least for the moment, only applies to social networking and search sites. Parser is a non-technical person who seems to have a weak understanding of how news publications operate and how they approach their mission, and I just don't think he's qualified to write books or give talks on this topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2011/05/18/filter-babble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spanning multiple media</title>
		<link>http://www.keithcollins.net/2011/05/15/spanning-multiple-media/</link>
		<comments>http://www.keithcollins.net/2011/05/15/spanning-multiple-media/#comments</comments>
		<pubDate>Sun, 15 May 2011 19:19:38 +0000</pubDate>
		<dc:creator>keith</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[Multimedia journalism]]></category>
		<category><![CDATA[storytelling]]></category>

		<guid isPermaLink="false">http://www.loudnarrative.com/?p=31</guid>
		<description><![CDATA[I think the biggest problem I have with the concept of multimedia journalism is that it has yet to actually be implemented. In classrooms and newsrooms, they say, This story needs a video. More photos. It’s the result of this &#8230; <a href="http://www.keithcollins.net/2011/05/15/spanning-multiple-media/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p><em></em>I think the biggest problem I have with the concept of multimedia journalism is that it has yet to actually be implemented.<span id="more-31"></span></p>
<p>In classrooms and newsrooms, they say, This story needs a video. More photos. It’s the result of this drive that makes me crazy. The result is, Here’s a beautifully written story, and, shit, OK, here’s some moving picture colorfuls to go with it. The result is arbitrary. At best, it’s a video, and it was produced by the same reporter who wrote the story, and it has some extra info. At worst, it’s just a summary of the story in case you didn’t feel like reading today.</p>
<p>Either way, it’s an aside. It’s all the way over there.</p>
<p><strong>What I have never seen is a singular, linear narrative that spans multiple media.</strong></p>
<p>Let me try to explain my goal. Here’s an example of what this might look like.</p>
<blockquote><p><strong>Text:</strong> Let’s say it’s a long, compelling lede. The subject is, I don’t know, a guy who’s involved in an underground fighting league. He’s an up-and-comer. Here’s his background and how he got involved. Tonight is a big event.</p>
<p><strong>Video:</strong> The big event.</p>
<p><strong>Text:</strong> The aftermath of the big event. Maybe then we get into the bigger picture, like any other long form narrative.</p>
<p><strong>Audio slideshow: </strong>Interviews with family members, maybe other fighters and their family members as well, fight promoters, whatever.</p>
<p><strong>Text: </strong>Some kind of conclusion.</p></blockquote>
<p>What I’m trying to make clear here is that the video and the slideshow are not disparate elements that can just be arbitrarily chucked onto the side of the story. They are part of the story, and you don’t see them until you’re at that part of the story. Obviously, a big limitation here is that you really need the right kind of story, and it has to be one you can devote magazine article time to.</p>
<p>Maybe this is expecting too much from the reader?</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.keithcollins.net/2011/05/15/spanning-multiple-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

