Ian Lewis Ian Lewis is a web developer living in Tokyo Japan. His current interests are in Django, python, alternative databases and rapid web application development.
About Me...

Google App Engine 1.7.7 pre-release

The App Engine 1.7.7 pre-release SDKs were released about a week ago and I finally got around to taking a look at the source code. The only real addition in the release notes and what caught my eye was the socket API being released as an experimental feature for billed apps. Being an experimental feature, that means that the feature is included in the SDK and you can try it out at least locally.

Kay 1.1 Released!

The Kay team just just released Kay 1.1! I want to thank Takashi Matsuo, Nickolas Daskalou, Tasuku Suenaga, and Yosuke Suzuki for their hard work on this release. Kay is a web framework made specifically for Google App Engine. The basic design of Kay is based on the Django framework, such as middleware, settings, pluggable applications, etc. Kay uses Werkzeug as lower level framework, Jinja2[...]

An introduction to the Tipfy Framework for Appengine

(This post is the English translation of the Dec. 24th edition of the Python Web Framework Advent Calendar 2010. Other posts can be found at: http://atnd.org/events/10465 though they will be in Japanese) I usually use the kay framework for Appengine development as I am a developer for the framework, but recently I have been playing with the Tipfy framework (http://www.tipfy.org) written by R[...]

Google Appengine 1.4.0 Released!!

Google Appengine 1.4.0 was just released and has lots of interesting new features. Channel API, "Always On" (reserved instances), Improvements to background processing, Warm up requests, and Metadata queries just to name the big ones. ## Channel API The Channel API is a way for you to "push" data to the client browser. The Channel is a bit like a socket connection but it's implemented using[...]

New Google Appengine API Expert

Yesterday I became the new Google Appengine API Expert (Python) for the Japan region. Google Experts are the equivalent for Google API Gurus as they are called in the 'States. I will be helping out other developers in Japan to learn about and use Appengine and successfully deploy projects. I've been playing with Appengine since just after it came out in 2008 and I've built a number of sites [...]

Cron only decorator for appengine

For a recent project I recently I have been using appengine's cron feature to aggregate data and perform maintenance tasks. However, since cron is a simple web request, if a user accesses that url then the cron job will run. In order to prevent normal users from being able to run cron jobs I created a decorator that specifies a view as cron only. This decorator is for use with the kay framew[...]

Writing Schema migrations for Appengine using the Mapper Class and the deferred Library

One thing that many people using appengine know is that writing schema migrations is hard. Improving performance on Appengine often revolves around getting objects by key or key name rather than using filters, however altering the makeup of an objects key requires pulling all the objects and saving them in the datastore anew. This also requires modifying the ReferenceProperties of any objects[...]

Minimum cost for warming-up various frameworks(and more)

My good friend Takashi Matsuo wrote an interesting blog about start up times of various frameworks on appengine. Because appengine kills your server process it often needs to load your application into memory from scratch. This can take a lot of time if a lot of modules are loaded. http://takashi-matsuo.blogspot.com/2009/10/minimum-cost-of-various-frameworks- cold.html

Smipple

Yesterday I released a pet project I had been working on called Smipple. Smipple is a service for saving, organizing, and sharing snippets of code. I originally decided to create it because I was a user of Snipplr but I was frustrated because it was slow and hard to use and the XML-RPC api was buggy. There didn't seem to be much response from the author or changes to the website either. So f[...]

Google Appengine SDK 1.2.3

The Google Appengine SDK 1.2.3 was just released and contains some often asked for goodies such as Django 1.0 support and support for a task queue API. I haven't found much information about the Django 1.0 version in Appengine but here are some links with some related information about the Task Queue API. * Google Appengine Blog * The task queue API documentation - Looks relatively comp[...]