[sugar] OLPC News 2007-12-15
Sat Dec 15 11:39:48 EST 2007
1. Kuala Lumpur: Matt Keller attended the Global Knowledge Conference
this past week; the conference brought together over 2000 people from
around the world. Matt was part of a BBC World debate on technology
and the developing world generally, and the XO specifically. While
most of the panelists were somewhat critical of olpc and OLPC, the
audience was very much in favor. The debate will be broadcast on BBC
World on five different occasions in January.
2. Montevideo: Michail Bletsas attended a technical meeting organized
by LATU to discuss the technical requirements for the connectivity
infrastructure of the schools in the Colonia and Durazno districts:
the next (after Florida) to get XO laptops after school commences
again in March. The main purpose of the meeting was to discuss the
main requirements of the RFP that is going to be issued in the next
few days. Michail also spent several hours at LATU discussing
connectivity details with the Ceibal team and left Uruguay impressed
with both the enthusiasm of the people involved in the project as well
as their accomplishments.
3. Cambridge: The learning team (Carla Gomez Munroy, Ed Baafi, Julian
Daily, Mel King, and David Cavallo) conducted the second monthly
workshop for countries. Attending were teams from Mongolia, Panama,
the city of Birmingham, Alabama, the US State Department for schools
in Iraq, and Calestus Juma as both a contributor and looking towards
Kenya and East Africa. The week went extremely well and most
encouraging is how participants are turning themselves into a strong
network for advancing learning in their countries. Special thanks also
to Erik Blankinship, Bakhtiar Mikhak, Ben Schwartz, and Shannon
Sullivan for demoing their activities on the XO during an afternoon
open house. The youth from the Learn to Teach: Teach to Learn program
working with Ed and Mel once again presented their work and
convincingly demonstrated the tremendous benefits for both the
"teachers" and "learners" when kids teach other kids.
4. Schedules: We did not quite get to code freeze today and will need
a few more days to get the most important bugs fixed for the Update1
release. (As Jim Gettys pointed out, the Update.1 release is driven by
completion of content, rather than driven by necessity of hardware
schedules.) We will start creating candidate releases next week.
Please see http://dev.laptop.org/roadmap for the list of bugs being
addressed and to look ahead to what we would like to go into Update.2.
Testing should be on-going on the Update.1 (stabilizing for release in
mid-January) and Joyride streams (mainline, features/fixes for
There is a discussion on the devel list about how to improve the build
process. Please feel free to make additional suggestions: we want to
the process to be more efficient for everyone.
5. Support Issues: A problem was found in Uruguay where where laptops
were losing the ability to display their Journal contents and launch
activities. Ivan Krsti? did some heroic emergency debugging, created a
patch, and helped them to distribute a fix to all the students before
they were released for their summer vacation. There was also a problem
found in manufacturing where Spanish language laptops were booting up
in English. These two fixes, along with support for WPA were combined
into a patch release, Ship2-653, that should be available for
manufacturing early next week and to the general public soon
thereafter. People interested in testing this patch can download the
signed version (See http://download.laptop.org/xo-1/os/official/653/).
The first G1G1 recipients have started receiving laptops this week.
That means the calls, emails, IRC questions, and new community members
are beginning to show up all over. This week Adam Holt set up these
two Support wiki pages: http://wiki.laptop.org/go/Support and
http://wiki.laptop.org/go/Support_FAQ, which is a good launching point
for FAQs, as well as community-supported email, portals, and IRC. He
also set up mail at laptop.org and has begun the task of answering many
6. Documentation: We have a number of new pages on laptop.org geared
towards helping introduce the laptop to new users (Please see
http://laptop.org/start). These pages will evolve (and hopefully
improve) over the next few weeks as we get a better sense of the types
of questions people are asking from the field?we've deployed more
laptops in the past few weeks than in the entirety of our beta
programs, so we expect a lot of valuable feedback in the coming days.
Your feedback on these pages would also be greatly appreciated: please
send email to walter AT laptop.org. The plan is to make these "getting
started" pages available for translation in Pootle over the next week
or so. Note that the page devoted to describing the activities
(http://laptop.org/en/laptop/start/activities.shtml) directs people to
the individual activity pages in the wiki, e.g.,
wiki.laptop.org/go/Journal. Please help us tidy up those pages as
7. Testing: Yani Galanis updated versions of olpc-netstatus to provide
information on build versions, firmware, net status, etc. and
olpc-netlog to capture all possible logs, such as dmesg, messages,
.sugar/default/logs (and the output of several commands). These
debugging utilities should get into Update1. Yani also spent time
investigating a bug in Avahi that results in XOs coming and going in
the mesh neighborhood view (flashing in and out). Ricardo Carrano,
Yani Galanis, and Adam Holt also joined SJ Klein for some
collaborative activity testing with a group of students.
This was Alex Latham's last day as an intern at OLPC. He spent the
week documenting everything he could, as well as testing joyride,
Update1 and Ship2 builds. Much of his work can be found in the wiki
(Please see http://wiki.laptop.org/go/Test_Config_Notes and
http://wiki.laptop.org/go/Upgrade_Paths) as well as many contributions
to test plans, including our One Hour Smoke Test. Many thanks for all
your contributions, Alex!
8. Sugar: Tomeu Vizoso profiled activity startup time and memory
usage. He is optimistic that we can improve significantly what we have
today with small risk and effort.
Simon Schampijer became a Fedora developer this week and build with
Marco's help his first xulrunner package this week. We are considering
this for Update.1. The ticket which references this is #5041. This can
be tested in Joyride > 1421.
This new package contains a reworked theme patch from Marco which
fixes the "hatched browser scroll bar" bug (Ticket #5397) and the "not
highlighted entries in drop down menus" bug (Ticket #5398). He applied
a patch that came from upstream as well against a Pango error; the
patch fixes the crashing of Browse by accessing the BofA page (Ticket
#5410). Simon is quite confident due to testing that the "missing
cursor in browser rich-text fields" bug (Ticket #5340) is fixed with
the latest xulrunner version as well. Simon, Marco and Michael had
some deeper discussions about how to solve the permissions problem of
the browser profile (Ticket #5476). Another little fix was the correct
advertising of the browser (Ticket #5269).
Reinier Heeres landed the new Evince version in Joyride and updated
Read to work with that version. Beside that there was more work on
Sugar: a patch to upgrade activities, a patch to scale emblems, some
minor layout bugs and a way to request the Journal to pop-up with a
Datastore object. This could lead to a way for applications to start
other applications or view source?through the trusted Journal.
Scott Ananian worked on numerous Pippy enhancements, the most
intriguing being that Pippy can now create activity bundles, so you
can run your pippy programs as stand-alone applications. Scott
improved the built-in "Thanks" example so that it runs quite nicely
stand-alone. Also, Scott reports that Pippy is now a Pippy
application! That's right, you can load the pippy source code in
Pippy, edit it, and create the Pippy application within Pippy.
In progress: proper support for the "view source" key. This stalled a
little bit pending resolution of Ticket #4909, but Scott thinks we've
got a workable solution in hand. View source on an activity generated
by Pippy should launch Pippy with the activity's source code; pressing
view source again will land you in Pippy editing Pippy's source code!
In anticipation, Scott has a very simple ten-line rewrite of our
Terminal activity; using this would have the benefit of making "view
source"in Terminal do something reasonable. Any existing activity
that can reasonably be represented in a single source file is a
candidate for Pippy-ization! Let Scott or Chris Ball know if you've
got suitable candidates.
Scott also created a library of Pippy examples suitable for learning
Python programming (See
are based on the BASIC examples in the Commodore 64 manual
(http://www.lemon64.com/manual/). Help is wanted with sound examples:
we should be able to write a Pippy "standard library" that makes it
easy to write simple "play a song" examples using the csound engine
(see Chapter 8 in the C64 manual).
9. Presence: Robert McQueen spent some time making patches to ejabberd
to reduce the server load as the developers suggested over-long
rosters (the 7000-strong "Everyone") were causing the out of memory
crashes we were experiencing (causes of Ticket #5313). The first patch
made a "Recent" group, which took the last seven-days worth of users
(roughly 1500), and the second made an "Online" group, which just
tracks those users who were online (100?150 or so), reducing server
load significantly, and paving the way for the desired "Nearby" and
"Random" groups as outlined in Ticket #5311.
Both patches seemed to significantly aid stability, such that it is
now better than ever before: we reached 150 online users on the
server. We managed to hit some file-descriptor limits that needed
tweaking upwards and we seem to sporadically hit out-of-memory errors
that have as yet no explanation. This load is still short of the
"large school" scalability target we have in mind for Update.1.
We are going to try Openfire on jabber.laptop.org this weekend as an
alternative to ejabberd.
Dafydd Harries worked on Jabber server component and made RPM builds
and herded bugs.
Guillaume Desmottes reported ejabberd bug about default PEP node
policy (See https://support.process-one.net/browse/EJAB-453); he
report edOpenFire and Ejabberd bugs about publishing options not
implemented (http://www.igniterealtime.org/community/thread/30566) and
(https://support.process-one.net/browse/EJAB-458); he tracked "stream
tube broken because of Rainbow" (Tickets #5442, #5445, and #5446); he
continued to implement new XMPP protocol in Gabble; and he updated
sugar-jhbuild moduleset to use exactly the same Salut/Gabble code as
in Joyride, including patches (needed to fix a jhbuild upstream
bug?thanks to Fr?d?ric Peters for his patch).
Sjoerd Simons helped Morgan Collett analyze an issue with activities
not working on Salut caused by a problem which causes the wireless
card to stops sending out multicast traffic (Ticket #5432). The root
cause is still unknown. Sjoerd cleaned up his patch to dissect the
Clique RM protocol in Wireshark and sent it upstream. With some luck
the next version of Wireshark will thus be able to dissect our
reliable multicast protocol.
Morgan Collet has been extending the (See
http://wiki.laptop.org/go/Tubes_Tutorial) by documenting the D-Bus
Tubes example in HelloMesh and will continue to work on it. He has
started documentation for Presence Service which he will update on the
wiki soon. All the outstanding Presence Service patches have been
approved and landed in Update.1. Morgan has also continued to educate
G1G1 recipients on the lack of a single Jabber server that can handle
100s of thousands of them: we are hoping that people will point to
local Jabber servers that are set up for communities and special
interest groups (See
10. Pootle: Sayamindo Dasgupta created an Update.1 project in Pootle
to track modules for new Update.1 branch. The older Update.1 (Core)
project has been renamed to Ship.2 (following the GIT branch
renaming). Developers who have a Update.1 branch in GIT can inform us
(via filing a ticket or by mailing localization at lists.laptop.org), so
that we can add their module in the Update.1 project. The following
modules are covered by the Update.1 project at the moment:
? Journal activity
? Record Activity
? Browse Activity
The following languages have more than 90% of these module translated:
? Urdu (100%)
? Portuguese (100%)
? Chinese (Taiwan) (100%)
? French (97%)
? Dutch (96%)
? German (95%)
? Greek (91%)
(These statistics are available online from
11. Kernel: Andres Salomon synced up the master and stable kernel
trees, which, as a side effect, fixed the debian kernel autobuilder
that had been broken for the past six months (See
http://queued.mit.edu/~dilinger/builds-master/). Andres also pulled
Dave Woodhouse's latest libertas work into stable. The Libertas code
is in a lot of flux right now (and is by no means finished), so
reports of regressions are highly appreciated.
Andres poked at LXFB code, worked on and discussed EC issues
(Ticket-#1835 related) with Richard Smith. There is also talk of EC
SCI mask read corruption, so he made a few changes that should both
work around it, and report a warning/backtrace when it is seen (and
hey, if you see it, report it!) Finally, there was work on a sysfs
knob to dump battery EEPROM contents, and reworking the upstream
12. Open hardware manager: Chris Ball turned on idleness detection in
OHM and also allowed OHM to suspend automatically while an AC adapter
is plugged in. If DC input to the laptop is a solar panel, a battery,
or other off grid source, conserving power is as important as when the
laptop is running from its internal battery. Conservation is generally
a good idea under all circumstances.
13. Libertas: Dave Woodhouse worked on the Libertas wireless driver:
25 files changed, 3143 insertions(+), 3288 deletions(?). 107 commits
so far, of which 11 have 'kill' in the title. The Libertas driver
upstream is a whole lot saner, and has been backported into our stable
14. Build system: Dennis Gilmore spent the week working on Update.1
builds and yesterday on a Ship.2 build. He got
libertas-usb8388-firmware into Fedora and added a sanity check in the
build process that verifies the md5sum of the firmware image.
Dennis worked on pyevent, gave Ivan Krsti? RPMS to enable him to do
his work, and patched it to be built on all platforms; the next step
is to reopen the Fedora review on pyevent and get it into Fedora.
Scott finally installed pilgrim.laptop.org, starting the long and
arduous process of moving our builds off xs-dev.laptop.org.
Bernie Innocenti worked with Dennis on consolidating our Xorg packages
for Joyride and Update.1, including the drivers for QEMU and VMware.
Moreover, they analyzed a failure in our build system that seems to be
triggered by recent olpc-utils packages, but so far we found nothing
Bernie has been working on fixing a nasty localization bug that would
make Ship.2 machines autoconfigure in English regardless of what the
manufacturing data said. They had it working in Joyride for some time,
but the fix did not make it to Ship.2, and his first attempt at a
backport caused even more breakage.
On the R&D front, Bernie and Dennis started looking at how we could
improve our boot time, or at least bring some useful interface up
while the user is waiting. Some eyebrows may rise hearing that we can
easily start the X server in a few seconds, with absolutely no
prerequisites other than mounted /proc and /sys and a few device nodes
in /dev. So we are confident we can enhance our pretty boot graphics
with a fluid Cairo animation that Carl Worth contributed.
Additionally, we could try to start Sugar very early, before
NetworkManager and other services are up and running. It may require
some bug fixing around, so it's not material for an upcoming release.
15. Updates: Scott Ananian released olpc-update 1.9, which avoids
wasting work if it is interrupted and resumed later, and also properly
warns the user if they try to update to an unsigned build on a locked
machine. He properly fixed Ticket #5197, which could cause machines to
crash if interrupted during first boot (olpcrd-0.37). He pestered Dave
Woodhouse enough that he gave him a new mkjffs2 for a better fix for
5197 (Ticket #5174). And he worked out more details of an automated
test framework for XO builds with Michael Stone and others.
16. Security: Michael Stone learned (and reported) many things about
encryption export control (Ticket #5346)?community coordination on
this issue is a must; he discussed the Mozilla permissions stuff with
Marco and Simon (Ticket #5489); he helped Erik Blankinship correct
Record's permissions-violations (Ticket #5448); he verified that
causing rainbow-daemon to request utf8-encoded strings fixes the bug
that prevented us from launching activities whose names contained
non-ASCII characters (Ticket #5013); and he suggested implementation
proposals for the "view-source" feature (Tickets #4909 and #5475).
17. Etoys: Scott Wallace and Yoshiki Ohshima fixed dozens of isolated
bugs reported on trac. Ted Kaehler and Kathleen Harness experimented
with a static web version of Etoys Quick Guides (Please see
http://tinlizzie.org/olpc/QG-web/). Takashi Yamamiya fixed a bug in
OggPlugin for Squeak. Yoshiki wrote up a "little wiki page" for
Smalltalk programming on XO (Please see
Bert Freudenberg is in Kathmanzu give some local Nepali groups a
deeper understanding of Squeak and Etoys. They are using Squeak to
develop learning activities for the XO even before they have machines.
Bert is participating in an Etoys Workshop today at Kathmandu Prime
College. Students and adults are having great fun implementing a car
racing game in Etoys. Bert is also experimenting with the new
Devanagari rendering engine (with a Squeak-Cairo-Pango interface) that
he and Yoshiki developed.
18. Mplayer: Reynaldo Verdejo and Eduardo Silva have been working on
getting full screen decoding of video/audio with MPlayer on the XO; so
far they have succeeded using the most used codecs/formats as a test
case. They are working on an activity bundle to let anyone try this
One Laptop per Child
More information about the Sugar-devel