Andrew Clunis

Trending towards more awesome.

Building CSound

Just a quick note to myself and others who might want to run TamTam under sugar-jhbuild:

scons buildInterfaces=1 dynamicCsoundLibrary=1
sudo ./

appears to be correct incantation to install CSound.

It might also be necessary to remove import csnd (which was for importing the old CSound python binding) from Util/ in TamTam itself.

Don’t assume this will actually help you run TamTam itself, though, as the whole thing promptly dies with a floating point exception (logged as signal 8 in the Developer’s Console) on my laptop. :(

Develop for OLPC

Recently, I’ve started writing Develop activity, a simple Python IDE for the One Laptop Per Child project.

I’ve been putting particular emphasis on the idea of that development on the Laptop should not be multi-tiered. Students should have the same tools available (as much as technically possible; no C toolchain is available for capacity reasons) as the core developers do.

Right now, the editor component is provided by an embedded instance of gvim, with has some interesting pros and cons. Vim provides a powerful programmer’s editor that can be configured to be modeless (as it will be by default in Develop), but can be reconfigured to expose all of the hacker-friendly features. Many thanks to Ali of Pida, who wrote the vim embedding library.

Develop will also integrate tightly with the mesh networking system and provide a basis for students to be able to modify activities written by others (including the core developers) and collaborate together on writing new ones. As such, I’ve decided to include distributed version control functionality, which permits students to do all of those things, and can scale from tiny projects to large ones. It also fits in nicely with the journal and mesh metaphors described in the HIG.

Discussion about which version control system to use is ongoing, coming down to a deathmatch of sorts between git and bzr, which is documented in greater detail on the wiki page.

Read more about the project at the Develop OLPC wiki page.

Screenshot of Develop running on a real btest1 XO (many thanks to Flipo):

One Laptop Per Child UML Script Updated to 0.2

Hey folks,

I’ve updated the script to 0.2. This fixes compatibility with recent jhbuild trees (the other one would have failed with a dbus configuration error).

The disk image for this version is based on build 155. As of an hour ago, that’s already out of date. However, J5 says he’ll look at integrating the hooks after they’ve shipped btest1.

Just download it and follow the same instructions as before.

NB: if you tried out 0.1, you’ll need to remove all the COW files in the instance/ directory tree (or you can remove the entire umltestenv/ directory if you want clean start for certain).

Download Here


  • updated to J5’s disk image build 155.
  • fixed lots of stupid and weird typos in the documentation. Sorry, I was really tired.

UML-based Testing Environment for OLPC

I’ve spent some time writing a utility that runs a set of Sugar virtual machines under UML. The idea being to facilitate debugging of Sugar itself and Activities that involve a lot of use of the network.

I imagine this sort of work would get very tedious very quickly because otherwise one would have to use several machines to test this stuff effectively (plus all the sneakernet use that would entail).