The more things change…

Quote of the week, from Paul Graham’s essay “How to Do Philosphy”: “Much to the surprise of the builders of the first digital computers,” Rod Brooks wrote, “programs written for them usually did not work.”

Email is not a file transfer protocol

Brian Jones made my day when he said he didn’t want to email articles back and forth for Python Magazine. He describes our editorial toolset, based on svn.

PyATL meetup Oct. 11th

The Python Atlanta Meetup group meets tomorrow night at Turner, on Techwood Drive. This month’s theme is “Zope Related Technologies”. Here’s the schedule: Oct. 11th Schedule: Round Table Discussion, Lightening Talks, Main Presentation 7:15-7:30 Meet at Turner Lobby. 7:30-7:45 Opening Remarks and setup. 7:45-8:25 20 Minute Interactive discussion Atlanta Plone and/or Derek Richardson 8:35-8:40 5 Minute Break 8:40-9:00 20 Minute Main Presentation: Drew Smathers, Zope 3 9:00-? General Discussion, Coding Sessions

Python Community on LinkedIn

As usual, I’m a little late to the party and Jesse beat me to the punch. If you haven’t already, head on over to LinkedIn and join the new Python community group set up by Danny Adair.

PyMOTW: difflib

The difflib module contains several classes for comparing sequences, especially of lines of text from files, and manipulating the results. The SequenceMatcher class compares any 2 sequences of values, as long as the values are hash-able. It uses a recursive algorithm to identify the longest contiguous matching blocks from the sequences, eliminating “junk” values. The Differ class works on sequences of text lines and produces human-readable deltas, including differences within individual lines.

Python Magazine: First issue free!

The premier issue of Python Magazine is available for download right now, completely free. I haven’t mentioned it previously on this blog, but I’m the Technical Editor for the magazine. That means I review and test the submitted code, and write a monthly column. The column runs under the title “And Now for Something Completely Different” and will focus on technical topics (this month I talk about the GIL and 2 packages for managing processes).

Multi-processing techniques in Python

Has your multi-threaded application grown GILs? Take a look at these packages for easy-to-use process management and inter-process communication tools. There is no predefined theme for this column, so I plan to cover a different, likely unrelated, subject every month. The topics will range anywhere from open source packages in the Python Package Index (formerly The Cheese Shop, now PyPI) to new developments from around the Python community, and anything that looks interesting in between.

Working with IMAP and iCalendar

How can you access group calendar information if your Exchange-like mail and calendaring server does not provide iCalendar feeds, and you do not, or cannot, use Outlook? Use Python to extract the calendar data and generate your own feed, of course! This article discusses a surprisingly simple program to perform what seems like a complex series of operations: scanning IMAP folders, extracting iCalendar attachments, and merging the contained events together into a single calendar.

PyMOTW: copy

The copy module provides functions for duplicating objects using shallow or deep copy semantics. Read more at pymotw.com: copy