[sugar] OLPC News 2007-12-22

Walter Bender walter
Sat Dec 22 11:32:16 EST 2007

1. Arahuay, Peru: If you haven't yet seen it, please take the time to
read this AP article about the XO in remote Peruvian village
The lead paragraph says it all: "Doubts about whether poor, rural
children really can benefit from quirky little computers evaporate as
quickly as the morning dew in this hilltop Andean village, where 50
primary school children got machines from the One Laptop Per Child
project six months ago."

2. Hinge: Jacques Gagne has been investigating the laptop hinge?the
"clearance" between the two rotating parts should be tighter and this
would reduce wobble. Mary Lou Jepsen and Quanta are investigating a
possible run-in change at the earliest possible date.

3. Hardware certifications and testing data:  Mary Lou has created a
compilation of certification and testing data that is available on the
wiki (Please see http://wiki.laptop.org/go/Hardware_Testing); it will
be expanded over time.

4. Green: EMPA at the Swiss National Labs is continuing its work on
life cycle analysis of the XO laptops by comparing the cost, lifetime,
power consumption, and overall environmental impact with the
refurbished desktops in Columbia. Mary Lou teleconferenced with the
team this week and will assure that they get all the data they need to
complete their analysis. The final report is due in mid-February.
Columbia is widely acknowledged to have one of the most successful
re-furbished desktop programs in Latin America.

5. Water: Anna Bershteyn, an MIT Ph.D. candidate, has been helping
OLPC follow up on some questions from Ban Samhka, Thailand about the
best way to test and improve water quality; water quality is an area
of interest that is expanding in the OLPC community. Anna and Mary Lou
met with Susan Murcott to discuss possible simple hands-on games on
the XOs that will encourage children to test and/or filter their
water. SJ Klein has put Anna in touch with groups from UNICEF and the
Hesperian Foundation who are also working on water safety. To learn
more about Anna, please visit the wiki

6. Power measurements: John Watlington instrumented a production
machine for power measurements this week to allow continued
verification of the laptop power-saving measures. This allows Chris
Ball (and the rest of the software team) to continuously measure the
power consumption at ten different places around the laptop, and also
automatically simulate user input to wake up the laptop (power button,
lid switch, etc.). We have already have a B3 unit with over twenty
power measurement points, but it cannot aggressively suspend/resume,
and doesn't have any of the more recent power-savings-related
engineering changes.

7. Embedded controller: Richard Smith spent time studying oscilloscope
traces looking for a possible cause of the reopening of Ticket 1835
(unable to resume); recent software builds were failing on the
suspend/resume testbed. He has been unable to reproduce the problem
with bare-board tests and he now feels that he fully understand the
software causes of 1835 (three distinct causes). Running the latest EC
code with Joyride kernels doesn't seem to have the problem. Richard
and John will continue to run tests on the suspend/resume testbed to
insure that we won't have the problem with Update.1

A second bonus was discovery and verification of EC issues that Chris
Ball and Jim Gettys have run into. Andres helped Richard find an EC
bug where the SCI mask was getting corrupted. The most frequent
manifestation of that was the loss of AC events or battery-charge
level.  Richard still don't know the root cause of the corruption, but
has a good test case and kernel debug logs. There appears to be a case
where EC communication fails and error recover is not working. Fixing
it is going to involve more oscilloscope time, because turning on
serial- port debugging appears to make the problem go away. There is
already a workaround in the kernel to fix the mask when it becomes
corrupted, so it's not a show-stopper.

Richard is also writing some cron scripts that will take a snapshot of
the battery ACR while the laptop is running on battery power and then
then send us the data. Richard wants to use these data to build power
usage profiles. The ACR gives us a very accurate reading on the amount
of mA/h drawn from the battery.  Plotting it over time will begin to
give us insight on our dynamic power draw.

8. School server We found a serious problem with the mesh networking
in the build of School-server software released last week (Build 137),
which brings down an active antenna if a large file transfer is
attempted. A new build of the software with the new libertas driver
(thanks David Woodhouse) greatly improves the situation. A new build
is being tested and tuned and will be released in the next few days.
The school-server-software build problems have returned, but this time
we identified one of the problems: it turns out that the livecd build
process fails if you have upgraded the kernel. Providing a single
choice for the kernel is the workaround for this problem.

We have encountered scaling problem with the XMPP service on the
server. The eJabber software runs out of memory over time as the
number of active users exceeds a hundred. Collabra is looking into
alternative server implementations. We had thought eJabber has used by
large instant-messaging services, but probably not with all the bells
and whistles we use. The XMPP service is crucial to the efficient
provision of presence information to laptops in a school through a
centralized method. The alternative, used when no server is found, is
for each laptop to send multicast announcements, which spread through
our mesh network at a low rate and using an algorithm best described
as a "flood fill".

In order to support a trial in Mongolia, the server software will
start supporting multiple servers per school in January. Each server
in a school acts as an additional internet portal in a school's
wireless mesh; together they redundantly provide services to all of
the laptops in a school.

9. Active antenna update: We are awaiting a utility from Marvell for
reflashing the firmware on the active antennas we now have, to allow
their use with school servers; presently, they have to be plugged in
after a server has booted. When this arrives, it will be included in a
school server software release. Users in the field should be able to
automatically upgrade any antenna simply by plugging it into a server.

10. Testing: We released a patch to Ship.2, Build 653 to fix a problem
with Spanish laptops coming up in English, as well as a problem
(discovered in Uruguary) with the Journal items going away.

There was a discussion this week that focused on how volunteers could
get started on testing activities by editing the current wiki pages
that describe activities: many of these wiki pages are old and thus
they do not accurately reflect how the activity works. Please watch
the wiki.laptop.org/go/Test_Issues page in the coming weeks to see how
you can help!

11. Schedule: We are at code freeze for the Update1 release. We will
spend the next couple of weeks testing and documenting. Thanks for
everyone's patience for bearing with us during the usual chaos
associated with of the start of shipping that has gotten in the way of
a smooth release cycle. We expect to spend some time on improving
process issues before we move on to serious work in Update2.

12. Support: Adam Holt has done a heroic job this week in answering
emails sent to help at laptop.org, creating and updating the Support
pages (See http://wiki.laptop.org/go/Support), the Support FAQ,
helping with the Getting Started Guild (See http://laptop.org/start)
and coordinating volunteers to help answer emails, IRC, and forum.
This weekend he is holding a volunteer training session in preparation
for a phone bank that could go live as early as next week; look on the
olpc-support IRC channel for info.

We'd like to be able to provide RMA numbers for returns to help
offload the Patriot Donor Services and we would like to put a process
in place where we can get some of the returns sent to OLPC for

13. Localization: Sayamindu Dasgupta helped some language teams
troubleshoot their problems with Pootle. All throughout the week, he
was also testing the system to keep the POT files up to date. The
system seems to be working fine and will be rolling it out (along with
the documentation) during this weekend.

Sayamindu also gained access to build fontconfig for the OLPC in Koji
(thanks Dennis Gilmore), and created a build which should hopefully
fix Ticket #1525 (a long-standing bug due to the interaction between
the font cache and the system time).

Waqas Toor and Salman Minhas have lead a team in Pakistan to the
successful completion of an Urdu translation in Pootle
(https://dev.laptop.org/translate/ur/update1/); all the strings are
successfully committed and are ready to be included in Update.1. They
have also commenced working on making Zekr a Sugar activity (initially
in two languages: Urdu and Persian (Dari)).

They are also making poems for children by Pakistani national poets
Illama Iqbal and Faraz Ahmad Faraz available in the form of e-books;
and they are writing a teacher "training manual" for Afghanistan,
which includes activity tutorials; they are working on materials for
teachers that address their needs in the Constructionist methodology
of education and learning.

14. Kernel: Andres Salomon and Bernie Innocenti finally were able to
reproduce Ticket #2804 (the jumpy touchpad problem) and get enough
useful debug information out of it to deduce a working theory of
what's causing it and how we can workaround it in the kernel. Bernie
has built an experimental kernel with a candidate fix and is eager to
receive feedback from some of the jumpy mouse victims to see if our

15. Updates and builds: Scott Ananian gave olpc-update the ability to
upgrade from a USB key (Ticket #3881) (See
http://wiki.laptop.org/go/Olpc-update); olpc-update also now warns you
if you try to upgrade to a joyride build without a developer key
(Ticket #5309) and is more efficient if it is interrupted in the
middle of an update. OFW will now upgrade you to the latest firmware
even if you have a developer key (Ticket #5371); ntpdate is run on the
XOs when we get network connectivity (Ticket #3359); rtcwake is in the
build to enable timed wakeups from suspend (Tickets #5434 and #5435);
our builds now use sudo to get root?there has been some discussion of
configuring su instead (Ticekt #5537).

Dennis Gilmore has been working on builds and some tools to help make
them faster to turn around; he has also been tagging packages for

16. View source: The view-source key now works in Chat, Web, Pippy,
and any activities generated by Pippy (Tickets #4909, #5541, #5542).
Next up for Scott: Terminal (Ticket #5543), Gmail (Ticket #5544), and
Clock (Ticket #5545). Any application that can reasonable be written
as a single python source file is a good candidate for Pippy-ization,
which lets children view and customize the activity. This will
undoubtedly stress our handling of activity bundles in the Journal,
which arguably is a good spur in the side!

17. Wireless driver: Dave Woodhouse worked again on the libertas
wireless driver, a certain amount of sleeping and some frustration
that although he's fixed most of the known bugs in the driver, people
are still using some ancient kernel in their OS builds which is
entirely useless for testing purposes.

18. Etoys: Bert Freudenberg spent the first half of week in Kathmandu.
 He observed and helped the very active OLPC and Etoys communities in
Nepal. Yoshiki Ohshima continued on fixing bugs on trac. These patches
will show up in the Update.1 stream at some point. Yoshiki also is
working on the packaging for non-OLPC environment. Takashi Yamamiya
started prototyping a simple presentation tool. Ted Kaehler and
Korakurider are looking at the translation of QuickGuide contents.
Scott Wallace and Yoshiki worked together to provide a better way to
report runtime errors.

19. Scratch: Brian Silverman (by phone), John Maloney,and Mitchel
Resnick came by the OLPC office this week to demonstrate Scratch
running on an XO (See http://scratch.mit.edu/). While it hasn't been
wholy "Sugarized" yet, it is already quite usable. John will be
posting a bundle on the wiki for those who'd like to explore it (and
provide feedback) at this stage.

20. Open hardware management: Chris Ball is working on a particularly
entrenched yet subtle bug in OHM's timing code at the moment.
(Richard Hughes confirms that he's been seeing it on non-OLPC
platforms too, all the way back to the beginning of OHM.)

21. Presence/sharing: Morgan Collett helped with testing the
sugar-shell-consumes-all-memory issue (Ticket #5532). (Thanks to
Sjoerd Simons for providing the avahi invocations to fake buddies on
the mesh.) Morgan helped some community people with Jabber questions
on the forums. There has been confusion about why the
ship2.jabber.laptop.org server doesn't work: Robert McQueen spoke with
people on IRC who were interested in trying ejabberd and helping us
work out why it was failing so badly. (There is now a server at
xochat.org that can be used instead of the default at
ship2.jabber.laptop.org. See the Sugar control panel page in the wiki
for instructions on how to configure your Jabber server.) Robert has
updated the Ejabberd configuration pages on the wiki with some updated
patches and clearer instructions.

Dafydd Harries spent most of the week trying to set up OpenFire on
jabber.laptop.org. He managed to export the user database from
Ejabberd and import it to OpenFire, but laptops don't seem to be able
to connect to the server successfully. He'll be investigating why this
is the case and suspect some sort of problem with our client code.
OpenFire developers have been keen to help, however.

Morgan looked into the HippoCanvas bug (Ticket #2351) that is
affecting scrolling of multiline Chat messages; he hasn't found a fix
for it yet. XO users who are annoyed with this bug have resorted to
sharing Write as a primitive chat tool instead.

Morgan also cleaned up some wiki documentation referring to Tubes and
Presence Service; while more documentation is needed, most of the
existing documentation was out of date (predating Salut for instance).

All the bits for Chat copying URLs to the clipboard (Ticket #5080) to
launch in Browse finally landed and work fine, although now it seems
we may be able to do it more directly after all with the Rainbow work
done to address Ticket #4909.

And Morgan has been working on the unreliability of buddy icons
clustering around their shared activity (Ticket #5368); it is still
unclear whether the best place to make a fix is in Sugar or Presence
Service. The problem arises when CurrentActivityChanged occurs before
ActivitiesChanged, so the buddy icon moves before the activity is
known about.

Sjoerd Simons investigated why avahi under some circumstances marks
records as failed a bit too easily, causing the "contacts flashing"
bug. He discovered that the passive-observation-of-failures
implementation was a bit too sensitive and created a patch to make it
less sensitive. The patch needs further testing in a crowded RF
environment like the OLPC headquarters to see if it solves the issue.

Guillaume Desmottes continue to investigate the stream-tubes problem
with Rainbow. The Telepathy side should be fixed in Update.1. He start
to implement/design peer-to-peer connections for stream tubes in
Gabble (Ticket #4047) and improved Gabble-tubes test coverage.

22. Sugar: Reinier Heeres worked on fixing a Read sharing issue
(Ticket #5365), a Calculate internationalization issue (Ticket #5319)
and adding ellipsis to long texts in palettes (Ticket #4562). He also
wrote a simple script to copy a regular file to the datastore/journal
that got extended with quite a bit more functionality by Phil
Bordelon. He tested previous fixes in Joyride and Update-1 and tried
to understand the memory leaks the sugar shell was showing.

Simon Schampijer focused on the browser, testing and implemented a
"solution" for the browser permission issue described here (See
http://wiki.laptop.org/go/Concurrent_activity_instances). Actually we
don't think anymore that copying the profile around is a good thing to
do; we think we should run the browser outside the container for
Update.1 (Ticket #5489). Michael Stone send an email to the mozilla
devs to start discussion with them about a long term solution.

23. Trac: Noah Kantrowitz visited Friday and helped improve our trac
system, adding bug dependencies and sketching out better workflow
features that can now be implemented in it. He also made some great
suggestions for the Support/Help pages.

24. Documentation: Mako Hill and SJ Klein packaged together a new
version of the Getting Started Guide for inclusion in the library on
the laptop itself. (Walter Bender wrote a new stylesheet to fit the
pages in the XO.)

Walter Bender
One Laptop per Child

More information about the Sugar-devel mailing list