[sugar] OLPC News 2008-01-12

Walter Bender walter at laptop.org
Sat Jan 12 17:10:30 EST 2008


1. Mongolia is the first beneficiary of the Give One Get One program.
Laptops have begun to arrive and a team from OLPC, including Carla
Gomez Monroy, Jan Jungclaus, and Enkhmunkh Zurgaanjin are on the
ground to help with the initial deployment. Dave Woodhouse will be
heading to Ulan Bator to help with the School Server later this month.

2. Las Vegas: Nicholas Negroponte gave the keynote at CES' new program
entitled, "Technology and Emerging Countries: Advancing Development
through Technology Investments." He spoke about learning,
constructionism, and the long history of thinking about thinking,
drawing heavily on Seymour Papert's life work.

3. Cambridge: Walter also met with the X-Prize Foundation Founder and
Chairman Peter Diamandis. They discussed two competitions that are in
the planning stages: (1) development of a low-cost rural
water/power/communications station; and (2) development of a
high-impact global learning intervention. The incentive in both
competitions is a US $10M prize. OLPC has offered to help define the
goals and metrics for the prizes, as there is obvious synergy with our
mission in both cases.

4. Las Vegas: Michail Bletsas delivered the keynote address at the 5th
IEEE Consumer Communications and Networking Conference (CCNC); his
talk was about the XO's networking architecture.

5. In the news: Two topics dominated the press coverage of OLPC this
week: the Intel departure; and the Microsoft plans for the XO. The
Intel departure, which ultimately boiled down to a lack of trust, as
been discussed ad nauseum; Ivan Krstić blog provides a good overview
of the Microsoft plans from the OLPC perspective (Please visit
http://radian.org/notebook/paradox-of-choice).

6. Embedded controller: Richard Smith time working on the SCI mask
corruption problem (Ticket #5467). This was a critical bug because the
root cause was problems with the EC command implementation. Richard
thinks he has finally bested the gremlins: The original implementation
depended on interrupts that were being lost; as a result, the EC would
at best fail to process the data correctly and at worst completely
stop processing commands. The solution in this case is to eliminate
these interrupts altogether, as they are unnecessary. Richard
implemented a polling scheme instead; the code is passing all his
tests and is faster even in its currently unoptimized state. Faster is
good because the host issues lots of EC commands on the way into and
out of suspend, where every millisecond is critical. Richard is asking
that anyone interested in helping us test his solution to upgrade to a
firmware release Q2D08A (or higher).

7. Firmware: Mitch Bradley released Q2D08 firmware with a long list of
"fit and finish" improvements and minor bug fixes. Details can be
found in the wiki (See http://wiki.laptop.org/go/OLPC_Firmware_q2d08).

8. SD Card support: One nagging problem has been the performance of
the SD card on resume. Mitch took time this week to study the problem.
He determined that resume can be done in 25 to 200 mS, depending on
the card used. The mean value from a sample of seven different cards
was 70 mS.

9. Batteries: Some reports of batteries not charging are coming in
from the field. The bulk of the data reports (from olpc-logbat) are
almost identical: the XO declares the battery fully charged and quits
charging when its really not. Subsequently, when you use your laptop
on battery power, it shuts off with no warning, because the voltage
dips below the critical level but the capacity is still >15%. In some
cases, the shutdown is very quick (seconds) and in others the battery
gets enough charge to last between 10 and 20 minutes.

Richard made some additions to batman.fth that allow the user to reset
the percent-full field to back to "low", thus causing the EC code try
to recharge. One person with battery-charge problems has used this
utility: the data show the voltage on the battery jumping from low (5V
to 6V ) to >= 7.4V (the "full" threshold) in the span of 10 seconds.
Repeating the test three times showed one span where the battery
actually began to charge normally for a while, but then jumped to
full.  The EC code seems to be operating properly, but something is
causing the battery resistance to suddenly rise. This could be either
a battery problem or a manufacturing defect in the XO. Something as
simple as a bad connection in the charge path could cause this
behavior.

10. School Sserver: The school-server software platform is currently
being extended by John Watlington to support multiple servers, each
providing internet access to the mesh on all three wireless mesh
channels. A two-server system was manually configured at 1CC (and in
John's home, a much quieter wireless environment) and largely worked.
Its configuration has been automated; a new school-server build is in
early testing and will be released in the next few days.

The rush on this is the desire to provide access to a common library
to a trial of two schools in Mongolia this January, with upcoming
deployments elsewhere following as soon as we have Active Antennas in
volume. Each school of 500 children will have three servers providing
backup storage and access to a large (700 GB) local content library.
We shipped off six servers (the lowest end SOHO server from a leading
PC manufacturer) to the trials this week after reconfiguring them in
Cambridge. Additional machines are being acquired locally and will be
tested.

The latest version of ejabberd (2.0) has been successfully packaged by
Collabora, configured and integrated into a school server build, and
is now being tested. The configuration still requires manual
intervention and scalability and stability are serious-enough concerns
that we continue to explore alternatives.

11. Testing: Chih-yu Chao worked on testing various builds (Joyride
1489 and 1520, and Update.1 681). This included some localization
testing, one-hour smoke tests, and content bundles (both activities
and library). She also spent some time becoming familiar with school
server and created test cases for suspend/resume. Kim Quirk spent some
time in localization, keyboard testing, and upgrade testing for the
Ship2.2 Build 656. Remember to keep an eye on Test Group Release Notes
page in the wiki for information on the latest releases
(http://wiki.laptop.org/go/Test_Group_Release_Notes).

12. Wireless testing: We are currently testing Build 674 with wireless
firmware 5.110.22.p1. Build 674 has all the latest wireless driver
modifications from David Woodhouse, which seems to improve stability
and performance. The only obvious issue with Build 674 is the
inability to associate with WEP-encrypted access points the Sugar user
interface (we can make connections from the command line). Wireless
firmware 5.110.22.p1 fixes a rare wireless hang that happens when a
link loss condition occurs while the radio is scanning and also
rearranges the relative  priorities of the internal firmware threads.
Thanks to the team at Marvell Pune and Ricardo Carrano for all the
hard work.

13. Support: Adam Holt and the team of many support volunteers
continue to improve systems and documentation. And they continue to
make progress with the phone bank system. There are regular Sunday
afternoon 4PM (EST) calls—if you are interested in joining, please get
in touch with Adam for the details (holt at laptop.org).

Adam organized another very successful support meeting last Sunday;
24 people showed up (See http://wiki.laptop.org/go/Support_meetings).

Participation by guest developers drive the enthusiasm at the
meetings. Thanks to Kim Quirk, Arjun Sarwal, and Bernie Innocenti for
their participation. By the end of week, our Support list now contains
51 subscribers. Support volunteer Frank Barcenas, who is based in
Lima, Peru started only four days ago and is doing a great job, even
without an XO!

Adam also recruited likely volunteers for documentation and QA. Felice
Gardner and SJ Klein have been helping here. Professor Lee Tesdell at
Minnesota State Univ will likely work with us and his entire class
improving documentation of particular topics. Similarly, Adam helped
Arjun engage with science teachers and curriculum developers to
develop further interest in the Measure activity.

Adam also resolved troubling tickets by phone, calling donors
directly—he focused on especially confused donors who either require
RMAs or were accidentally block our incoming emails.

Adam has been helping to navigate through our parts/repair story,
towards setting up perhaps 10 volunteer-driven repair centers around
the USA and Canada—a model that could be replicated elsewhere.

Finally, Adam continues to work with Matthew O'Gorman and Joe Phigan
on a phone server. Matthew should have the voice prompts recorded
ASAP, so we can begin training volunteers.

14. Sugar medley: Tomeu Vizoso worked on fixing bugs this week in
anticipation of the Update.1 release. He focused on the Sugar shell,
the Journal, the datastore, and Read activity. Almost all of his
patches  have already been tested in the Joyride builds and will
pushed into an Update.1 build soon.

Reinier Heeres has written a patch to improve the palette positioning
logic so that palettes don't end up outside the visible screen (Ticket
#5944) and he has included support for ellipsis ('...') in long lines
(Ticket #4562). Finally a new version of evince was built to reduce
the memory usage for pdf files with images and a patch by Tomeu was
included to make the fit-to-width button work.

Marco Pesenti Gritti tracked down the problem with the Turkish locale
that was causing crashes at system startup. He's pushed a work around
in the builds. A numpy hacker helped to track down the real cause, it
looks like problem in pygtk or Python. Marco worked with Reinier on
the palette positioning problem and together they landed multiple
fixes. Marco built xulrunner 1.9 beta2. We are going to test it and
see if it's stable enough to go in Update.1. He reviewed numerous
patches from Simon Schampijer, Reinier and Tomeu. [These guys rock.]
There was lots of bug triaging to ensure fixes for the most urgent
problems land in the build as soon as possible. We've been testing all
the changes in Joyride to avoid regressions. Altogether, we have
managed to cut down the list of Sugar core bugs, especially the
blockers. And in the spirit of "if you want something done, find a
busy person", Marco took over gtkmozembed maintenance upstream, to
ensure we will have a sane API to migrate to when xpcom is deprecated
in Mozilla 3.0.

15. Software Medley: Chris Ball is working on the last power
management feature for Update.1—a logfile to record information about
how often and why we suspend/resume, together with battery status
information. Getting this log back from the field will help turn the
current set of timeouts into something more principled, and will give
Richard Smith useful power data as well.

Andres Salomon worked on the touchpad driver and Debian packaging of
some OLPC packages.

Bernie Innocenti mostly worked on bug squashing for Update.1.
Specifically, the pen-tablet not working, permission problems in
/home/olpc, and providing automatic login in the console so that we
can finally disable the root and olpc passwords. Bernie also helped SJ
with the hard drive images for Mongolia, and Arjun with the Measure
activity redesign. He and Walter debugged console keymaps for Spanish
and Portuguese and Albert Cahalan contributed a nice console font that
we may try to integrate.

As a pet project, Bernie started to port an "oldskool" activity called
SoundTracker to the laptop.  He is in touch with the original authors
for help.

David Woodhouse looked at the unionfs patches which are making their
way upstream and likely to land in 2.6.25. Will probably land these in
the Fedora kernel some time soon and play with them some more. They
work without any changes to the underlying file systems, which means
that whiteouts (where the "upper" layers of the filesystem actively
remove an object that exists in a "lower" layer) are a bit of a hack.
But that can be fixed. The design goal of requiring nothing special
from the filesystem makes sense and we can do it nicely; it just
hasn't been done yet.

Dave reluctantly reduced the log level at which the (mostly harmless)
CRC failure messages are printed by JFFS2. Need to introduce a new
"root-only" write threshold and expose all the thresholds through
sysfs.

The short-term fix Dave made for SD seems like it might be helpful,
according to Tomeu's comment in Ticket #4013. The device goes away and
then a 'new' device comes back on suspend/resume. It doesn't help if
you're running with your rootfs on the device, or if you have an open
file on it while you suspend, but it looks like it does help a lot of
use cases. We'll need to work with Marvell to figure out the delays in
card detection on resume. They claim it doesn't take as long as our
measurements show.

16. Build system: Reinier has been working on a new build announcer
script in Python (http://dev.laptop.org/~rwh/announcer). As an
improvement over Bert Freudenberg's script, it can collect ChangeLog
entries from package versions that have not appeared in a build, and
gets ChangeLogs for rpms directly from Koji. Dennis Gilmore spent most
the week syncing Joyride and Update.1, trying to chase up  missing
SRPMS and make sure things are getting better. He also spent time
talking to people at Fudcon about OLPC; there were quite a few
Give-One-Get-One participants showing real interest in the XO. Dennis
will be doing a session on the XO over the weekend.

Early in the week, Jim Gettys was spooked by some build problems we
were having: we had later packages in Update.1 than Joyride, something
that should never occur. Dennis tracked this down to a mistagging. We
are now getting very close to having a build together, built
consistently and reproducibly, that is close enough to Update.1 to
start serious testing.

17. Presence service: Guillaume Desmottes designed a proposal of
Jingle protocol for transport re-negotation, needed for OOB support in
Gabble (See http://telepathy.freedesktop.org/wiki/Jingle-renegotiation).
He started to implement hyperactivity, a collaboration stress-testing
tool (Ticket #5817).

Morgan Collett landed the fix for the presence service bug that
prevented buddies from clustering around their shared activity due to
signals firing in the wrong order (Ticket #5368); the patch exposed a
UI issue in Sugar "snowflake" layout where the first buddy moved into
the activity appears next to it, but subsequent buddies simply vanish
off mesh view; they reappear when they leave the activity (Ticket
#5904). Morgan also worked on a couple of other presence-server
issues: blank names in mesh view and hex-key names in mesh view.

18. Localization: Sayamindu Dasgupta set up a Pootle project for
Etoys, so that volunteers translators working on the various
activities and Sugar can also work on Etoys as well. He added the
memorize activity in Pootle, so that it can be translated by the
volunteers. He fixed a problem which was preventing the Spanish
translations from showing up in Pippy. (ticket #5504) And he helped
set up translation teams for Bengali (India), Catalan, and Polish.

Localization into Pashto and Dari languages continues to advance. Dr.
Habib Khan reports that his team has engaged Afghan graduate students
of International Islamic University, in the localization endeavors.
They have initiated this project with great enthusiasm but their end
of semester examination have started and will end on January 20, so
our hopes for early completion does not seem to be on schedule.

Arjun Sarwal and Bernie tested the Devanagari keyboard with the Lohit
Hindi fonts. The keyboard and font rendering both seem to be working
well. The Lohit Hindi Fonts package is expected to go into Update.1

19. Wireless driver: Dave Woodhouse did some more work on the libertas
driver, but he is letting the earlier batch of patches land and the
dust settle before he starts again on that in earnest. It is mostly
cleanups to be done now—the real fixes and the "dangerous" stuff are
mostly behind us. Dave wants to investigate the suspend/resume
behavior—that was working OK in his testing but we've seen two bug
reports that cause him to suspect the driver might be getting it
wrong.

Dave is also trying to get up to speed on school server stuff to fully
understand what to expect when he gets to Mongolia next week (other
than -20°C).

20. Rainbow: Michael Stone closed many bugs and contributed many
patches. Along with Bernie, Phil, Simon, and Marco, we have now
provided or improved proposed fixes or work-arounds for all of the
known serious issues with Rainbow for Update.1 including:

• the 'rainbow spool persistence bug' (Ticket #5033);
• the 'SSL failure bug' (Ticket #5489);
• the 'orphaned files bug' (Ticket #5637);
• the 'uid reclamation bug' (Ticket #2527);
• the '/home/olpc permissions bug' (Ticket #5320); and
• the 'sudo vs. su bug' (Ticket #5537).

Michael also assisted Phil Bordelon with the 'orphaned previews bug'
(Ticket #5929) and he offered Daniel and Chih-yu an overview of our
implementation of activity isolation so that we can begin to construct
a test plan for the isolation features scheduled for Update.1.
Finally, Michael assisted Sjoerd, Ben, and Erik in their debugging
efforts.

Marcus Leech's (Nortel) contributions to our efforts have also been invaluable.

21. Activities: Joshua Minor made a new activity called Speak. It is a
"talking face" for the XO laptop. Anything you type will be spoken
aloud using the XO's speech synthesizer, espeak. You can adjust the
accent, rate and pitch of the voice as well as the shape of the eyes
and mouth. This is a fun way to experiment with the speech
synthesizer, learn to type or just have fun making a funny face for
your XO. Please see http://wiki.laptop.org/go/Speak for details. (Josh
sends thanks to Arjun Sarwal, Hemant Goyal and Bernardo Innocenti for
their help.)

Arjun Sarwal continues to improve the Measure activity. He is working
towards making the code scalable (so that it is easy to add more
graphs, more views, etc.). The mix of having a large drawing area and
a lot of real-time processing of data, combined with the goal of a
fast response time is a challenging (and interesting) balance of
experimentation and optimization.

The Measure page in the wiki (http://wiki.laptop.org/go/Measure) now
incorporates easy to follow instructions to build one's own low cost
probe for connecting sensors to the XO. The "flavor of the month" of
Measure Learning activities is "Temperature." Arjun encourages
educators / teachers / enthusiasts to try building their own low-cost
temperature sensing probe by following the directions given on the
page and get in touch (arjun AT laptop.org) in case of any problems.

In a related effort, Arjun is interested in organizing an OLPC-Health
interest group. All interested in participating towards developing
medical and health applications around the XO should join the
"Library" mailing list and add their names to the volunteers section
of the Health wiki page (http://wiki.laptop.org/go/Health).
Participation is invited from all: hardware developers, programmers,
doctors, biologists, etc. A conference call is planned for the last
week of January.

22. E-books: Dr. Khan reports progress on converting all the text
books written on curriculum of the Federal Ministry of Education,
Islamabad into e-books. The following text books of Federal Ministry
of Education for Grade I for use in English and Urdu mediums of
instruction are complete:

• My English Reader for Grade I
• Islamic Studies (Shaoor-e-Islamyat) Grade I
• Social Studies for Grade I
• Science for Grade I

These text books are now waiting a review by the Department of
Education, IIU. After incorporating the suggestion we will make them
available on XO library.

23. Curriki: Lauren Klein and SJ Klein started working with Joshua
Marks and the group-development team at Curriki to design a space and
interfaces for OLPC collections on their site. Joshua is rolling out a
"groups" feature that will allow custom design of individual portals
within the next week that will make implementing a "compile for XO"
button and an OLPC start page easier.

-walter


-- 
Walter Bender
One Laptop per Child
http://laptop.org


More information about the Sugar mailing list