Wed 28 February 2007
C. Titus Brown
Of all the
fever-induced hallucinatory things I said at PyCon '07, I'm
proudest of this: "I don't do test-driven development; I do
stupidity-driven testing. When I do something stupid, I write a test
to make sure I don't do it again."
For readers that don't get it, my development practice is this:
write code to solve some problem
watch code break in some obvious way
write a test that tests that specific breakage
lather, rinse, repeat.
I don't mind making mistakes, even stupid ones: I just don't want to repeat
them. Thus, this development technique.
PyCon: Day 0 (tutorial)
The tutorial day was, as usual, fun! Grig and I gave our
tutorial and even
though we felt less prepared than last year, I think our significantly
increased experience with actually using these tools (see the ARINC
talk in particular)
Reviews (both positive) by
Shannon -jj Behrens and Terry Peppers.
Next year, we should have a book or two out on these topics, which will
be an entertaining addition.
PyCon: Day 1 (Web panel)
I spent most of this day sweating about the
PyCon Web Panel, which
in any event turned out fine. Once I finally worked out the format
for the panel in my own head (2 minutes introductions by me, followed
by questions spread evenly among the participants) I was much more
relaxed about things. (Perhaps the most fun I had with this aspect
was reciprocating Grig's prodding: he constantly told me that I was
over-preparing, and then when it was his turn for the Testing Tools
panel I got to prod him for over-preparing. Back atcha... ;)
The panel was really meant to showcase personalities and get faces out
there; 45 minutes is way too short for any meaningful discussion.
Being in front of that many people made me really freakin' nervous.
One obvious (to me) conclusion from the panel was that TurboGears and
Pylons should merge. This
eventually, but not right now ;).
Another obvious conclusion (and I actually said something to this
effect) was that documentation is a
huge problem. Huge. The
framework that documents will dominate IMO. (Right now I'm guessing
that this will be Django, but only because Adrian consistently
acknowledged the need for documentation.)
It was interesting to discover that Twisted had AJAX-like behavior a
year or two before AJAX hit. I think Zope and Twisted both need to
hire a PR expert to publicize their coolness; I get the impression
that the communities are relatively insular and this contributes to
a lack of buzz about their accomplishments.
My favorite comment, by Jonathan Ellis: "Django's ORM is feeble."
James Bennet has a
disturbingly complete transcript.
Jonathan Ellis, James Tauber (international man of mystery!), Nathan Yergler (I agree, Nathan! But I asked for more time!), Shannon ("jj") Behrens, and Matt Harrison.
Hopefully a video of this event will be posted. I want to listen to
what I actually said. ;)
PyCon: Day 3 (twill talk)
I spent most of the prior evening and morning working on my
During this time I learned just enough about CherryPy 3.x and Django
to actually write test fixtures for them.
I decided to go out on a limb and rather than describe twill/etc. in
nauseating detail I worked up nine demos (testing CherryPy sites,
doing coverage analysis, writing twill extensions, testing Django
sites, and recording Web traffic) and I ran through the demos
interactively while providing a narrative.
really enjoyed this talk format, although it may not be for everyone.
You can grab my talk source code
here although this link will eventually
(soon!) be broken & moved to an archive containing more
I announced the
testing-in-python (TIP) mailing list in my talk.
was well-received and (IMO) I think this project is going to
dramatically increase the solidity of the Python community's software.
I also got a chance to run some of my ideas for improving test processes on
the Python interpreter past Brett Cannon, and (to my shock) he was really
open to them. More on that soon.
That evening, I got a chance to meet up with R. Steven Rainwater
("robogato") and his wife Susan; Steven has taken over
advogato. They took me out to a nice sushi
place, which was really welcome after the heavier food I'd been
eating thus far. More on that anon.
Post-PyCon: travelling to San Antonio
After PyCon, Diane Trout and I shuffled ourselves over to UTSA to talk
with the nice people at the
Computational Biology Initiative. The CBI is interested in making a
commitment to future development of Cartwheel which is pretty cool. More anon.