July 29, 2008

One-Day Python Classes

Holden Web's third Introduction to Python class starts on September 9. It runs from Tuesday through Thursday, and I could easily use the training room for an extra day if I had a suitable topic for a one-day class. The question is, what would people want to learn? More specifically, what would they pay to come and learn?

I have a couple of ideas for popular topics, but your suggestions are also welcome. And since there's only over a month to go, better hurry! Thanks.

July 26, 2008

Microsoft at OSCON

The last session I attended before leaving for the airport was the Friday morning plenary session. Sam Ranji of Microsoft announced several new initiatives (documented in his Port 25 blog), including sponsorship of the Apache Software Foundation. This doesn't mean Microsoft are abandoning IIS development.

After the keynotes were over there was a Q&A session, but it seemed like the AV technicians (who seemed to do a pretty awesome job overall) hadn't set up monitor speakers, and so those on stage found it difficult to hear the questions. Which were mostly for Sam, and sometimes a little hostile!

I tried to ask him how it would be possible to change the corporate ethos so that stupidities like the recent OOXML debacle aren't repeated, but I'm not sure the desire to help survived the mangling by the sound system. Microsoft have been a sponsor member of the Python Software Foundation for some time now, and they are as welcome as all our other members.

It was clear, listening to Sam speak with delegates after his talk, that he "gets" open source. It's frustrating to read people complaining about Microsoft without being prepared to engage and argue that open source and full interoperability can actually help the company meet its business goals more effectively. By doing so we can help Sam get the ears of the business-line managers, and thereby promote open source from within.

I left him with a business card and an offer of assistance. It remains to be seen whether anything comes of it.

July 24, 2008

Where's Sean Reifschneider When You Need Him?

Another conference, another sucky network. OSCON's wireless network hasn't performed as well as I'd have expected it to from my experience four years ago. With roughly 2,500 delegates in a large area there's no reason why I should be unable to associate with an access point.

Sean's setup and management of the 2007 PyCon in Dallas remains the best conference network I have used.

All this seems very effete, of course, given that ten years ago there was no such thing as a public wireless network. But as technology moves on expectations move up, and many people this week have suggested OSCON's network will need to improve for next year.

Is My Nose Borked ...

... or do all Portland Conference Center hotels smell of stale fried food?

I am having a great time, and the PDXers are wonderfully hospitable, but I suspect the hotel staff need to take a week off and smell the places they work with a fresh attitude.

I have stayed in many hotels that don't have this problem, but the two I have visited so far this week (including the "conference hotel" I am staying in) aren't the freshest environments I have ever encountered.

Test the Betas, Already!

OK, if you saw the last mention of the Beta 2 release of Python 2.6 and 3.0 you might have got this message, but the subject line makes it pretty explicit.

Every time a new release comes out it goes through the alpha, beta and release candidate stages without enough people actually downloading it and making sure their applications run. (Then, surprisingly often, within a month or so of the final release someone comes along and says "Hey, this breaks feature "X").

The developers are taking a lot of care to try and ensure that the next version comes out bug-free. Wouldn't it be nice if we could provide an army of savvy testers to saturate the betas with potential problems, so they don't become problems in the release candidates or final release?

Your language needs you! Seriously ... and particularly if you run the Windows version!

July 22, 2008

Robert (R0ml) Lefkowitz at OSCON

There don't appear to be any methodologies that are specific to open source projects: methods like scrum are agnostic as to whether they are used on open source or proprietary software.

Lefkowitz has spent a long time trying to encourage large organizations to adopt open source techniques. His current employer uses the Microsoft solutions framework. This has a process model and a team model, and it's difficult even to get everyone in the organization to sign up to the models. Before the company used that they used another methodology with four phases, and Kent Beck's "Extreme Programming" uses six phases. All these methodologies are different, but subtly similar.

How do we define a methodology that everyone can use? R0ml believes we need to drive the development of the process broadly based in the open source world. He referred us to Quintillian's five-step rhetorical framework, which might have been lifted directly from the Microsoft framework had it not been written in the first century AD.


Other techniques or methodologies can also be mapped on to the rhetorical framework.

The architect Alexander observed that the events that take place in a place are primary in determining its fitness for purpose. Juggling uses two different notatiopositional notation, but some jugglers use "causal" notation, which focuses on throwing a club when it must be thrown to maintain stability. 70% of the MVS operating system is dedicated to exception handling, which is why they are so stable.

R0ml suggests starting with "release early/release often" as a starting point. Next, you use it (which you will notice is completely ignored by traditional methodologies). Bug and exceptions reports and patch submissions are then followed by triage and integration. The difference here is we don't have "requirements". There is no development, there is only maintenance; it's just that some maintenance is more radical that others (laughter).

XP puts some stress on the customer by requiring them to make decisions, write user stories, write functional test specifications, and so on. But the most powerful input from the customers is their complaints when the software doesn't do what they want. (More laughter).

This was an amusing talk, which anyone who has seen this speaker in action before would expect, but I'm not sure there were many pieces of practical advice for open source developers. I got the impression from a somewhat abrupt finish that Lefkowitz didn't have enough time to fully expound his thesis. A shame, since the last talk I saw was informative as well as amusing.

For some reason a number of posts were stuck in the blog as drafts. This one is from July last year.

Mark Shuttleworth at OSCON

Mark, an accomplished speaker, started by confessing that he had no doubt that Linux would be the platform of the future, and suggesting that tools like Firefox and bazaar had claimed ownership of their application space by providing extensibility in a modular way: conform to the interfaces, and the application becomes a platform. All the same, he insisted there is also a need to work with Windows (which makes sense since there are so many Windows systems around).

One of the issues Mark discussed was how we can extend agile techniques in ways inspired by community-driven processes. Architecting your tool set and your enterprise for collaboration and communication is essential. Ubuntu's governance is entirely separated from Canonical's, and Mark suspects that might turn out to be a best practice.

Tools must be extensible, and whether they are open source or proprietary they must be usable as components in diverse systems. The ultimate goal is "permissionless" development - new people coming in wanting to do new things need to be able to take the tools and run with them to implement their own ideas. His ideal for Ubuntu is for any developer worldwide to branch the Ubuntu code and publish their version in ways that other people can in turn pick up and run with.

Another best practice Mark has identified is time-based releases, which lend a rhythm to the development process and allow developers to keep track of what's happening in the trunk, which should be releasable at any time. More and more projects are thinking about synchronizing their releases. Imagine if a multitude of Linux distributions could collaborate to release at the same time, providing a "development cadence", encouraging individual tool developers to finalize their own releases for incorporation into a multitude of distributions.

Mark sees todays open source development world as struggling to provide free software, but the questions is how will the economic models support this? Free software is easy to love: it costs nothing to acquire. But who will fund the development of the free software? This will require innovations in economics that will, with a historical perspective, possibly be one of the more significant changes in these turbulent times. Having three almost-monopolies each controlling their own distribution would be counter-productive, and advertising on the desktop is offensive.

At Canonical they are hiring people to work on the desktop to build tools that benefit the providers of services. This will fundamentally change the world.

The challenge of the next two years is to lift the Linux desktop to a level where it is effectively art! How do Linux distributions not emulate Apple, but blow right past them. Jamie Zawinski says we should be aiming to build software tools that help their users get laid! The only doubts Mark had about that as a goal were related to Jamie's stated goal of making software that his mother could use ...

The Web 2.0 explosion has taught us that to survive in the web world a software product needs to be instantly attractive, and deliver functionality immediately in a profoundly usable way. Canonical have been investing in the process and the technology, and they are now trying to
realize the dream that Mark so elegantly elucidated in his presentation.

Django 1.0 Alpha 1 released

We learned yesterday that the Django development team had released the first alpha on the trail to the 1.0 release due early in September.

This is great news: it means that the major items that have been developed on the sidelines (a refactoring of the queryset code and a rewrite of the admin application to use NewForms) are now fully merged into the trunk. Most of the functionality for the eventual release is now in place, though of course the feature freeze doesn't start until the betas, scheduled for two weeks time.

July 19, 2008


Flying out to Portland tomorrow arriving late evening (I only just got back from California, and I wanted a little time at home). I am giving a Python in 3 Hours tutorial on Monday morning, but don't have many other set commitments during the week.

Anyone who wants to get together for a meal or a drink, just leave a comment here, or email me.

July 17, 2008

CPython Getting Serious About Quality: Help Needed

Beta2 of Python 2.6 and 3.0 was due out today. It isn't going to happen, and for the best of reasons. Under the guidance of release manager Barry Warsaw the developers have started to pay serious attention to the output of the buildbots, the systems which perform continuous integration testing of the development version of the Python interpreter.

Barry has just announced that there are three issue serious enough to delay the release, even though this potentially means slipping the release schedule (though time will tell whether that's a serious concern). If you are a Python developer, please take notice of what he said in an email to the python-dev list earlier today:
Please everyone, if you have only a little bit of time to work on Python, I hope you will attack the release critical and deferred blocker issues, and work on turning the buildbots green. These are the top priorities in order to get 2.6 and 3.0 out on time. And just as added incentive, our October 1st goal is being noted by downstream vendors. [Possibly confidential information about third parties redacted].
Quality is important. Please do whatever you can to help. Many people can benefit from a little extra effort now.

July 12, 2008

PyPy Continues to Catch Up

Interesting news from the EuroPython sprints at Vilnius via Holger Krekel. PyPy supports Django well enough to run the Pinax application put together by an open source team coordinated by James Tauber. It's great to see Python expanding in so many directions at once. The future is definitelyto be interesting.

Django seems to be becoming one of the "how good is your implementation" tests for Python implementations. Not only are the PyPy team using it in this way, but IronPython and Jython are as well. Since Jython is now in alpha with a Python 2.5-compatible implementation the picture is looking better and better every day.

The one thing nobody has discussed much is the attitude of the PyPy, Jython and IronPython development teams to migration towards Python 3.0. Does it represent the next wave, or will it end up as an isolated development?

July 9, 2008

Shameful Day in American History

So, it's official. Corporations are above the law, individual freedom should be subservient to corporate profits and if the president tells you to break the law well you can just go ahead and break it. The revolution moves a little nearer.

July 1, 2008

Certificate Design Required

Do you know anyone who can design a really nice looking certificate? Even better, are you such a person? The PSF instituted an awards scheme recently and the first four awards were announced at PyCon earlier this year. I have to have an official certificate created so we can have copies framed for the recipients, and my original designer has let me down (too busy).

So I am asking the web if it knows a suitable designer, preferably coming with recommendations, who can quote me a price (I can provide a reasonable brief if you contact me via this link) and get this job off my plate before the delay becomes too embarrassing.