Advice on writing teachpacks

Here is some advice on writing teachpacks for PLT’s DrScheme.
About teachpacks:

Teaching languages are small subsets of a full programming language. While such restrictions simplify error diagnosis and the construction of tools, they also make it impossible (or at least difficult) to write some interesting programs. To circumvent this restriction, it is possible to import teachpacks into programs written in a teaching language.
In principle, a teachpack is just a library written in the full language, not the teaching subset. Like any other library, it may export values, functions, etc. In contrast to an ordinary library, however, a teachpack must enforce the contracts of the “lowest” teaching language into which it is imported and signal errors in a way with which students are familiar at that level.

XO Critical Configuration 1

Until a recent trip, I hadn’t used the XO very hard, or configured it at all. Before heading out, I read Bill’s article and found some real gems that, along with my own preferences, make using the XO a much more pleasurable experience. They follow:

OLPC XO OS build 703 changes

OLPC XO OS build 703 has at least two significant changes:
The first is that it automatically suspend when closed, with this caveat:

the system can’t suspend when the USB bus is in use by an external device (unless it’s a USB mass storage device and has been fully allowed to write any cached info and quiesce itself).

This might not seem like a big deal, but folks have been wanting it for a long time.
The second is that activities no longer come pre-installed in the OS image.

The XO was made for its creators

After using the OLPC XO heavily for the past three weeks for web browsing, pdf reading, and educational game playing (by my 5 year old nephew), I can’t help me get the feeling that the XO was made for its creators, and not for children.
Now don’t get me wrong, I love the thing; but how do you explain to a 5 year old (albeit a very smart one) that he can’t start more than 2 or 3 programs at once because the machine will run out of memory and the CPU will get bogged down?! (An aside, how you explain it is by doing just that, excluding the part about memory and cpu).
The vision of a computer where everything is written in Python and everything is modifiable and maintainable by the user is a fun idea, but only for hackers, aka, the creators. Kids could care less. What they want are programs they can use that work well. Are they getting that right now? Well, they are getting something that works “well enough”, but it seems like the XO creators are painting themselves into a corner here in terms of performance; since the hardware will never get upgraded, the only place they’ve got left to speed things up is in the code, and that seemingly has not been a priority thus far.