A lot has happened in my Python since I wrote the below - to whit, I went Python 3 in a big way, and I wrote an extremely large amount of Cython and quite a bit of Python tooling for the timedata project, Cython being a way to create Python extensions in C++.

I can't believe that I waited till 2015 to move to Python 3 - but now I have, I shan't be going back if I can avoid it.

Also - multiprocessing!

[original text below]

I got thrown into Python headfirst when I joined Google in 2004.

Since then I've written tens of thousands of lines of Python, written his own open source programs and contributed to others, and use Python almost every day for some task or other.

I'm also teaching a Python course right now, called Python For Poets.

My largest single commercial Python program to date was the Googlebase report generator. Googlebase is a very large database of "all products" - but when I started working with their code, he realized that there was no reporting facility at all and everything had to be done with custom Sawzall extraction and then Excel or some other general purpose tool - which meant that little was being done, and none of it on a systematic basis (which meant no one really knew what was going on... :-D).

Proposing a systematic framework for reporting, I got the go-ahead to run it as a snunkworks-style project - and it ended up occupying almost a year.

The system needed to handle multiple internal teams, each requesting multiple reports, each with multiple parts, and have the possibility of doing a very large number of reports in parallel later (to potentially expose to external clients). In my final design a Python framework, almost all data-driven, managed a set of remote process to extract data in from the very large database and from other data sources.

Lots of moving parts, lots of Python, but Python made it fairly clear and very robust, and on last hearing it was still in use.

Recently, I've has been working on an open-source project for the Raspberry Pi nanocomputer called echomesh, "the language for the Internet of Things". Mostly in Python with C++ for the most intensive code, it aims to create a tiny distributed grid of synthesizers and speakers that can cheaply be scattered across an area to make panoramic soundscapes. The code is here.