Bill Katz

My Brain

An occasionally updated repository of thoughts, past work, and links.

Articles from the year 2009

Pre-allocating IDs for App Engine datastore

App Engine SDK 1.2.5 is out and there's an unheralded feature that makes datastore backup and restores much easier.  The feature didn't warrant a bullet in the revision history or the python SDK release notes.

I present to you the glorious

db.allocate_ids(model_instance_or_key, number_of_ids)

You may use this method to pre-allocate blocks of IDs.  It returns a tuple giving you (start_id, end_id).

Why ...

Simple Full Text Search for App Engine

Revised 2009-07-12 to include addition of stemming, multi-word exact matching, multiple search entities, and stowing of designated parent titles in index entity keys.

After rewatching Brett Slatkin's Building Scalable, Complex Apps talk at Google I/O, I came across the old SearchableModel module and realized it could be greatly improved by using the "Relation Index" technique described in the talk.  So after a day of hacking, I ...

Addressing App Engine Lock-in

One of the biggest criticisms of Google App Engine is the lock-in factor.  Although the App Engine SDK is open source (Apache 2.0 license) and you can use Django to make your app more portable, there's no easy way to port your App Engine code to Amazon EC2 without creating your own datastore, etc.

AppScale addresses this concern.  It's a cool looking project out of ...

Interview with ADVANCE

Vol. 15 • Issue 7 • Page 64

In Person

Writer in Resonance

A biomedical engineer switches fields to generate an award-winning short story that melds MRI and sci-fi.

By Jeff Bell

In the realm of science, William T. Katz, MD, PhD, is a respected biomedical engineer who's developed techniques for medical image visualization and processing, and co-created a pioneering brachytherapy treatment planning system.

But in the cultish community ...

Remote API "Hello World"

Update: There's a Google article on the remote API.

Here are some tips for developers trying to play with the remote_api module release with the 1.1.9 App Engine SDK.

You can look at the bulkloader.py utility.  It uses remote_api and shows how to setup some essential environment variables (os.environ['AUTH_DOMAIN'] and from my tests, you'll also need os.environ['USER_EMAIL']).  On to ...