Monthly Archives: October 2010

Google Summer of Code 2010 Mentor Summit Report

As requested by our beloved leader, here’s my report on this year’s Google Summer of Code 2010 Mentor Summit. The summit took place in Google’s HQ in Mountain View, California and was what they call an “unconference”. In the beginning of the unconference the attendees had 10 minutes to write down proposals for a session and put them on a huge white board. After that, every attendee voted for the sessions in which he was interested by putting a small sticker on the proposal. This way we could evaluate the interest on a specific topic and schedule the sessions to the differently sized rooms according to their interest. Neat trick!

The the rest of the summit was basically like a conference: we had 11 tracks filled with 5-6 sessions per day, which ran from 10:00 to 17:30. Google provided shuttle buses from our wonderful hotel to the googleplex in the morning and back to the hotel in the evening. The hotel was very nice, it was equipped a swimming pool and a hot tub (both outside), which was extensively used in the morning and of course during the night. Speaking of the night, Google sponsored Thai food in the first night and ye olde Pizza and Beer in the second. Some of the attendees brought their keyboard, guitar, bass and electric clarinet, and where playing some sweet ass Jazz and Pop (on special request…).

The sessions itself where not quite what I expected. I expected some proper talks about specific topics, but it was more like and open discussion round where everyone was invited to participate. For some topics it worked pretty well, for others not. It was still totally worth coming, since you meet a lot of like minded people and there is plenty stuff to talk about.

Of course I was very exited to see the googleplex. And the rumors are true: the googleplex seems to be a very nice place to work. They provide free breakfast, lunch and dinner for their employees. They have micro kitchens everywhere where you can grab free snacks and beverages. There are lot’s of toys lying around, they have bicycles everywhere on the campus which you can just grab to move from one building to another. There is a dinosaur on the yard, a spaceship over the stairwell and lots of other things (testing on the toilet, anyone?), and we have probably only seen a small fraction, since we were not allowed to leave the restricted areas for the unconference.

Despite the horrible yet lag (leaving Germany on Friday morning and leaving San Francisco on Sunday night), I’m glad I was able to attend to the summit and can only recommend aspiring mentors and students to participate to the next summer of code!

Introducing python-popcon

Python-popcon is a small Python library which allows to query Debian’s popcon database. The usage is very trivial:


>>> import popcon

>>> popcon.package('python-popcon')
{'python-popcon': 2}

>>> popcon.package('icedove', 'iceweasel')
{'icedove': 12140, 'iceweasel': 45666}

>>> popcon.package('foobarbaz')
{}

You can call the package method with an arbitrary number of package names and it will return a dictionary with package name : popcon value mappings for all packages found. If a package is not found in the popcon database it will not be in the resulting dictionary or if it was the only package in the method call, the method will return an empty dictionary. The popcon value is the number of installations according to Debian’s Popularity Contest service.

There is also a second method which gives some more information


>>> popcon.package_raw('icedove', 'iceweasel')
{'icedove': [8065, 2195, 1879, 1], 'iceweasel': [27857, 10681, 7120, 8]}

It returns a list of [vote, old, recent, no-files] for the given package.

How does it work? Upon a query, popcon downloads http://popcon.debian.org/all-popcon-results.txt.gz, extracts and parses the file and returns the desired information. Since downloading and extraction this file is expensive, it saves the file and tries to re-use it is not older than 7 days. So while the first call of one of the above methods can take a few seconds, the result will appear almost instantaneously for the next week until the cache file expired.

That’s it, no rocket science but a convenient way to get popcon information from within python. The package python-popcon is available in Debian/Sid for a few days.