10/3/08 5:46PM

I started out creating this blog to see how hard it would be to write a blog app on Google App Engine. I was part of the team that launched App Engine, so I've built a bunch of sample apps with it, but I thought it would be nice to have one running live that I could continue to play around with.

As Bret and others have pointed out, it was remarkably simple, and now this site will hopefully serve as a good place to experiment with various APIs. For example, my reading list page is pulling data from a Google Spreadsheet using the Spreadsheets API (similar to the way that's described in this article).

Per Kevin Gibbs' suggestion, that page also uses the Memcache API in combination with the datastore so it only needs to hit the spreadsheet when there's a change. Basically, when caching the page, I store it in memcache:

memcache.set(pagename, data)

And then also in the datastore:

ct = CachedText(pagename = pagename,
                content = data)
ct.put()

Which means I have a fallback when memcache misses:

data = memcache.get(pagename)
if not data:
  query = db.Query(CachedText)
  query.filter('pagename =', pagename)
  ct = query.get()
  data = ct.content
return data

I'm using Disqus for the comments, and I'm hoping to find time to use the Twitter API soon as well.

This blog will also be a place to share my thoughts -- I'm not sure what exactly will come of it, but it's been fun so far.