Python


Python is my programming language of choice. I've been using it since 1998.

I am a member of the Python Software Foundation and previously served on its Board of Directors. In 2007 and 2008, I was the organizational administrator for the Python Software Foundation's projects in the Summer of Code.

I've given numerous Python-related talks from local meetups to keynoting PyCon Taiwan in Jun 2012.

I develop a lot of open source software in Python, notably Pinax and various other projects such as Sebastian, a music composition system; czerny, a music performance assessment system; ApplePy, an Apple II emulator in Python; and Rev, an exploration of git-like versioning ideas for generic Python data structures.

I was previously started projects such as Leonardo, pyjamas and Redfoot.

I used to blog a lot about Python and here are list of posts:

Pages in this category

Enumerating the Rationals in Python
Posted July 1, 2004; Updated Feb. 8, 2005
Leonardo 0.4.0 Released
Posted Jan. 2, 2005; Updated Feb. 8, 2005
Leonardo 0.4.1 Released
Posted Jan. 7, 2005; Updated Feb. 8, 2005
Sebastian
Posted Feb. 8, 2005; Updated Oct. 22, 2009
Testing For Directories Outside the Tree
Posted May 24, 2005
Finding Dependencies in Tabular Data
Posted May 26, 2005
Finding Dependencies in Tabular Data, Part 2
Posted May 27, 2005
Leonardo 0.6.0 Released
Posted June 1, 2005
Mentoring the Summer of Code
Posted June 7, 2005; Updated June 30, 2005
Leonardo 0.6.1 Released
Posted June 9, 2005
Summer of Code Kick-off
Posted July 1, 2005
Simulating Mechanical Clock Movement
Posted July 8, 2005
Leonardo 0.6.2 Released
Posted July 9, 2005
Isometric Games in Python
Posted July 10, 2005
Summer of Code Blogs
Posted July 12, 2005
Indexing Time
Posted July 19, 2005
Leonardo and Atom 1.0
Posted July 23, 2005
Sorting in Python with Identical Comparison Keys
Posted Aug. 2, 2005
Using Simulated Annealing to Order Goal Prerequisites
Posted Aug. 3, 2005
Ordering Goals Rather Than Prerequisites
Posted Aug. 3, 2005
Python Slice Questions
Posted Aug. 17, 2005
Demokritos and Leonardo
Posted Oct. 8, 2005
Working on atompub-protocol-06
Posted Nov. 8, 2005
Relational Python
Posted Nov. 9, 2005
Relational Python: Basic class for relations
Posted Nov. 9, 2005
Relational Python: Displaying Relations
Posted Nov. 11, 2005
Using Python Coroutines for AJAX Applications
Posted Nov. 13, 2005
Relational Python: Projection
Posted Nov. 17, 2005
Atom (and Demokritos) Status
Posted Nov. 21, 2005
Demokritos 0.1.0 Released
Posted Nov. 29, 2005
Relational Python: Restrict
Posted Nov. 29, 2005
Leonardo 0.7 beta 1 Released
Posted Dec. 6, 2005
Contributing to Open Source Python Projects
Posted Dec. 26, 2005
Proof that Python Programmers are Smarter
Posted Jan. 13, 2006; Updated Jan. 21, 2006
Demokritos 0.2.0 Released
Posted Jan. 14, 2006
Subversion as a Persistence Layer
Posted Jan. 21, 2006; Updated Feb. 8, 2006
Implementing the Unicode Collation Algorithm in Python
Posted Jan. 22, 2006
Python Web Frameworks and REST
Posted Jan. 25, 2006; Updated Feb. 9, 2006
Python Unicode Collation Algorithm
Posted Jan. 27, 2006; Updated June 21, 2012
Python Subversion Binding
Posted Feb. 8, 2006
Using the Python Subversion Binding
Posted Feb. 8, 2006
Pyworks Common Library and Import Issues
Posted Feb. 9, 2006; Updated Feb. 15, 2006
Bug Fix to Python Unicode Collation Algorithm
Posted Feb. 12, 2006; Updated June 21, 2012
First Pass of Demokritos Persistence Done
Posted Feb. 15, 2006
Are Absolute Imports Available in Python 2.4 or Not?
Posted Feb. 15, 2006
Thank You Daily Python-URL
Posted Feb. 16, 2006
Demokritos 0.3.0 Released
Posted Feb. 28, 2006; Updated March 1, 2006
Demokritos 0.3.5 Released
Posted March 1, 2006
brainf
Posted March 1, 2006
Demokritos 0.3.7 Released
Posted March 8, 2006
Leonardo 0.7.0 Released
Posted March 17, 2006
Python Tuples are Not Just Constant Lists
Posted April 15, 2006; Updated Nov. 22, 2011
Summer of Code 2006
Posted April 28, 2006
Summer of Code
Posted May 12, 2006
Python Templates
Posted May 13, 2006; Updated May 19, 2006
Python Equivalent to Google Web Toolkit
Posted May 17, 2006; Updated May 24, 2006
Primitive Python Version of GWT Working
Posted May 24, 2006; Updated May 26, 2006
Summer of Code Projects Announced
Posted May 25, 2006
pyjamas Update
Posted May 27, 2006
Update: pyjamas
Posted July 5, 2006
Pyjamas Now Supports Browser-Specific Code
Posted Aug. 19, 2006
Pyjamas Progress
Posted Oct. 28, 2006
PyCon Submission on Pyjamas
Posted Nov. 1, 2006
Pyjamas 0.1 Released
Posted Nov. 6, 2006
Quisition Going Django
Posted Nov. 15, 2006
Incompatible SQLite in OS X and Python
Posted Nov. 25, 2006
PyCon Submission Rejected
Posted Nov. 29, 2006; Updated Nov. 30, 2006
Quisition Almost Ready for Deployment
Posted Jan. 20, 2007
Going to PyCon
Posted Feb. 3, 2007
Quisition Launched
Posted Feb. 5, 2007
Economics, Computational Neuroscience and Differential Geometry
Posted Feb. 17, 2007
Off to PyCon
Posted Feb. 22, 2007
One Laptop Per Child, Python (and Cleese)
Posted Feb. 23, 2007
PyCon Web Panel
Posted Feb. 23, 2007
Interfaces versus Abstract Base Classes in Python
Posted March 4, 2007
How to be a Python Mentor in the Google Summer of Code
Posted March 11, 2007
Generating the Hex Digits of Pi
Posted March 14, 2007
Python Software Foundation Accepted into Google Summer of Code
Posted March 15, 2007
Python Primality Regex
Posted March 18, 2007; Updated March 19, 2007
Cleese
Posted March 30, 2007; Updated Nov. 25, 2011
Python at the Google Summer of Code
Posted April 12, 2007
Introducing PotterPredictions.com
Posted July 10, 2007
Atom Format Support Pretty Much Done
Posted July 31, 2007; Updated Aug. 1, 2007
django-atompub
Posted Aug. 9, 2007
Django Sprint
Posted Sept. 14, 2007
Demokritos and django-atompub
Posted Sept. 15, 2007
Distance and Checksum Algorithms on Lists
Posted Nov. 10, 2007
Numerical Representation of Pitch
Posted Dec. 13, 2007; Updated Dec. 14, 2007
Avoiding Recursion
Posted Dec. 15, 2007
Evolution of Default Dictionaries in Python
Posted Feb. 27, 2008
Another Dictionary Trick
Posted Feb. 27, 2008
Google Summer of Code 2008
Posted Feb. 27, 2008
PyCon
Posted March 11, 2008
PyCon Update
Posted March 14, 2008
Documentation Can Speed Up Your Code
Posted March 25, 2008; Updated March 26, 2008
Thunks, Trampolines and Continuation Passing
Posted March 30, 2008
Game Neverending in Django
Posted April 6, 2008; Updated April 14, 2008
Python Software Foundation
Posted April 28, 2008
Factoring Out Common Args To Zipped Generators
Posted May 2, 2008; Updated May 3, 2008
Creating Gradients Programmatically in Python
Posted May 18, 2008
Two Podcast Interviews
Posted June 4, 2008
My Talk on Pinax at DjangoCon
Posted Sept. 16, 2008
Why 13th Chords
Posted Sept. 23, 2008; Updated Jan. 1, 2012
London Python Meetup and FOWA
Posted Oct. 8, 2008
HSL Gradients
Posted Oct. 18, 2008
Guinea Pigs, Karaoke Machines and Minimum Sample Size
Posted Oct. 18, 2008
Pinax 0.5.0 Released
Posted Oct. 28, 2008
Two Fun(ctional) Questions
Posted Nov. 1, 2008
Python's re.DEBUG Flag
Posted Nov. 3, 2008
Voronoi Diagrams
Posted Nov. 7, 2008
More Questions on the Path to Combinatory Python
Posted Nov. 20, 2008
Relations with Python Named Tuples
Posted Nov. 21, 2008
First Success With Combinatory Python
Posted Nov. 22, 2008
Church Encoding in Python
Posted Nov. 26, 2008
Thoughts On A New Language
Posted Nov. 28, 2008
Bayesian Classification of Pages on This Site
Posted Nov. 29, 2008
Pinax 0.5.1 Out
Posted Jan. 10, 2009
Moving to Distutils
Posted Jan. 31, 2009
Conference Time
Posted Feb. 5, 2010
Open Source Project: Czerny
Posted July 19, 2010
Open Source Project: Pinax
Posted July 21, 2010
Open Source Project: Rel
Posted July 22, 2010
Open Source Project: gyt
Posted July 23, 2010
Rebasing MorphGNT off SBLGNT
Posted Jan. 18, 2011
ApplePy Now On GitHub
Posted Aug. 6, 2011
Julython 2012 First Week
Posted July 8, 2012