<?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>NumberPlanet Blog</title>
	<atom:link href="http://numberplanet.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://numberplanet.wordpress.com</link>
	<description>Every number on the planet!</description>
	<lastBuildDate>Mon, 08 Aug 2011 00:57:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='numberplanet.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>NumberPlanet Blog</title>
		<link>http://numberplanet.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://numberplanet.wordpress.com/osd.xml" title="NumberPlanet Blog" />
	<atom:link rel='hub' href='http://numberplanet.wordpress.com/?pushpress=hub'/>
		<item>
		<title>AppEngine memcached key length limit</title>
		<link>http://numberplanet.wordpress.com/2008/07/05/appengine-memcached-key-length-limit/</link>
		<comments>http://numberplanet.wordpress.com/2008/07/05/appengine-memcached-key-length-limit/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 16:44:28 +0000</pubDate>
		<dc:creator>fileformat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://numberplanet.wordpress.com/?p=8</guid>
		<description><![CDATA[I guess this isn&#8217;t news to people that are already using memcached, but it was news to me (and undocumented in the AppEngine docs) that the keys for memcached are limited to 250 characters. I&#8217;m caching complete pages, and since number handles can be as big as a string, the keys get big too. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=8&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I guess this isn&#8217;t news to people that are already using memcached, but it was news to me (and undocumented in the AppEngine docs) that the keys for memcached are limited to 250 characters.  </p>
<p>I&#8217;m caching complete pages, and since number handles can be as big as a string, the keys get big too.  I put in a hack to use the MD5 hash of the URL as the key if it would be a problem.  In theory hash collisions could be a problem, but I don&#8217;t see that being an issue in reality.</p>
<p>The error message looks like:</p>
<pre>
Traceback (most recent call last):
  File "/path/to/google_appengine/google/appengine/ext/webapp/__init__.py", line 499, in __call__
    handler.get(*groups)
  File "/path/to/np/ffnp/number.py", line 161, in get
    cached = memcache.get(cachekey)
  File "/path/to/google_appengine/google/appengine/api/memcache/__init__.py", line 358, in get
    request.add_key(_key_string(key))
  File "/path/to/google_appengine/google/appengine/api/memcache/__init__.py", line 109, in _key_string
    'received %d bytes' % (MAX_KEY_SIZE, len(server_key)))
ValueError: Keys may not be more than 250 bytes in length, received 425 bytes
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/numberplanet.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/numberplanet.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/numberplanet.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/numberplanet.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/numberplanet.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=8&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://numberplanet.wordpress.com/2008/07/05/appengine-memcached-key-length-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fileformat</media:title>
		</media:content>
	</item>
		<item>
		<title>Default pages</title>
		<link>http://numberplanet.wordpress.com/2008/07/05/default-pages/</link>
		<comments>http://numberplanet.wordpress.com/2008/07/05/default-pages/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 03:51:01 +0000</pubDate>
		<dc:creator>fileformat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://numberplanet.wordpress.com/?p=7</guid>
		<description><![CDATA[I like to end my URLs with a file name (just my personal preference). For SEO, I want to make sure that the default page (index.html in my case) for a directory is indexed only once, so I wrote a little RedirectIndex stub that I had mapped to the various possible directories. Internally, I always [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=7&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I like to end my URLs with a file name (just my personal preference).  For SEO, I want to make sure that the default page (<code>index.html</code> in my case) for a directory is indexed only once, so I wrote a little RedirectIndex stub that I had mapped to the various possible directories.</p>
<p>Internally, I always use the page name, so I figured that was good enough.  However, GoogleBot seems to guess that <code>index.html</code> is the default page, and I caught it trying to access a page with a query string without the file name.  In other words, it tried to hit <code>/tag/square/?page=2</code> instead of <code>/tag/square/index.html?page=3</code>.</p>
<p>Changing the mappings from <code>/</code> to <code>/(?:[?].*)?</code> solved it.  It seems like something in the webapp needs the group to be non-capturing.  Otherwise you get </p>
<pre>
Traceback (most recent call last):
  File "/path/to/google_appengine/google/appengine/ext/webapp/__init__.py", line 499, in __call__
    handler.get(*groups)
TypeError: get() takes exactly 1 argument (2 given)
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/numberplanet.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/numberplanet.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/numberplanet.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/numberplanet.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/numberplanet.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=7&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://numberplanet.wordpress.com/2008/07/05/default-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fileformat</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting NumberPlanet</title>
		<link>http://numberplanet.wordpress.com/2008/07/05/starting-numberplanet/</link>
		<comments>http://numberplanet.wordpress.com/2008/07/05/starting-numberplanet/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 03:02:33 +0000</pubDate>
		<dc:creator>fileformat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[appengine]]></category>

		<guid isPermaLink="false">http://numberplanet.wordpress.com/?p=3</guid>
		<description><![CDATA[I have started a new website NumberPlanet to experiment with new stuff outside of work. I originally made it in Ruby on Rails, and while I like Ruby and the Rails framework, I found that the frequent RoR updates made maintaining the site a chore. I am only playing around in my spare time, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=3&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have started a new website <a href="http://www.numberplanet.com/index.html">NumberPlanet</a> to experiment with new stuff outside of work.</p>
<p>I originally made it in Ruby on Rails, and while I like Ruby and the Rails framework, I found that the frequent RoR updates made maintaining the site a chore.  I am only playing around in my spare time, and don&#8217;t want to spend it doing sysadmin grunt work.</p>
<p>So when Google came out with the new AppEngine, where they take care of all the hosting chores, I figured I&#8217;d try Python.</p>
<p>This blog is where I&#8217;m going to share my experience with writing and running the site.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/numberplanet.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/numberplanet.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/numberplanet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/numberplanet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/numberplanet.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=numberplanet.wordpress.com&amp;blog=4132272&amp;post=3&amp;subd=numberplanet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://numberplanet.wordpress.com/2008/07/05/starting-numberplanet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fileformat</media:title>
		</media:content>
	</item>
	</channel>
</rss>
