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

<channel>
	<title>Andy Skelton</title>
	<atom:link href="http://andy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://andy.wordpress.com</link>
	<description>Just another WordPress hacker</description>
	<lastBuildDate>Sat, 31 Dec 2011 23:06:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='andy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/e6cf065746f46ab81c9bfb04d3358079?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Andy Skelton</title>
		<link>http://andy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://andy.wordpress.com/osd.xml" title="Andy Skelton" />
	<atom:link rel='hub' href='http://andy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>2011 in review</title>
		<link>http://andy.wordpress.com/2011/12/31/2011-in-review/</link>
		<comments>http://andy.wordpress.com/2011/12/31/2011-in-review/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 23:06:13 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[Stats]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=538</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about 46,000 times in 2011. If it were a &#8230; <a href="http://andy.wordpress.com/2011/12/31/2011-in-review/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=538&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<div style="background:url('/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg') no-repeat center center;height:300px;"></div>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about <strong>46,000</strong> times in 2011. If it were a concert at Sydney Opera House, it would take about 17 sold-out performances for that many people to see it.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/538/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=538&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/12/31/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>30.223873 -98.142171</georss:point>
		<geo:lat>30.223873</geo:lat>
		<geo:long>-98.142171</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>Knuth on Knowing</title>
		<link>http://andy.wordpress.com/2011/08/29/knuth-on-knowing/</link>
		<comments>http://andy.wordpress.com/2011/08/29/knuth-on-knowing/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 14:53:27 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=530</guid>
		<description><![CDATA[We often fail to realize how little we know about a thing until we attempt to simulate it on a computer. Donald E. Knuth The Art of Computer Programming, Volume 1, Third Edition Section 2.2.5, Exercise 10 (p. 298) <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=530&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>We often fail to realize how little we know about a thing until we attempt to simulate it on a computer.<br />
<cite>Donald E. Knuth<br />
<a href="http://www.amazon.com/gp/product/0321751043?tag=skeltoac-20" target="_blank"> The Art of Computer Programming</a>, Volume 1, Third Edition<br />
Section 2.2.5, Exercise 10 (p. 298) </cite></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/530/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=530&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/08/29/knuth-on-knowing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>30.223873 -98.142171</georss:point>
		<geo:lat>30.223873</geo:lat>
		<geo:long>-98.142171</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>WCSF 2011 Voodoo</title>
		<link>http://andy.wordpress.com/2011/08/12/wcsf-2011-voodoo/</link>
		<comments>http://andy.wordpress.com/2011/08/12/wcsf-2011-voodoo/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 21:52:41 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[WCSF2011]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=515</guid>
		<description><![CDATA[Rarst asks: what magic turns pretty permalinks into query variables? The setup: index.php wp-blog-header.php: wp(); wp-includes/functions.php: function wp wp-includes/class-wp.php: function main wp-includes/class-wp.php: function parse_request $rewrite = $wp_rewrite-&#62;wp_rewrite_rules() (add bbPress) The magic: The real voodoo is in creating the rewrite rules. Example: bbPress &#8230; <a href="http://andy.wordpress.com/2011/08/12/wcsf-2011-voodoo/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=515&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Rarst asks: </strong>what magic turns pretty permalinks into query variables?</p>
<p>The setup:</p>
<ul>
<li><a href="http://core.trac.wordpress.org/browser/trunk/index.php?rev=18542">index.php</a></li>
<li><a href="http://core.trac.wordpress.org/browser/trunk/wp-blog-header.php?rev=18542">wp-blog-header.php</a>: wp();</li>
<li><a href="http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php?rev=18542#L1558">wp-includes/functions.php</a>: function wp</li>
<li><a href="http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php?rev=18542#L492">wp-includes/class-wp.php</a>: function main</li>
<li><a href="http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php?rev=18542#L110">wp-includes/class-wp.php</a>: function parse_request</li>
<li>$rewrite = <a href="http://skeltoac.com/rewrite.txt">$wp_rewrite-&gt;wp_rewrite_rules()</a> (<a href="http://skeltoac.com/rewrite-bbpress.txt">add bbPress</a>)</li>
</ul>
<p>The magic:</p>
<p><pre class="brush: php;">
foreach ( $rewrite as $match =&gt; $query ) {
	if ( preg_match(&quot;#^$match#&quot;, $request_match, $matches) ) {
		// Got a match.
		$this-&gt;matched_rule = $match;
		break;
	}
}
</pre></p>
<p>The real voodoo is in creating the rewrite rules. Example: <a href="http://plugins.trac.wordpress.org/browser/bbpress/tags/2.0-rc-2/bbpress.php#L528">bbPress</a></p>
<ul>
<li>register_post_types</li>
<li>register_taxonomies</li>
<li>add_rewrite_tags</li>
<li>generate_rewrite_rules</li>
</ul>
<p>Exercise: optimize parse_request by restructuring the rules into a tree.</p>
<p><strong>Nacin suggests</strong>: wp-hackers <a href="http://lists.automattic.com/pipermail/wp-hackers/2010-July/033623.html">Skip Main Query</a></p>
<ul>
<li>the grand scheme of things (<a href="http://andy.files.wordpress.com/2008/10/wp-stack-1024.png">png</a>, <a href="http://andy.wordpress.com/2008/10/30/wordpress-include-stack/">blog post</a>)</li>
<li>$wp-&gt;init()</li>
<li>class freshlypressed_wp extends wp</li>
<li>wp() calls $wp-&gt;main()</li>
<li>$wp-&gt;main() calls $this-&gt;parse_request()</li>
<li>$this is a freshlypressed_wp</li>
</ul>
<p>Problems:</p>
<ul>
<li>Can&#8217;t extend a variable class (class my_wp extends $wp_class)</li>
<li>No pluggable inheritance chaining</li>
<li>No way for several plugins to cooperatively extend a class</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/515/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=515&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/08/12/wcsf-2011-voodoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>30.223873 -98.142171</georss:point>
		<geo:lat>30.223873</geo:lat>
		<geo:long>-98.142171</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>Shape My WordCamp Talk</title>
		<link>http://andy.wordpress.com/2011/07/18/shape-my-wordcamp-talk/</link>
		<comments>http://andy.wordpress.com/2011/07/18/shape-my-wordcamp-talk/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 21:38:27 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=506</guid>
		<description><![CDATA[Now that Jane&#8217;s announcement has made it official, I need to prepare for my talk at WordCamp San Francisco. The working title is &#8220;Deep Voodoo: How the innermost innards of WordPress work&#8221; and the working content is nil. This is &#8230; <a href="http://andy.wordpress.com/2011/07/18/shape-my-wordcamp-talk/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=506&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now that <a href="http://2011.sf.wordcamp.org/2011/07/17/a-dozen-more-speakers-announced/">Jane&#8217;s announcement</a> has made it official, I need to prepare for my talk at WordCamp San Francisco. The working title is &#8220;Deep Voodoo: How the innermost innards of WordPress work&#8221; and the working content is nil.</p>
<p>This is where you come in. As a core contributor or plugin developer, you are aware of areas in WordPress code that scare you. I&#8217;ve been there and back again. I&#8217;ve digested, debugged and patched some of the most labyrinthine logic. I&#8217;ve even written some of the worst of it. On Saturday, August 13, I will try to make sense of it for everyone.</p>
<p>Please take a minute to recall something in the core code of WordPress that really stumps you. Ask me about it. I will try to work all of your comments into my talk, provided that I can&#8217;t answer it with a quick reply, a link to the Codex or a Google search.</p>
<p>If this gambit of asking for questions beforehand fails, maybe I&#8217;ll just give a tour of my personal favorite fork of WordPress in which every function block is shaped like a pony. (Please don&#8217;t let that happen.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/506/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=506&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/07/18/shape-my-wordcamp-talk/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<georss:point>30.223873 -98.142171</georss:point>
		<geo:lat>30.223873</geo:lat>
		<geo:long>-98.142171</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress.com Stats 1.8: Sparkline</title>
		<link>http://andy.wordpress.com/2011/01/17/wordpress-com-stats-1-8-sparkline/</link>
		<comments>http://andy.wordpress.com/2011/01/17/wordpress-com-stats-1-8-sparkline/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 20:06:33 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Stats]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=484</guid>
		<description><![CDATA[Just ahead of WordPress 3.1, we released WordPress.com Stats 1.8. The new Stats plugin includes some small fixes that will make it easier for us keep the plugin&#8217;s reports in sync with the reports seen on WordPress.com. The plugin&#8217;s reports &#8230; <a href="http://andy.wordpress.com/2011/01/17/wordpress-com-stats-1-8-sparkline/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=484&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just ahead of WordPress 3.1, we released <a href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats</a> 1.8. The new Stats plugin includes some small fixes that will make it easier for us keep the plugin&#8217;s reports in sync with the reports seen on WordPress.com. The plugin&#8217;s reports are a few versions behind so look for rapid improvement in the coming weeks. But what&#8217;s most exciting about Stats 1.8 is how it works with a new feature in WordPress 3.1: the admin bar.</p>
<p style="text-align:left;">
<div id="attachment_486" class="wp-caption aligncenter" style="width: 510px"><a href="http://skeltoac.com/?statsmonkey"><img class="size-full wp-image-486 " title="Admin Bar with Sparkline" src="http://andy.files.wordpress.com/2011/01/adminbar.png?w=500&#038;h=174" alt="screen shot of admin bar" width="500" height="174" /></a><p class="wp-caption-text">The admin bar on my self-hosted blog.</p></div>
<p style="text-align:left;">Stats 1.8 adds a tiny bar chart (called a &#8220;sparkline&#8221;) to the admin bar. To make this chart more interesting, and not just a copy of what you can already see in your stats report page, we zoomed in on the time axis. Rather than show one data point per day we show each of the last 48 hours. Following your blog&#8217;s time zone setting, lighter and darker bars represent daylight and nighttime hours.</p>
<p style="text-align:left;">Design credit goes to <a href="http://noscope.com/">Joen</a> and <a href="http://mattnt.com/">MT</a>. The sparkline design seems simple and obvious now, but it took a lot of tries to get it that way. It wouldn&#8217;t have happened without their contributions.</p>
<p style="text-align:left;">Of course, we intend to bring the new sparkline to the WordPress.com admin bar as soon as possible. Remember how we said the plugin&#8217;s stats reports are a few versions behind the WordPress.com reports? With the admin bar it&#8217;s the reverse. Self-hosted bloggers are the first to get this upgrade. Everyone on WordPress.com will have it soon.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/484/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=484&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/01/17/wordpress-com-stats-1-8-sparkline/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<georss:point>30.222672 -98.159425</georss:point>
		<geo:lat>30.222672</geo:lat>
		<geo:long>-98.159425</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>

		<media:content url="http://andy.files.wordpress.com/2011/01/adminbar.png" medium="image">
			<media:title type="html">Admin Bar with Sparkline</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress code surprise: wp_sprintf</title>
		<link>http://andy.wordpress.com/2011/01/05/wp_sprintf/</link>
		<comments>http://andy.wordpress.com/2011/01/05/wp_sprintf/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:56:16 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=455</guid>
		<description><![CDATA[Everybody loves PHP&#8217;s sprintf(). We use it everywhere. There are just some things it doesn&#8217;t do, like format lists in sentences. Three years ago, while working on the Media Library, I needed a way to list categories or tags in &#8230; <a href="http://andy.wordpress.com/2011/01/05/wp_sprintf/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=455&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 250px"><a title="_DSC3433 by Ulf Wendel, on Flickr" href="http://www.flickr.com/photos/ulfwendel/3636374149/"><img src="http://farm4.static.flickr.com/3393/3636374149_e03c1b9309_m.jpg" alt="_DSC3433" width="240" height="160" /></a><p class="wp-caption-text">by Ulf Wendel, on Flickr</p></div>
<p>Everybody loves <a href="http://php.net/sprintf">PHP&#8217;s <code>sprintf()</code></a>. We use it everywhere. There are just some things it doesn&#8217;t do, like format lists in sentences. Three years ago, while working on the Media Library, I needed a way to list categories or tags in a sentence. And, by golly, it would need Oxford commas and localization to be worthy of WordPress.</p>
<p>&nbsp;</p>
<h3>Problem solved</h3>
<p>I wrote <a href="http://core.trac.wordpress.org/changeset/6974#file4"><code>wp_sprintf()</code></a> as a wrapper for <code>sprintf()</code>. It uses WordPress filters to customize the formatting directives. WordPress only uses this in one place, the function where I needed to list categories and tags: <code>get_the_taxonomies()</code>. This is used in standard template tags so I estimate <code>wp_sprintf()</code> has run at least a trillion times without fanfare. <span style="font-weight:normal;font-size:13px;">The time has come to give <code>wp_sprintf()</code> the attention it deserves.</span></p>
<h3>wp_sprintf</h3>
<p>The calling interface is identical to <code>sprintf()</code>:</p>
<pre><code>string <strong>wp_sprintf</strong> ( string <em>$format</em> [, mixed <em>$args</em> [, mixed <em>$...</em> ]] )</code></pre>
<p>Internally, <code>wp_sprintf()</code> splits the format string into fragments that begin with a single &#8216;%&#8217;. It sends each fragment through the <code>'wp_sprintf'</code> filter with the appropriate <code><em>$args</em></code>, respective of numbered directives (&#8216;%1$s&#8217;). If the filter did not modify the fragment, it is passed through <code>sprintf()</code>. The processed fragments are concatenated and then returned.</p>
<p>Functionally, <code>wp_sprintf()</code> should be identical to <code>sprintf()</code> until a filter is added which implements a new formatting directive, or supersedes any of the standard ones. It is certainly less optimized so it should only be used when a customized directive is needed.</p>
<h3>wp_sprintf_l</h3>
<p>The only <code>'wp_sprintf'</code> filter now in core is <code>wp_sprintf_l()</code>, which adds a new directive to format arrays into lists, <code>%l</code>:</p>
<pre><code>wp_sprintf('%s: %l.', 'Tags', array('Cats', 'Dogs', 'Birds'));
=&gt; 'Tags: Cats, Dogs, and Birds.'</code></pre>
<p>Our filter, <code>wp_sprintf_l()</code>, receives a format fragment and the <code>$args</code> that corresponds with its position or number. It returns the first fragment, &#8216;%s: &#8216;, unchanged. When it sees &#8216;%l.&#8217; it replaces the <code>%l</code> directive with a formatted list.</p>
<p>WordPress always tries to make text beautiful. To that end, <code>wp_sprintf_l</code> formats lists with Oxford commas. Two items are &#8220;cats and dogs&#8221;. Three or more items are &#8220;cats, dogs, and birds&#8221;. However, if you don&#8217;t like Oxford commas you can remove them:</p>
<pre><code>function remove_oxford_commas( $separators ) {
    $separators[ 'between_last_two' ] = ' and ';
    return $separators;
}
add_filter( 'wp_sprintf_l', 'remove_oxford_commas' );</code></pre>
<p>Our list formatter also respects language differences. WordPress translations include <code>wp_sprintf_l()</code>&#8216;s separators so that, for example, the Spanish translation always separates the last two items with &#8216; y &#8216; with no comma.</p>
<p>You can use &lt;code&gt;wp_sprintf&lt;/code&gt; with the &#8216;%l&#8217; directive anywhere in WordPress since 2.5.0. It&#8217;s a lot easier than writing a &lt;code&gt;foreach&lt;/code&gt; loop every time.</p>
<h3>Something new</h3>
<p>Recently a prominent bug crept into some code when the integer argument for %d was wrapped in a call to <code>number_format()</code>. Everything after the first comma was lost. I wished there were a formatting directive to mimic number_format.</p>
<p>While I&#8217;m thinking about it, here&#8217;s a possibility: &#8216;%n&#8217;. It should automatically localize the thousands separator and decimal point; this alone makes it a compelling upgrade. It should also accept at least one specifier for precision. The other specifiers (sign, padding, alignment, width) would be nice but not necessary.</p>
<h3>
<div class="wp-caption alignright" style="width: 202px"><a href="http://commons.wikipedia.org/wiki/File:Lisplogo_alien_256.png"><img class=" " title="Lisp alien" src="http://upload.wikimedia.org/wikipedia/commons/6/64/Lisplogo_alien_256.png" alt="Lisp alien" width="192" height="113" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
<p>p.s. Lisp rocks!</h3>
<p>Yesterday I finished reading Conrad Barski&#8217;s entertaining Lisp primer, <a href="http://www.amazon.com/exec/obidos/ASIN/1593272812/skeltoac-20">Land of Lisp</a>. He gives only a whiff of <a href="http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm">Lisp&#8217;s <code>format</code> function</a> but I was blown away. It provides tabulation, justification, iteration, recursion, conversion, conditions, and never mind making a cup of coffee, it could run a chain to compete with Starbucks. Here&#8217;s a taste:</p>
<pre><code>(format nil
        "~{~a~#[~;, and ~:;, ~]~}"
        (list "Cats" "Dogs" "Birds"))
"Cats, Dogs, and Birds"</code></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/455/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=455&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2011/01/05/wp_sprintf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<georss:point>30.222672 -98.159425</georss:point>
		<geo:lat>30.222672</geo:lat>
		<geo:long>-98.159425</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3393/3636374149_e03c1b9309_m.jpg" medium="image">
			<media:title type="html">_DSC3433</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/commons/6/64/Lisplogo_alien_256.png" medium="image">
			<media:title type="html">Lisp alien</media:title>
		</media:content>
	</item>
		<item>
		<title>With A Little Help From Parens</title>
		<link>http://andy.wordpress.com/2010/12/19/with-a-little-help-from-parens/</link>
		<comments>http://andy.wordpress.com/2010/12/19/with-a-little-help-from-parens/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 00:08:33 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Poetry]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=411</guid>
		<description><![CDATA[;; What would you print if I coded a bug? ;; Would you hang up and log out on me? ;; Lend me your screen and I'll write you an app. ;; And I'll try not to leak memory.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=411&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><code class="lisp comment"><br />
;; What would you print if I coded a bug?<br />
;; Would you hang up and log out on me?<br />
;; Lend me your screen and I'll write you an app.<br />
;; And I'll try not to leak memory.<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=411&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2010/12/19/with-a-little-help-from-parens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>30.222672 -98.159425</georss:point>
		<geo:lat>30.222672</geo:lat>
		<geo:long>-98.159425</geo:long>
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>Theme name idea: Severance (from the GPL)</title>
		<link>http://andy.wordpress.com/2010/07/17/theme-gpl-severance/</link>
		<comments>http://andy.wordpress.com/2010/07/17/theme-gpl-severance/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 01:00:11 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[GPL]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=407</guid>
		<description><![CDATA[With so much hullabaloo clogging the air, I don&#8217;t even need to introduce the topic. I predict that somebody is going to write a theme that allows a lot of new, proprietary themes to be written without the pesky GPL &#8230; <a href="http://andy.wordpress.com/2010/07/17/theme-gpl-severance/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=407&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With so much hullabaloo clogging the air, I don&#8217;t even need to introduce the topic.</p>
<p>I predict that somebody is going to write a theme that allows a lot of new, proprietary themes to be written without the pesky GPL contagion.</p>
<p><a href="http://code.google.com/p/sandbox-theme/">Sandbox</a> accomplished that for people who were happy writing CSS and using their own images. They could create a non-GPL skin for Sandbox and nobody would question that. Where Sandbox falls short is in its markup which, though it was thoughtfully written, could never be all things to all people.</p>
<p>So, I expect somebody to write a clever WordPress theme that severs the HTML markup from the WordPress-derived PHP code, properly apply the GPL license to the PHP part, and make a bundle on proprietary skins. You can even call it Severance and I won&#8217;t ask for a dime.</p>
<p>(I have been an employee of Automattic since 2005. My employer had no input on this post. However, a salary alone can affect one&#8217;s outlook on economic issues.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/407/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=407&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2010/07/17/theme-gpl-severance/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>Drupal and &#8220;WordPress&#8221;</title>
		<link>http://andy.wordpress.com/2010/07/12/drupal-and-wordpress/</link>
		<comments>http://andy.wordpress.com/2010/07/12/drupal-and-wordpress/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 04:33:22 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=374</guid>
		<description><![CDATA[A small number of people will chuckle at this:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=374&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A small number of people will chuckle at this:</p>
<p><pre class="brush: php;">
&lt;?php
/* modules/capitalP/capitalP.module */
function capitalP_filter($op, $delta = 0, $format = -1, $text = '') {
  switch ( $op ) {
    case 'list' :
      return array(0 =&gt; 'capitalP');

    case 'description' :
      return 'Forces the capital &quot;P&quot; in WordPress. To bypass the filter, use quotes: &quot;Wordpress&quot; or \'Wordpress\'.';

    case 'prepare' :
      return $text;

    case 'process' :
      return preg_replace('/(?&lt;![&quot;\'])Wordpress(?!\.?[&quot;\'])/', 'WordPress', $text);
 }
}
?&gt;
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/374/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=374&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2010/07/12/drupal-and-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>
	</item>
		<item>
		<title>Moxie yawns on cue</title>
		<link>http://andy.wordpress.com/2010/07/06/moxie-yawns-on-cue/</link>
		<comments>http://andy.wordpress.com/2010/07/06/moxie-yawns-on-cue/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 03:46:02 +0000</pubDate>
		<dc:creator>Andy Skelton</dc:creator>
				<category><![CDATA[Moxie]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[baby]]></category>
		<category><![CDATA[beauty]]></category>
		<category><![CDATA[cute]]></category>
		<category><![CDATA[newborn]]></category>

		<guid isPermaLink="false">http://andy.wordpress.com/?p=363</guid>
		<description><![CDATA[This is our four-day-old daughter, Moxie. She just had a bath in the kitchen sink. Upon request she will perform a yawn.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=363&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is our four-day-old daughter, Moxie. She just had a bath in the kitchen sink. Upon request she will perform a yawn.</p>
<div id="v-y29al20X-1" class="video-player" style="width:500px;height:332px">
<embed id="v-y29al20X-1-video" src="http://s0.videopress.com/player.swf?v=1.03&amp;guid=y29al20X&amp;isDynamicSeeking=true" type="application/x-shockwave-flash" width="500" height="332" title="Moxie yawns on cue" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"></embed></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andy.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andy.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andy.wordpress.com/363/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andy.wordpress.com&amp;blog=155&amp;post=363&amp;subd=andy&amp;ref=&amp;feed=1" width="1" height="1" /><div><a href="http://andy.wordpress.com/2010/07/06/moxie-yawns-on-cue/"><img alt="Moxie yawns on cue" src="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_std.original.jpg" width="160" height="120" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://andy.wordpress.com/2010/07/06/moxie-yawns-on-cue/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	<enclosure url="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_dvd.mp4" length="7041024" type="video/mp4" />

		<media:content url="http://1.gravatar.com/avatar/35756b05226763c9539679ccec26a1c0?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">Administrator</media:title>
		</media:content>

		<media:group>
			<media:content url="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_dvd.mp4" fileSize="7041024" type="video/mp4" medium="video" bitrate="1528" isDefault="true" duration="36" width="640" height="426" />

			<media:content url="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_std.mp4" fileSize="3667968" type="video/mp4" medium="video" bitrate="796" isDefault="false" duration="36" width="400" height="266" />

			<media:content url="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_fmt1.ogv" fileSize="3667968" type="video/ogg" medium="video" bitrate="796" isDefault="false" duration="36" width="400" height="266" />

			<media:rating scheme="urn:mpaa">g</media:rating>
			<media:title type="plain">Moxie yawns on cue</media:title>
			<media:thumbnail url="http://videos.videopress.com/y29al20X/moxiebathkitchensink480_std.original.jpg" width="256" height="170" />
			<media:player url="http://s0.videopress.com/player.swf?v=1.03&#38;guid=y29al20X&#38;isDynamicSeeking=true" width="400" height="266" />
		</media:group>
	</item>
	</channel>
</rss>
