November 30, 2007

Just go, SCO

Well, I said in August that SCO were dying, and shortly after that they filed for Chapter 11 bankruptcy. The company has since been delisted from NASDAQ. I've been looking at the company's web site, and I especially like the list of recent awards and recognition.

This all underlines the intellectual bankruptcy of Darl McBride's approach to open source technologies. I have no idea who holds stock in SCO, but I think it's time they chose a new chief executive. At 19 cents a share its total market capitalization is just over $4 million. How are the mighty fallen.

I just feel sorry for the SCO employees, who have done little to deserve the odium heaped on their employer from all sides.

November 29, 2007

Amazon Web Services

For the first time in a long time I have started to take a serious look at how the content for is generated. The site is currently pretty much a testbed, and everything is generated from a database (even the occasional pieces of dynamic content, though most pages are simple static HTML). This allows us to ensure that all pages have a uniform style and that all the internal navigation links are consistent.

A couple of the content elements are generated programmatically. We create the Python news items by reading bookmarks I have tagged as python in my account (using methods to be described, I hope, in an upcoming Python Magazine article), and the books by searching for python using's web services. Recent attempts to regenerate the content, however, have resulted in broken links to Amazon's site. Being Amazon they don't throw up an error page, they just try to sell you other products, but I don't want to piss our readers off with irrelevant links so I had to fix the code.

The issue causing the error turned out to be a change in the way that Amazon's site names its graphics files. When I first wrote the code all image names began with the product's ASIN (Amazon's product code), but now they get random-seeming names like 21rxsZ884SL.jpg. Since I was grabbing the leading digits and assuming that gave me the ASIN it's little wonder that the links were coming out wrong. During this effort I realized that I was using the API definition from November 10, 2004. Much to Amazon's credit the calls still work, despite the fact that the API seems to have been revised about twenty times since then.

The books have also become less relevant as more and more Monty Python content is issued, along with books about keeping snakes and the like, so I decided to hone up the search a little. It turns out that all I needed to do was add BrowseNode=5 to my request to limit it to computer and Internet books. Lo and behold, my test site is now populated with relevant literature, so after a few content tweaks I can republish the site and hopefully see the Amazon commission start to climb again. (Hope springs eternal). The new content probably won't be published until the weekend as there are a couple of other tweaks I'd like to make.

Since I was revising the code anyway I threw out the old expat-based parser and replaced it with code that used the friendlier ElementTree module, now a part of the Python standard library. This reduced the line count by about 35% and making it simpler, more robust, and easier to understand at the same time. I was quite amused to note that Amazon provide web service libraries for Java, C# and Visual Basic programmers. In Python the standard library already contains everything you need. We don't need no stinking libraries (though I am sure it would be easy to provide the same features that Amazon's libraries do from a Python library module).

Reading the updated specifications for Amazon web services has made me realize that there's a lot more you can do with them now than there was three years ago, so I shall be revisiting this topic before long. If you're doing neat things with Amazon and Python I'd be delighted to hear from you.

November 16, 2007

Your Chance to Talk at PyCon

If you've been thinking about submitting a talk or tutorial proposal for PyCon next year you have a few extra days. David Goodger, the chairman, has just announced a short extension to bring the deadline the other side of this weekend, at midnight (Chicago time) on Monday November 19.

You can see the original calls for talk proposals and tutorial proposals on the PyCon web site, where there are also lots of ideas for talk topics, and also some tutorial topic suggestions from last year's delegates.

Don't be a consumer - talks at all levels are needed to keep PyCon the vibrant meeting it has become. Help the Python community out, and make a name for yourself!

November 13, 2007

Training Plans

The demand for Python training is increasing by leaps and bounds, at least in the USA. This won't be a surprise to anyone who keeps an eye on the Python jobs board, since that makes it obvious that Python usage is growing quite rapidly (and not just in the USA).

As a result, Holden Web is planning a regular series of classes in the Washington DC area beginning February 2008. We have already identified a suitable venue, not far from National Airport and suitable for up to ten students.

If you have a current need for training, want to know what classes are currently available, or would simply like to let us know your requirements, please feel free to contact us. It's a juggling act to get public classes off the ground, and all information will be useful

Miro: A Cool Python Video Player

I have just downloaded Miro 1.0, whose announcement I saw on Will Guaraldi's blog. The Windows installer was trouble free (EDIT: Linux and Mac versions are also available). It's currently scanning my disk looking for videos (and I had no idea there were so many on my hard disk), and I am looking forward to getting rid of Real Player.

No, rats, I have to keep that because the BBC are in cahoots with Real so I have to use their plugin to listen to Radio 4.

November 12, 2007

Sim City, OLPC and Python

Don Hopkins, the original author of Sim City, has updated the Tcl/Tk/X11 version of the game (now no longer commercially available) to the OLPC platform. He plans to clean the code up some and then replace Tcl with Python! He says
The long term goal is to refactor the code so it can be scripted and extended in Python, and break out reusable general purpose components like the tile engine, sprite engine, etc, so kids can use them to build their own games, or create plug-ins and modify the graphics and behavior of SimCity.
This might do more than legions of commercial systems to boost Python's popularity, and I applaud the vision that lies behind it. Overall I have some serious philosophical doubts about the OLPC project, worthy though it seems, but its aggressive adoption of Python has certainly raised the language's visibility.

November 5, 2007

The Calm Before the Storm?

Bruce Schneier's Crypto-Gram is usually an interesting read, and October's was so for a fine description of much of what is known about the Storm worm (quite a lot) and its controllers (next to nothing, except that they are skilled programmers who continue to refine their technology). The scariest part was Schneier's closing remark:
Personally, I'm worried about what Storm's creators are planning for Phase II.

If he's worried I guess we should all be worried.

November 3, 2007

Microsoft Fully Engages Open Source?

Now this is really interesting. Michael Foord reports that a lead Microsoft developer has responded to an issue report by saying
One option might be a non-technical solution: Instead of you redistributing the library (or modified library) we distribute it w/ IronPython - and then you're just including the combined package. There's other reasons why it'd be good for us to do this (help, encodings, warnings, etc...).
Michael's understanding of this is in reference to the complete Python standard library rather than just the Decimal module. If so this is excellent news for all Python users, since it will broaden the common code base between CPython and IronPython and make portability between the two environments easier to achieve. It would be interesting to know whether the developers and maintainers of FePy, the open source IronPython distribution, would view such a move with apprehension or relief. Internationalization support can be a significant effort, and Microsoft have a lot of experience in that area.

My own hope is that this move might eventually broaden the support base for the standard library, which hasn't developed as much as I had hoped in 2.5. There will be some sort of reorganization of the library in (I think) 3.1, but I haven't heard much about that yet.

Michael Foord's blog post is amusingly prioritized from an industry perspective, which is one of the charms of the blog: he was reporting big things for Resolver, which I am sure will become a significant Python application in short order. But it's a little like "Three Hundred Japanese Killed in Earthquake: Ohio Man Breaks Ankle" with a different twist. Good luck in Barcelona, Michael (and in New York and Paris too, guys).

I suspect that we have just seen the magic of the Python license at work: there isn't much doubt in my mind that Python's explicit permission to redistribute for broad purposes without opening up your own code makes it easier for organizations with a large proprietary code base to incorporate the language into their own technologies. I know from reports at PyCon that Jim Hugunin has been surprising audiences inside and outside Microsoft at how easy it is to do things in the .NET environment with Python. Surely full IronPython support in Visual Studio must inevitably follow.

US Government Adopting Open Source by Degrees

An interesting Computerworld article reports on a survey by the Federal Open Source Alliance (Intel, Hewlett-Packard and Red Hat) whose responses indicate that more than half the US government's agencies are making use of open source software, and more are planning to do so. You can see more statistics in the report from NetworkWorld, though nobody says whether the sample was large enough to draw significant conclusions from.

Apparently the main drivers are the ability to customize open source packages and access to advanced security facilities, and 97% of respondents report success or partial success in their open source-based projects. This compares extremely well with projects based on commercial products.

Look for another survey next year, as the alliance plan to repeat the exercise and track open source's increasing penetration of government applications.