Unifying types and classes in Python 2.2
Foreword for "Programming Python" (1st ed.)
Written in 1996, this gives an overview of the early history and
background of Python and some of my philosophy about software design
and project management. See also my foreword to the 2nd edition.
An elegant and perhaps not obvious way to represent graphs using
Python's most fundamental and versatile data types, lists and
An Optimization Anecdote
Required reading if you find that your Python code runs too slow.
Python Style Guide
Part of my view on how the proper way to write Python code. This
is an unfinished work; so far, it covers whitespace, indentation,
comments, doc strings, naming conventions. (This version is no
longer the ultimate reference; PEP 8 and PEP 257 have taken over
that role, see the PEP index.)
Metaclass Programming in Python 1.5
Warning: reading this document may cause your brain to explode.
Built-in Package Support in Python 1.5
The most official documentation for the new package features in
Standard Exception Classes in Python 1.5
The most official documentation for the new exception features in
Python 1.5. (Updated for Python 1.5.2 by Barry Warsaw.)
Glue It All Together With Python
A position paper I wrote for and presented at the OMG-DARPA-MCC workshop on compositional software architectures in Monterey,
California, January 6-8, 1998.
What Is Python? Executive Summary
A short (two paragraphs) high-level presentation of Python's virtues.
Comparing Python to Other Languages
Activist ammo or flame fodder? (Note: I received lots of feedback
when I posted this to comp.lang.python. Unfortunately the feedback
was diverted to a separate mailbox that I didn't know I had -- when I
findally found it, I was a bit overwhelmed and so far have not yet
found the time to update the article.)
Proposed Improvements to Module Cleanup
A revised version of the proposal I posted to comp.lang.python on
Feb 6, 1998. This has been adopted in Python 1.5.1.
Open Source Summit Trip Report
My trip report of O'Reilly's Open Source Summit, essentially as
posted on c.l.p. This version published in the Linux Gazette (it's an
external link), in their May 1998 issue.
Debugging Reference Count Problems
An edited version of a posting to c.l.p on this subject, on May 27, 1998.
Computer Programming for Everybody (old)
A funding proposal that was accepted by DARPA in March 1999.
Computer Programming for Everybody
Revised, extended version of the previous proposal.
Interview in Linux Journal
Not quite an essay, but a stream of consciousness penned down by a
journalist... More thoughts about CP4E.
Interview in by Frank Willison for "Frankly Speaking" column
Another stream of consciousness transcribed by a friendly
listener... Not just on CP4E.
Foreword for "Programming Python" (2nd ed.)
The story continues...