PyCon 2008 and One Laptop Per Child


One Laptop Per Child activity was well represented at the annual Python Conference (PyCon 2008) was held in Chicago, March 13-20. I am Tony Anderson and this is my report of the OLPC topics.

pycon olpc

March 13: Day 1

The first day was devoted to tutorials. In a tutorial titled "Sugar/OLPC Coding by Example", Mike C. Fletcher gave the inside story on developing activities for sugar using the OLPCgames wrapper for pygame which he developed. He chose tic-tac-toe as the example.

It provides a developer's perspective of sugar activities including using the journal, sharing activities over the mesh, and packaging the completed application (as an .xo file) for distribution on the internet. Mike provides a skeleton script that creates a base for development complete with the necessary sugar folders and files. The script provides for the required MANIFEST, internationalization (POTFILES), and open source license (COPYING).

Noah Kantrowitz and Marc Destefano presented a tutorial titled: Pygame: Modern Game Development. Their example was the old arcade game: space invaders. They offered a very simple implementation so that each attendee could add their own enhancement. Naturally, I used Mike Fletcher's kit to port the example to the XO.

March 14: Day 2

On Friday, Kirby Turner gave a talk on using Python classes to give students an insight into basic mathematical patterns (e.g. overloading vector addition or modulo arithmetic). His approach creates an exciting opportunity to use the XO in teaching mathematics.

March 15: Day 3

On Saturday, John Harrison presented a talk on using pygame and pysight to create a Halloween activity. This involved using laser pointers as 'guns' to shoot Halloween monsters projected on a bedsheet. A camera (such as the XO camera) was used to scan the bedsheet and score hits. He also showed using a laser pointer 'gun' in a 3D game. The presentation was great fun and this looks like an interesting fit with the XO.

March 16: Day 4

On Sunday, Ivan Krstic gave an OLPC Update at a plenary session. However, the biggest news came out after the talk when we learned that he had left the project. Later, Charles Merriam gave a talk on Programming for the One Laptop per Child Laptop. Unfortunately because of wireless connection problems (common to the conference), he was only able to give an overview.

Dr. Titus Brown gave a talk (and amazing demonstration) titled "Introducing Agile Testing Techniques to the OLPC Project". He showed a 'buildbot' which automatically rebuilt sugar-jhbuild. He also showed a python based test setup which allowed Sugar activity execution to be traced line-by-line through all levels of code using rpc-xml. As the old commercial said, "I don't know what it is, but I surely want one." Dr. Brown expressed great concern that the OLPC code needs more testing before the XO is widely deployed.

naked xo laptop
The dismantled XO laptop

Throughout the weekend, OLPC maintained a booth in the 'vendor's area'. Mike Fletcher, Ed Cherlin, and a number of others provided a number of XOs for visitors to try. There was also a completely dismantled XO to show the internal design. It appeared to be one of the most popular booths (rivaling Google).

March 17-20: Day 5-8

Monday thru Thursday was devoted to sprints. Mike Fletcher led an OLPC sprint - supporting a number of us in developing Sugar activities. See Mike's blog on the sprint. He has a very long and interesting discussion of problem's he sees with the Sugar design direction. Mike helped Phil Hassey produce an excellent, detailed tutorial on porting pygame games to Sugar which is on the OLPC wiki.

During the sprint I worked with Matt Barkau, Lisa Beal, and others on an accessibility application for the XO, IconSpeak. The purpose is for the user to compose a sentence by selecting icons on the screen and then use eSpeak to say the sentence. One use would be as an aid for the deaf 'to talk' among other speech synthesis ideas.

Related Entries

1 Comment

We are interested in making the laser games work with OLPC and the eee as well. We have a working Linux port of the laser game. I see a few difficulties however:

- Does OLPC have video out? It is difficult to run the laser stuff when your camera is attached to your screen.
- Giving lasers to kids is potentially dangerous. I have to watch them like a hawk because their first idea is to shoot each other or look at the laser. Both are very bad ideas.

However the camera in the OLPC could easily be used for webcam based head tracking. I'm under the impression that Intel's OpenCV project has a very simply head tracking mode. This would enable the 3d game without the laser. You'd have to figure out an alternative method of shooting. Perhaps titling your head to one side to shoot and to the other side for some other action?