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

Deploying Go Servers with Kubernetes on Container Engine

I was trying to get a Go app running on Container Engine and couldn't quite find what I was looking for. There are guides out there about how to use Go and Docker, and how to use Kubernetes but but not many about Go apps and Container Engine. I also found it easy to deploy apps but most guides lacked information on best practices for how to maintain apps through regular upgrades so I decided [...]

Why I Joined Google

As some of you may or may not know, I joined Google as a Developer Advocate on the Google Cloud Platform Team in January. I just completed my first 3 months and, like many others, it's been a whirlwind experience. The sheer amount you need to learn and get used to is overwhelming. Google has been doing a lot since it started almost 20 years ago and it shows. There is a huge amount of built-up[...]

Orchestration with Fabric #1

When figuring out how I wanted to deploy my website I had a few things that I knew I wanted. I wanted to be able to create my server(s), provision them, and deploy the app all from one tool. This will be the first in a series of posts about how I used Fabric to achieve that. Tools like Vagrant can be used to create servers and provision them, but deploying an app using a provisioning tool li[...]

Javascript Templating Languages

I have been looking at JavaScript templating libraries recently for a personal project and I'd like to write about my thoughts here. Up until now, I had only really needed to use JavaScript on the client side, in the browser. While most libraries will work on the server side as a matter of course, many aren't particularly good at rendering entire documents. I wanted something that would be e[...]

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" [...]

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