Bill Katz

My Brain

An occasionally updated repository of thoughts, past work, and links. Topics include programming, web ventures, and writing.

Articles from the year 2008

Fault-tolerant counters for App Engine

The datastore in Google App Engine can occasionally throw an error.  It might be a timeout, quota violation, a result of maintenance (CapabilityDisabledError), or other exceptions thrown by the db and apiproxy_errors module.

So how do you gracefully handle datastore failures?  You could just inform the user to try again later.  Another approach is to use the memcache API and build a buffer for failed datastore puts.  That ...

Dropbox: Cross-platform file auto-syncing

Dropbox is coming out of beta and will allow paid 50GB plans within the next week or two.  I'm testing out the 50GB plan and am generally happy with the service.

Dropbox auto-syncs files in a specified local folder across Amazon S3 and your other designated computers.  The clients are good on both Mac and Windows platforms.  Versioning comes for free.  

For small program and configuration file ...

A SearchableModel for App Engine

SearchableModel, a nice little extension to db.Model, can be found in the App Engine SDK.  It's a lite full-text index that can provide some search capability to your app.  Using it is simple.  When declaring your model class replace db.Model with search.SearchableModel:

from google.appengine.ext import search
class Article(search.SearchableModel):
 some_searchable_prop = db.StringProperty()
 another_big_searchable = db.TextProperty()
 ...

Then in your handler, use the ...

Bloog 0.8 (Dogfood Edition) released

My blog now uses Bloog software running on Google App Engine.

I've pushed significant commits up to the Bloog github repository.  Within the next week, I hope to blog about a number of interesting App Engine code bits.  Here's a short list of some new features in the source code:

    * A subclass of db.Model that memcaches properties and provides json serialization.
    * Customization of the YUI ...

Bloog, a blog/homepage app for Google AppEngine

I've just released an alpha version of a blog/homepage app for Google AppEngine.

Bloog is open sourced under the MIT License. Go forth and multiply.

Bloog was created to experiment with blog ideas on Google AppEngine while allowing migration from a legacy blog. These goals shape the feature set, which includes: