Archive | Python

The object-oriented scripting language

Notes from PySIG, 27-March-2008: urllib2 and PySoy

Seventeen people attended last night’s Python Special Interest Group, one of many active chapters of the Greater New Hampshire Linux User Group. It was a long meeting, starting at 7 PM with a round of introductions, discussions of gotchas, announcements, problems people are working on (creating a lamda that does ‘Nothing’ — for a certain definition of Nothing!), subclassing Array.Array, learning a few new tricks about SciTE.

Mark had great news on his progress in getting Open Source in the Lawrence Library in Pepperell. The librarians have been very receptive, setting up an area to display information, promoting ongoing meetings, etc. Go, Mark!

Kent put on a very good Kent’s Korner on urllib2, and Arc Riley gave a very interesting presentation on PySoy, a powerful 3D gaming engine driven with Python.

Sean O’Shea provides extensive notes with even more links at his blog — thanks for the great notes!

Thanks to Bill for organizing and announcing, the Amoskeag Business Incubator for providing the great facilities, and to all for attending and participating!

PySIG, 27-March-2008: PySoy and urllib

Organizer Bill Sconce announces the monthly Python Special Interest Group to be held on Thursday, March 27th, at the Amoskeag Business Incubator in Manchester, NH. The main presentation will be on PySoy, a 3-D gaming engine. The Kent’s Korner will feature urllib2, a utility module for working with http, ftp and similar protocols, with supports for POSTs and GETs, authorization and so forth.

State of the Computer Book Market, Part 4 – The Languages – OReilly Radar

Over at O’Reilly, Mike Hendrickson posts State of the Computer Book Market, Part 4 – The Languages – OReilly Radar. Bear in mind in the world of lies, damned lies and statistics, these are statistics. Like measurements of job posting vs. languages, or web pages vs. languages, these aren’t an indication of what languages are in use out there, or what languages are suitable for use. This is just a measurement of what book titles sold the most, grouped roughly by language. If the best book on your favorite language is years old, it’s probably shown as small here. If a bunch of crappy books got published on the language-of-the-week, and the authors and publishers did a good job of getting a buzz going, it’s probably scoring high. Don’t use this to decide whether to use vi or emacs, tabs or spaces.

But it’s interesting data.

Notes from PySIG, 29-Nov-2007: Django in the real world

Fourteen people managed to find their way to the Amoskeag Business Incubator (it’s on SOUTH Commercial Street, contrary to the directions on the ABI site) for the November meeting, one week later than the usual fourth Thursday of the month, of the Python Special Interest Group.

A number of new attendees arrived this month. We pointed out that the mailing list for the group can be found on the DLSLUG and GNHLUG sites, look for “mailing list” and that there was an announcement as well as a discuss list for the group. We pointed out the main calendar at as well and talked about other resources.

Several members were new to the area or had come up from Cambridge, MA (our fair city) for the SIG meeting. They pointed out the Cambridge Python Group, who usually posts meeting announcements on, which boasts 103 members on their list! We discussed the ideas for mutual cooperation, and will be glad to cross-post their announcements to the PySIG -announce list.

Kent S. Johnson was the main presenter, and showed us how Django is used to host the site. Without going into details on the business aspects of the site, Kent was able to give us a tour of several of the pages, talk about the RESTful URL formats, the model-view-controller model that’s used, demonstrate some of the code used to describe a model and the actions that can be taken on it, and show us some of the templating language that generates the HTML. The built-in administrative functionality, creating simple CRUD pages based on the model descriptions, was an impressive Django feature.

An excellent meeting, with lots of code and lots of ideas. Thanks to Kent for the main presentation, to our Cambridge brethren for making the long trip, to Bill Sconce for arranging, announcing and MC’ing the meeting, and to the Amoskeag Business Incubator for providing the great venue. Hope to see you all again at next month’s meeting, held on the 27th of December, likely just an informal chat due to the proximity with the holiday.

On The Media talks with WSJournalist about the One Laptop Per Child

On NHPR this morning, the On The Media show had an episode on the One Laptop Per Child program. Here’s what they say on their web site:

In 2005 computer scientist Nicholas Negroponte announced his bold plan to build a laptop that costs $100 and deliver it to the world’s 150 million poorest schoolchildren in just 4 years. But the Wall Street Journal’s Steve Stecklow says competition from companies like Intel and Microsoft seems to have put that goal out of reach.

I’d be disappointed if the OLPC itself doesn’t succeed, but in some senses, it already has, spurring innovation (real innovation, not marketing slogans) in the low-power rugged laptop-form-factor marketplace. OLPC is radically innovative hardware where many of the other version one-oh products are the same old stuff in a smaller case. OLPC has screen that works in full sunlight and uses little to no power as an eBook. It has a mesh-based network capability that will allow ad-hoc networks over great distances in field conditions. Every aspect of the design was considered. These are elegantly engineered machines. The software is as innovative as the hardware, with a simplified UI that allows and encourages exploration and collaboration. I’ve contributed to the project, and I encourage you to do so.

Recommendations for FOSS podcatcher?

I listen to audiocasts (I don’t have a *pod, and don’t agree with the brand implications. Since I listen on my ThinkPad, they’re PadCasts for me. Let’s say “audiocast” or we could be really retro about it and refer to them as “audio recordings” since they’re neither cast nor podded.) while working out and go through quite a few. The Conversations Network has been a great source for these: IT Conversations in particular. Phil Windley’s Technometria is one I try to catch each weekly episode. Other features, like David Heinemeier Hansson’s keynote at the 2007 RailsConf or Tim’ O’Reilly’s keynote as OSCON are other favorites. There’s lots of other good stuff on Coversations Network, so much so that I’ve contributed to the network, a non-profit 501(c)(3) organization.

But there are other, far smaller operations. I met Peter Nikolaidis through the Dartmouth Lake Sunapee Linux User Group, and he does an audiocast called “Fresh Ubuntu” with a fellow from the west coast named Harlem, a man with a voice for radio. An interesting show with contributions from many others, too, focused on Ubuntu, but ranging over many of the topics involving Open Source.

I like to keep up with all of these audiocasts (and would welcome more recommendations from others!), but it involves manually visiting the web site, checking to figure out if I’ve heard the audiocast already, and downloading it. I’m looking for an automated way of doing this.

I was (and still am!) a regular subscriber to Dave Winer’s Scripting News, and listened to his first audio enclosure (imagine that!) in his RSS feed, accessible directly through the Radio Userland built in feed reader. Since then, I’ve changed hardware a few times, operating systems at least twice, and feed reader software more times than I can recall. I’m looking for an application I can run from my Linux desktop that will regularly check the RSS feeds put out by the audicasting sites and download the new audiocasts of interests. Bonus points if the software is under a FOSS license, +1 for efficient and frugal resource use, cool interfaces, etc.

One recommendation off the Conversations Network is labeled iPodder, but points to JuiceReceiver, which doesn’t “yet” have a Linux port, despite being written in Python. It seems like there are close relatives to this code in CastPodder and IcePodder, but it’s not clear to me which of any of these projects is alive, well and legitimate. It appears to me that IcePodder has roots in the others, with directories still named iPodder (likely renamed due to near trademark infringement of a well-known player?) and a CastPodder manual buried in the download, dated 2005. (Here’s a clue: IcePodder’s About page says “IcePodder is a podcatcher (RSS client) for Linux conceived as a replacement for CastPodder. ” So my guess is that iPodder begat JuiceReceiver begat CastPodder begat IcePodder. Whether or not I’m on the “right” branch is something that a little more research ought to bring to light. (Update: a little Googling confirms the theory, and it appears to be pretty amicable.)

IcePodder was an easy install: download, unpackage, review the README and INSTALL, review and run the script. Written in Python, using wxWidgets for UI, GPL. A little shaky in operation – I’ve crashed it once or twice, but I’m running the old “stable” release rather than the current code, so I should upgrade before passing judgement. The code needs some serious search-and-replace s/CastPodder/IcePodder/g but it looks pretty promising. Anyone else have recommendations?

UPDATE: gPodder also looks promising. Don’t let the version 0.10 fool you – apparantly, that’s the version after 0.9, according to the developers…

Happy Halloween

Free Software Foundation - click for more info!

Treats this year included getting some of my annual charitable contributions done before the 31st of December. A new contribution this year was to become a member of the Free Software Foundation, the group responsible for the GNU Public License, along with many other good works. Help them to help you. I did.

PySIG notes, 25-Oct-2007, Kent Johnson and Beautiful Soup sprint

Thirteen people elected to skip watching the second game of the World Series (Go Sox!) to attend the October meeting of the Python Special Interest Group (PySIG), held as usual at the Amoskeag Business Incubator in Manchester, New Hampshire, on the fourth Thursday of the month, 7 PM until… well, 10 PM last night!

The usual slew of announcements was made: the PySIG won’t meet on the usual night due to the Thanksgiving holiday. A meeting might happen the week after, since there are five Thursdays. Stay tuned for the official announcement. Other affiliated GNHLUG meetings are posted to and all are welcome.

I had proposed a programming challenge to PySIG: following recent discussions on the GNHLUG mailing lists about attendance at meetings, Jim Kuzdrall had suggested we more closely analyze the attendance data that’s been posted to the GNHLUG wiki [1] for the past two years or so. The data is accessible from there, but the HTML format is not too easy to manipulate into an analyze-able format.

Enter BeautifulSoup. BS is a utility written in Python that parses HTML, with a lot of toleration for somewhat malformed HTML, and produces a parsed tree that can be traversed or queried or parsed into its various elements. Kent S Johnson continued his great Kent’s Korner series with a presentation on the basics of using BeautifulSoup. Kent noted that the documentation on BS is remarkably good, with illustrative examples and exhaustive discussions. BS is in its third major version and continues to be supported by its original author.

After Kent’s Korner, Bill Sconce took the driver’s seat, set up BS on his machine and we began with the kernel of source Kent had supplied to parse the source. The group participated, suggested, yelled at typos, experimented, threw out code, started over, changed the angle of attack, and successfully produced code that not only parsed the existing page, but generated a comma-separated-value file with proper escaping, thanks to the csv module. Along the way, we discussed issued of character conversion (since BS uses the aptly-named UnicodeDammit module and csv wants ASCII), escaping issues, coding styles, and more.

At the end of the presentation, Kent got the projector again to show a somewhat different tack he had used to parse the HTML, with an emphasis on writing small functions to clean each column of the idiosyncracies found in the data (a “Saturday” in the date field, a date field a two-day event, approximated attendance ~24 and so forth) and generate some results: which groups had the highest attendance for the year? No one was surprised that Nashua/MerriLUG was #1, but who knew that PySIG was #2? Woo-hoo! We noted that RubySIG was last, but there’s a good sampling problem: they had just started up early in the year, and a couple attendance figures were missing.

To follow up from the meeting, we intended to merge Kent’s improvements into the group’s code and generate some CSV files that we can make available for download from the GNHLUG wiki for all to analyze, graph, visualize and study.

Thanks to Kent for preparing his Beautiful Soup presentation, to Bill Sconce and Alex Hewitt for arranging the meeting, to Bill again for having the patience to type while twelve people tsk’d at him, to the Amoskeag Business Incubator for providing the fine facilities, and to all for attending and vigorously participating in the meeting!

[1] which actually breaks down to:,, and

Adding a “skin=print.pattern” eliminates some of the “chrome”
surrounding the content.

Python Special Interest Group, Manchester, NH, 25-Oct-2007: Kent Johnson and Beautiful Soup

The monthly meeting of the New Hampshire Python Special Interest Group takes place at the Amoskeag Business Incubator, Manchester, NH on 25 October 2007 (the 4th Thursday as usual) at 7:00PM. The Beginners’ session precedes at 6:30 PM. (Bring a Python question!)

Kent S. Johnson will be the featured speaker. Along with his regular Kent’s Korner presentation, we’re going to try hacking at some actual code problems tonight: using Beautiful Soup to parse a web page and produce some useful data. Should be interesting.

Organizer Bill Sconce posts the meeting announcement here.

Seacoast LUG, 13-August-2007: Panda3D

Ben Scott reminds folks about the Seacoast LUG meeting happening tonight:

For the August 2007 SLUG/Seacoast/UNH/Durham meeting, there will be a presentation on the Panda3D 3D engine.

=== About Panda3D ===

Panda3D is an Open Source “3D engine” — software that lets you model a “world”, and then render it in real-time on a graphics display. Think “Doom” or “Half-Life”. It was originally developed by Disney for their massively multi-player online game, Toontown, so it’s got real capabilities. They released it as Free Software in 2002. Carnegie Mellon University and Disney now manage the project jointly. The project emphasizes “a short learning curve and rapid development”.

Panda3D supports the C++ and Python languages, runs on Linux and Windows, and comes with models and artwork to get you started. There is also a library of documentation, sample code, and full projects online, along with what appears to be a reasonably active web forum.

=== About SLUG ===

SLUG is the Seacoast Linux User Group, and is a chapter of GNHLUG, the Greater NH Linux User Group. Rob Anderson is the SLUG coordinator. SLUG meets the second Monday of every month, same time, same place. You can find out more about SLUG and GNHLUG at their respective websites.

Meetings take place starting at 7:00 PM. Meetings are open to all. The meeting proper ends around 9ish, but it’s not uncommon to find hangers-on there until 10 or later. They take place in Room 301 (the third floor conference room), of Morse Hall, at the University of New Hampshire, in Durham.

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.