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...

Pickling Objects with Cached Properties

Python descriptors allow you to create properties on python objects that are the result of executing some code. One of the simplest ways of doing that is using the `@property` decorator. Here, accessing the `myprop` will call the method and return the resulting `"data"`. class MyClass(object): @property def myprop(self): return "data" One variant of[...]

Some General Trends in Programming Languages

There are a number of next generation of languages that have come out and are becoming popular in recent years that are trying to use what has been learned from large development projects. Some of the more popular languages aimed at servers are Go, Rust and Haskell. Others like TypeScript, and Dart are targeting the client side as well as server side applications. There are some common threa[...]

New Year’s Python Meme 2014

Since everyone else was doing it I thought I'd write one up too.

App Engine Pull Queues and kombu

App Engine provides a pull queue API for accessing, leasing, and processing tasks outside of App Engine. I am a fan of Python and so I often use a task queue system called Celery. This system or framework provides a full task queue worker that can use a number of messaging exchanges for getting the tasks. This is achieved using a library called kombu which provides backends for a number [...]

PyCon APAC 2013

PyCon APAC 2013 is over! Thanks to everyone who helped make the conference a great success. Staff, speakers, attendees alike all contributed to making PyCon APAC 2013 the best PyCon in Japan ever.

Using jQuery deferreds with Backbone.js

Backbone.js is a neat little JavaScript model framework. It gives you nice way of making Models and allows you to fetch and save them to the server easily using a REST API. One of the nice things about Backbone is that for a while it has returned the the result of calling the ajax function back to the application, which if you are using jQuery is a jQuery deferred. This allows you to do cool [...]

Learning a Language as Muscle Memory

Note This post is cross-posted from my post on medium. I learned a lot from learning a second language. I started learning Japanese on my own and moved to Japan several years ago. I now work at a Japanese company where I spend most of my day speaking and writing Japanese. Most people think about learning a second language as a kind of rote learning. You memorize the vocabulary and grammar [...]

Testing the new Photo Sphere Widget

Testing out the new photo sphere widget. The widget below is a photo sphere of our trip to Great Falls Park. You can find out more about how to embed the widget here: https://developers.google.com/panorama/web Another working example is here: http://goo.gl/BbEpS

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.

Twitter Archive

Twitter now allows you to download an archive of your tweets. I've gone ahead and put up my Twitter Archive on this site so it can be perused online easily. You can check out my latest archive at http://www.ianlewis.org/media/twitter_archive/latest/ I'll periodically update this archive so that is somewhat up to date. I'll need to do it manually so I might be able to update it about once a m[...]