Things I learned at PyCon 2007 .

  1. In the Open Source community, men outnumber women 571 : 22. I guess that's why I'm married to a sysadmin instead of a programmer.
  2. While I already knew that programming was literature, I never really connected it with Rhetoric until hearing R0ml's keynote. If programming is literature, what is the canon that everyone should study? What software is the core that everyone must know?
  3. WSGI will solve a client problem. I hadn't fully gotten it until seeing Ian Bicking's talk on WSGI -- it's just pipes. It's rare to have an immediate technical take-away. I spent much of the plane-ride prototyping. I'm half done, and it may be useful, scalable production-ready code later this week.
  4. Database testing is easier than I had thought. Kumar's fixture helps provide a stable database to drive testing.

For my company, the open source opportunity space represents a new kind of business more than it represents the possibility of new business. I'm polishing up my presentations to see if anything can come of this eye-opening experience.

Other Talks

  • Advocacy. More needs to be done. The comparison white papers sound like fun. Python vs. C, and Python vs. COBOL are cool, since I know quite a bit about these languages. Python vs. C++ I can look at. Python vs. PL/SQL is another topic that needs to be covered.
  • Dabo. Interesting. The justification -- many business applications are desktop applications -- doesn't work for me because many of my clients have "locked" desktops; installing a new desktop application would be essentially impossible. I still see desktop applications as a maintenance nightmare, and a really good desktop development framework merely eases the pain that is cured by web applications.
  • Iron Python. Good to hear what works and what doesn't work. There are serious licensing issues that Micro$oft has to wrestle with. However the Iron Python Community Edition doesn't suffer from the same restrictions.
  • Open Pit Mining. This was a wonderful parallel to my talk: business applications of Python.
  • Open Source Lessons Learned. One important feature of a thriving OS community is strong technical leadership; but this is only mentioned in passing by Kaplan-Moss. The passing mention of moving to Kansas to work with Holovaty is, I think, perhaps more important than some of the other points. Lesson 3, work with smart people, for instance, isn't quite the same thing. Point 7 in the "Maintaining and Open Source Project" section ("say no firmly") touches on this also.
  • soaplib. Use it, love it.
  • SQLAlchemy. See the point, now. I'd used PyORQ for a while, and was satisfied. I've gotten the hang of Django's model. When I first looked at Python Object-Relational Mapping , I didn't like SQLAlchemy giving me a view of the underlying relational database. However, SQLAlchemy's hybrid approach to ORM seems to be helpful because we can do pure objects, some SQL exposure, or just a wrapper around the SQL.
  • State of Zope. Helpful to know. There's opportunities for a company like mine to build and maintain ZOPE applications.
  • Teaching Programming using Python. This clued me in to the CP4E effort. I'll need to revise my approach in my Building Skills books to align with this.
  • Testing. Several presentations, all of which are run together for me because they were three tools to one common goal: Test Driven Design .
  • Web Panel. Excellent approach to helping application programmers make choices. They should do this everywhere that we have choices in the technology stack and tools. This, BTW, tipped me toward CherryPy as being light-weight and WSGI-fied enough to work for infrastructure applications, and Django for anything user-facing.
  • WSGI. An exposition of an elegant API for handling HTTP request and response.
  • ZOPE 3. Interesting on two levels. In additional to showing how ZOPE3 is oriented, it also shows what happens when you try to advance the architecture and invalidate previous applications.

My Talk

My talk went reasonably well. It's a boring topic and my talk was a closet tutorial. I'm not good at focusing down to 1/2 hour, so I had to rush through the Python part.

If you visit the PyCon Schedule page and hover over my talk (Saturday 4:05 PM), you'll see a pop-up with a number of links:

There's a Talk Audio and Materials page which may eventually have an MP3 of the talk. You'll also see links to talk.zip and DimensionalModel.odp .

Here are the slides as a big web page: DimensionalModel talk.zip