Paul Boddie's Free Software-related blog

Paul's activities and perspectives around Free Software

EuroPython 2010: Registrations, Submissions, Organisation

March 5th, 2010

Every year, I seem to get involved with the organisation of the EuroPython conference, and this year doesn’t seem to be an exception. Like last year’s conference, EuroPython 2010 will take place in Birmingham, United Kingdom, and seeks to gather a respectable number of European Python users and developers under one roof by offering stimulating and engaging talks on the use of Python in various fields, the development of Python technologies (including the steadily increasing number of implementations), and other matters of a broader technological and cultural nature. As well as the talks, there will again be a number of tutorials, and after the main conference days (19th-22nd July) the sprinting begins: as most conference-going Free Software developers know, this is where people use the opportunity to collaborate with others to get some serious programming done on their favourite projects.

Birmingham's mercantile architecture

Birmingham's mercantile architecture

For some of us, it can often be quite hard to think a few months ahead and to consider signing up for a conference, not to mention the idea of submitting a talk proposal and then putting something together to present to a large number of other people, and especially this latter notion can seem overwhelming: when high-profile and/or successful projects are likely to appear in the schedule – after all, Python is almost everywhere now – one might question whether anyone would be interested in my software or my experiences with Python when there are supposedly so many important people presenting their important stuff. Well, in my experience at least, some of the most interesting talks and some of the most interesting discussion topics outside the talks frequently occur around people who aren’t minor community celebrities and whose issues aren’t announced with a fanfare. Discovering these hidden depths of Python usage is frequently what make conferences really worth attending. For an idea of the breadth of talks at EuroPython, take a look at those given at EuroPython 2008 and 2009: they aren’t all about big name projects or crucial decisions taken by Python’s core development team.

Geoffrey French presenting gSculpt

Geoffrey French presenting gSculpt: an interesting application that would probably go unnoticed by many

I wrote an article about organising EuroPython in 2008 for The Python Papers Vol 4 No 1 (2009), and if you don’t mind downloading a PDF, you can obtain it directly from the journal in question. In this article, I mention a number of talks that probably wouldn’t get the kind of promotion that one sees in the “blogosphere”, yet the topics (game development, code analysis, compilation, using “cloud computing” resources to solve real problems) are definitely things that would have many people returning home after the conference and taking a closer look at what the presenters have been doing. And frequently, the keynote speakers provide perspectives beyond those of software development and even inspiration for developers looking to solve problems which may be new to them, but which are very real to others: this truly makes a form of technology transfer possible in a way that those of us who support Free Software should approve, not based on parcelling out products but based on the transfer of expertise to where it’s most needed.

So if you’re interested in Python, as a beginner, a regular user, or as an expert, and you’re looking for a conference where there will be plenty of things to see, learn and do, and you’re also looking for a community-style experience instead of the more corporate-style conference events, and you would prefer a slant towards Free Software – and I think it isn’t unreasonable to claim that EuroPython encourages and emphasises Free (and open source) Software – then why not consider coming along to EuroPython 2010 this summer? And if you’re looking to make connections within the community, which is what many regard as the primary benefit of community conferences like EuroPython, why not join the organisers in putting the event together? That way, you’ll not only make connections with some fairly well-connected people, but you’ll also help shape the event into something that benefits you even more!

The Python implementations panel

The Python implementations panel at EuroPython 2009

Helping to organise a conference can be hard work, but the end result can pay back this effort with interest. With this being my fifth year of being in some way involved with the running of EuroPython itself, I feel somewhat qualified to make this claim. Why not start your own investment with EuroPython 2010, or perhaps start one with your own favourite technology’s community conference? You might make connections and influence people, too.

Hacking the Fellowship Wiki

November 21st, 2009

(That’s hacking in the good sense of the word, of course.)

A while ago, Matthias Kirschner encouraged me to blog a bit about the FSFE Fellowship Wiki and some of the enhancements that have been introduced by the small group of volunteers and administrators, so in this post I’ll explain what I’ve been doing with the Wiki since I volunteered to help out a while back.

First of all, the Wiki needed to use the same visual style as all the other new FSFE pages. Since the Wiki is run by MoinMoin, and since I have some experience with making themes for MoinMoin, this was an opportunity to help out. Thus, my place as a volunteer was established: there didn’t seem to be anyone else amongst the existing volunteers familiar enough with Moin’s theming framework to do the job in a hurry.

Fortunately, the hard part of doing the visual styling had already been done, and all I really needed to do was to write a theme module which generates HTML that then uses the various CSS classes and rules already provided by the visual designers. In this way, the visual elements are plugged into Moin’s content generation system such that when a page is formatted, the right kind of HTML is generated, appropriately styled, that can then make the browser put the visual elements in all the right places.

Once the theme was done, other enhancements became desirable or essential. One aspect of the visual design was the presence of a green title bar at the top of the content area of each page – you can see this on all the FSFE sub-sites (home, blogs, planet) – and this didn’t fit in with the way Moin generates its pages. Ideally, one would dedicate all of the content area to Moin, and to allow the page author to put whichever title they like in such a prominent position, perhaps the first heading on the page. Ultimately, a compromise was reached (after numerous experiments): page authors would omit any initial heading, instead relying on the page name itself to appear in the title bar (which is what solutions like MediaWiki do), and the theme would make a “pretty” version of the page name for this uppermost title.

Another enhancement, given that FSFE is a European organisation where many languages may be in common use, was to support multiple languages and to allow users to find translations of pages. Although Moin already supports many languages, there isn’t a built-in feature to help users find the translation of the current page in their own language, preferably by providing a link to such a translation in a prominent place. Thus, it was decided that the theme would incorporate such a function, and the result is a sidebar menu which lists languages for which a page has been translated. More information on how this works can be found in the Wiki user guide, and the advocacy FAQ page should show this function in action.

One project that didn’t start as a Wiki project was the Fellowship calendar. It did appear that some Moin-based solutions were somewhat relevant, such as MonthCalendar and EventCalendar. Having written a Moin extension called CategoryMenu, dynamically building and showing navigation menus which present the Wiki’s categories, together with expanded lists of pages for those categories to which the current page belongs, and considering the likelihood that calendar events would most likely be written on a separate page in order to fully document the event, show likely participants, schedules, and so on (see the FSCONS page for an example), I thought it would be interesting to write a macro that would gather all event pages (belonging to a designated category) and to present them upon request in a calendar view.

The result of this effort is the EventAggregator extension, which started out just showing a simple list of events in each month, but then evolved to support a calendar view (which is arguably a necessity and was always planned), RSS and iCalendar feeds, and a number of conveniences to encourage people to add events, such as a “new event” form which can be prefilled with information, making the task of editing an event page less intimidating. I imagine that more enhancements will be made to this extension, possibly to make it more useful for applications beyond the Fellowship Wiki, but it has been an interesting exercise in learning more about Moin’s features, benefits and shortcomings. The result can be seen on the Wiki in the Fellowship Events page, although calendar views can be added to any page using the macro.

The work doesn’t end here, of course. There are always plenty of things that could be better, but here are some of the simpler ones for anyone wanting to help out but not to take on something that might be too demanding:

  • Language translations for MoinMoin: the FSFE theme uses texts which do not have built-in translations provided by Moin, but it’s easy to add these texts for your own languages; see the English dictionary for all that’s required to make the Wiki friendlier to native speakers of your own languages.
  • Templates for editing: templates for common types of pages, such as local Fellowship group pages, are required; such templates reduce the amount of boilerplate that authors have to reproduce and make editing easier, just as has been done for event pages with the Fellowship events template.
  • Just using the Wiki makes it better! By adding content, there’s more of a reason to visit the Wiki, and by remembering to add events to the Fellowship Events calendar or by adding the right metadata to make events show up in the calendar, or by making more specific calendars (perhaps for your own local group), it becomes more interesting to use such resources.

Beyond the Wiki, there are many projects that can be tackled by anyone enthusiastic enough. It has been a rewarding experience to do all this work, and it has been a pleasure to work with the other volunteers. If you want to make the Fellowship infrastructure better, I can certainly recommend volunteering!