OLPC:News/Archive 2: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
m (spelling)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Q3 =
'' from [http://wiki.laptop.org/index.php?title=OLPC:News&action=history]


= Q2 =
= Q2 =


== 2007-06-30 ==
1. Washington: Walter Bender had to dust off his tuxedo in order to receive the Bridging Nations “Bridge Builder Award: Technological Innovation for Bridging Digital Divide” on behalf of OLPC.

2. Porto Alegre: Juliano Bittencourt reports that UFRGS (Federal University of Rio Grande do Sul) held a small conference, INOVA, to share the best research from the university with the local community. As they did at the International Free Software Conference (FISL), researchers from the university brought a group of children to conference to share their experiences with the use of the XO. The children stole the spotlight: “it was very satisfying to see how they talked with people, how they became autonomous, and were very proud of their projects. They behave like small scientists, making interviews with their laptop using the camera, taking notes in the Write Activity, and posting reports to their blogs on AMADIS.”

3. Green: Mary Lou Jepsen has completed all paper work for environmental compliance with EPEAT, the organization that implements the IEEE 1680-2006 computer environmental standard. OLPC’s EPEAT “Gold” status is now pending. Mary Lou has a draft version available of our ISO14001-compliant OLPC environmental policy, which is required for EPEAT compliance. In addition, OLPC has joined and filed for Energy Star 4.0 recognition; the XO exceeds the Energy Star compliance requirements by 14-fold.

4. Safety: OLPC, Quanta, and UL met this week to discuss progress on safety testing. Preliminary findings are excellent; further details of testing were discussed, including specific in-country requirements. The XO appears to be on track for UL certification; further testing of batteries and AC adaptors is planned. UL will help us apply for CE markings to allow us to ship in Europe.

5. Trial-2: Tuesday marked the feature-freeze date for the Trial-2 software release. We have begun testing of the software release (See [[Test issues]]); there are test plans for activities, connectivity, performance, mesh view, suspend/resume, and updates. Thanks to Zack Cerza, John Fuhrer, Cameron Meadors, and Ronak Chockshi, who have contributed to these plans.

6. Network: The Collabora team continued work on the peer-to-peer networking pieces that will allow Sugar Activity authors to readily share data between their activities; the focus has been on “tubes” and multicast support for the mesh. Dan Williams helped debug direct XO-to-XO communications and plowed through more network manager (NM) issues. Dan, along with Kim Quirk, John Watlington, Scott Ananian, and Michail Bletsas continue to refine NM as we realize more functionality and stability in our network drivers and get more feedback from internal testing and the field.

Michail tested the latest wireless firmware from Marvell (5.110.16.p0). It solves the issues with lazy-WDS access points (like the extremely popular Linksys WRT54G). This is the issue where XOs associated with a WiFi access point will stop passing traffic intermittently for which we had a temporary (ugly) workaround in place. The current firmware, besides having the latest suspend/resume code bits, uses a new mesh frame format that is closer to the latest proposals circulating in the 802.11s standard committee. Unfortunately, the new format is incompatible with the older format; we will incorporate the new firmware in the XO builds and server software ASAP to minimize confusion.

7. User interface: Marco Gritti hooked up Sugar and the core Activities into the Fedora translations system and has already integrated a community-contributed Arabic translation.

Marco and Benjamin Berg continue to refine the GTK (GIMP Toolkit) themes in conjunction with the design work being done by Eben Eliason and the Pentagram team. They also revisited the Journal core feature set that will be part of the first release software. Tomeu Vizoso continued his work on the web browser. He implemented an “object-chooser dialog” that is used in place of the standard file picker for the browser; items can now be uploaded from the Journal to the web. Tomeu also add the ability to shut down the XO from the home view (the power button will be used for suspend). In the Journal, he also implemented the latest toolbar design, added the ability to erase items, copy items onto the clipboard, and support for removable storage devices (e.g., USB sticks).

Dan, Marco, and John Palmieri also did packaging work in support of the Fedore Core 7 update. Dan also worked on some unresolved X video (Xv) bugs.

8. Power management: Richard Hughes worked on the XO’s power management interfaces. He reports that our hardware abstraction layer detects and exports proper power supply interfaces, which means Activities have an easy way of querying the battery and the AC adapter. His patches should land soon. Richard also worked on D-Bus system activation; important in order to start system services through a standardized interface. He has a policy manager (OHM) running on the laptop that will do things such as dim the backlight when the machine is idle and turn off the panel when the lid on the XO is shut.

9. Software updates: Scott Ananian, Ivan Krstić, Chris Blizzard, David Woodhouse, and Alex Larsson engaged in a (somewhat heated) discussion of the XO upgrade model; a concrete specification will be the outcome.

Meanwhile Alex spent the week working on the “Updatinator” code. His utilities that can generate manifests, generating differences between manifests, verify a directory tree against a manifest, and upgrade a directory tree from one manifest to another. He also has a tool that can generate a manifest from a set of images. His code, written in Python, knows how to download blobs and manifests from a http server, using a well-defined format and uses Avahi to automatically find local machines that have newer versions of a manifest. He also put together a small web server that an XO can run in order to export an image such that other laptops can upgrade from it.

Chris Ball has written a script that performs a backup of user data during upgrades; we can start using it next week. Scott benchmarked XO upgrades between Builds 464, 465, and 466 using rsync, “improved” rsync, and “improved” bittorrent. (He wrote code to use per-directory manifests to improve rsync and added the ability to bittorrent filesystem images, complete with user/group/mode and special file information.) He also started implementing a skeleton XO upgrade system that we can use to automate our 100+ laptop mesh-network tests in the coming weeks.

10. Microphone: Chris Ball reports that the audio driver now keeps the microphone-in-use LED off while the audio hardware is not being used. There is still a bug remaining: the LED turns on during both recording and playback (because the default state of the driver is to have the V_Ref microphone bias turned on).

11. Fun and games: Lincoln Quirk has been working on infrastructure stuff and the pygame wrapper. He has been experimenting with various techniques for integration of GTK and pygame; he also did some preliminary work with Eric Nelson to use the camera as a game input device. It still in process, but the wrapper supports the game keys properly. Lincoln also done a lot of documentation work in the OLPC wiki.

Roberto Faga has been working on an adventure game toolkit; he has been tackling the challenging problem of creating a simple generic parser that can cope with different noun/verb/object word orders in different languages. At the same time, he's trying to construct a user interface (UI) that would allow the creation of these games in a purely graphical model.

Patrick DeJarnette's side-scrolling game engine got a lot faster this week, and now has semi-intelligent moving “enemies.” It should be a lot of fun for the children to design their own game levels.

12. Analog input: Arjun Sarwal has created a basic UI for turning the XO into an oscilloscope. He has built controls for AC/DC, bias, RMS AVG, and Pk-Pk values. He is working with John Watlington to characterize the frequency characteristics of the AD1888 and they are working towards enabling the double sample rate that this chip supports. They are also studying the filter in the power supply, with the goal to reduce the noise floor. Another target is to bring down to 0V the minimum voltage that the analog input port can sample (the current minimum is 0.4V).


== 2007-06-24 ==

1. Shanghai: Mary Lou Jepsen, John Watlington, Richard Smith, and David Woodhouse joined the extensive team from Quanta in Shanghai for the B4 build. 2000 laptops are scheduled to be built by the end of Monday, more than half are already built. Things went so well that the build was started early, leaving the OLPC team ample time to work other components of the OLPC ecosystem: school server, multi-battery charger, active antennae, and WiFi repeaters. The B4 yield (so far) is approximately 99%—up substantially from previous builds. Improvements in B4 include: texture on the upper handle bar; increased hinge tilt; elimination of the hinge “squeak”; rabbit ears that click into place when put into the down position; elimination of a slight camera vignetting by the bezel; minor modifications to the motherboard; etc.

2. EC: Richard Smith and David Woodhouse have moved the kernel battery driver over to new embedded controller (EC) protocol. In the process, David had some some suggestions that Richard will be folding back into the EC code. Meanwhile, Richard has flushed out a few minor EC bugs and submitted fixes back to Quanta.

3. School server: Scott Ananian, John Watlington, and Dan Margo worked on school-server configuration management. The process—a combination of RedHat's RPM system and a version-control system—will allow system updates of OLPC specific configuration files while preserving local configuration modifications.

4. Firmware: Mitch Bradley started work on school-server firmware and integrated the cryptographic code into Open Firmware needed for our Bitfrost security system. Lilian Walter modified the TCP layer to support IPv6. She can successfully “finger” and “telnet” to her Fedora Core 7 PC.

5. System: Chris Ball wrote a script to backup and restore user data from a USB disk during OS build upgrades, so that laptops can be upgraded to newer builds without losing data. The script is still being tested, since there are some “corner cases” to deal with—for example, some old Sugar configuration files causes newer versions of Sugar to crash at startup.

Andres Salomon did some merging (we are up to 2.6.22-rc5 on master) and created a vserver branch and added the vserver patch (See http://dev.laptop.org/~dilinger/vserver). He also did some bug triaging and worked on merging in the persistence-USB code from Andrew Morton's -mm tree.

Scott Ananian spend the week writing kernel patches for DNS autoconfiguration over Ipv6. The kernel functionality is now working; Scott still has to patch this into “userland” properly (glibc and/or network manager), and get the patches shipped and accepted upstream. In the process, Scott fixed another bug in the router advertisement daemon (radvd) this week, added some kernel documentation, and found a few minor bugs in the kernel to fix.

Bernardo Innocenti has been looking into Geode optimizations of glibc—Rob Savoye had developed some optimizations working from code originally written by John Zulauf.

John Palmieri has been working on the Fedora 7 move. Most of the packages we need to worry about now in place. We will be pulling our builds together from three different repository: the F7/OLPC repository, dilinger's (Andres’s) kernel repository, and a temporary repository that exists until we have emergency builds and until Etoys can be put into the Fedora repositories.

Alex Larsson, who is on loan from the Red Hat desktop team, has been working on a new live-update system for the XO. He posted comments for review to the devel mailing list earlier this week and has since then been working on an implementation. He now has code that can update between image versions, including reverting back to older versions of an image. He also has working code that can detect an update that is available from another laptop on the mesh, and can download it locally instead of going to a central server over a potentially slow, high-latency, high-cost network. Finally, he has code that will host an update on a laptop and publish it on the mesh.

6. X11: The X11 update is only missing a few package rebuilds and a few new RPMs. The new keyboard descriptions are ready to go. Bernardo, Miles Grimshaw, and Walter Bender have been collecting more localized keyboards (Turkish, Ethiopic) and modularizing our changes to make them acceptable for upstream. Bernardo has gotten a positive response from Sergey Udaltsov regarding our changes and is waiting for final approval.

7. USB: Marcelo Tosatti, working with Cozybit and Marvell in California, made great progress in debugging our USB suspend/resume issues. Javier Cardona and Marcelo were able to acquire accurate traces of the activity on the USB bus. Those traces showed that the USB host controller is entering an invalid state during resume if the wireless device detaches after getting the host_sleep_active notification from the host. Their workaround is to have the wireless device idle for 3mS on the USB bus before detaching; they implemented that in wireless firmware version 5.110.16.p0. This is great progress towards fully working suspend/resume.

8. Wireless: Marvell's team in India released wireless firmware that incorporates the new mesh frame format as well as mesh beacon frames (5.110.15.p1). Their release was followed by the release of 5.110.16.p0, which incorporates the support for host sleep and the aforementioned workaround for the USB suspend/resume. Cozybit has also released patches for ethereal/wireshark that decode the new frame format. With this release, we are moving closer to the emerging 802.11s standard and we are also averting problems with existing access points that support lazy-WDS. Note that this firmware version is not interoperable with any previous released versions. Nodes running the new firmware will disrupt and be disrupted by nodes running older versions of the firmware. Q&A testing will be proceeding this week with the goal of incorporating the new frame format in the upcoming stable build. From a network-manager perspective this release greatly simplifies sensing for the presence of mesh nodes. Dan Williams continued work on the Libertas wireless driver. He also spent time getting Avahi ready for the network-manager auto-mesh code.

9. Sugar: Ben Saller continues work on the data store for the Journal. He has been working on support so that one can store Journal entries on pluggable media (such as USB keys) and access entries over the network. He also fixed several bugs that Tomeu Vizoso and Marco Gritti needed.

Guillaume Desmottes spent the week working on peer-to-peer tubes support so that more than two people can join an activity (instead of
activities being strictly peer to peer). Large parts of this code are working today. There will be more progress next week.

Marco spent much of the week working on the Fedora 7 port. He also made a number of fixes in the Journal, the theme, and Sugar in general.
He is largely concentrating on Trial-2 bug fixes. He wrote a simple
activity to demonstrate how to integrate with the Journal (See http://dev.laptop.org/~marco/edit-activity).

Marco and Chris Blizzard worked with the Fedora Translation team to set up an easy-to-use interface for translators to be able to help translate Fedora. A Google Summer of Code student has been working on a web
interface that makes it easy for the several hundred Fedora translators
to interact with upstream projects like OLPC (As and example, see http://translate.fedoraproject.org/module/olpc-journal-activity). We do not have all of the work flow completed, but this is an important first step to closing the loop with translators.

Tomeu spent the week doing a lot of bug fixing in the web activity, the
Journal and the Sugar shell. He also did a lot of testing of the data
store and worked with Ben to fix bugs that he found. In addition he
added a lot of new stuff for Trial 2, including:
* implement of modal dialogs for the web browser;
* in the Journal:
** you can now change an entry title;
** install and execute activities you have downloaded (but are not on the main toolbar);
** take a screenshot of the activity's canvas and use it as a preview for an entry;
** add a save-in-journal button to the default activity toolbar to
** explicitly save something to the journal;
** drag entries from the journal into the clipboard; and
** use the object-type registry;
* in the sugar shell:
** add an option to save objects in the clipboard to the Journal;
** make the clipboard also use the object-type registry.

10. Sugar Activities in the community: Marc Maurer has been working on collision detection for multiple-document editing. He and the rest of the Abiword team have an algorithm they are happy with. The really adventurous can look at the document (See http://uwog.net/~uwog/abiword/abicollab.pdf).

Ian Piumarta and Michael Rueger implemented the IPv6 support for
Squeak and ready for the testing. This will enable various collaborative tools in Etoys work over the IPv6 mesh network. Scott Wallace published the FunctionTile feature to the public image; this enables the Etoys user to write scripts with mathematical functions. Bert Freudenberg's recent work encompasses: patching Sugar; X Windows System display support code for the Squeak virtual machine; and an Etoys hook to enables smoother integration of Etoys to the Sugar environment. Ted Kaehler and Alan Kay are working on the kids version of text editor written in Etoys, as well as the simulation of colliding billiard balls. Takashi Yamamiya is now looking at the final integration of
a drag-and-drop mechanism. Yoshiki Ohshima helped the code generation part of FunctionTile, as well as the documentation of
projects.

Jean Piché and the core TamTam team spent the first half of the week at the OLPC office in Cambridge working closely with Eben Eliason on reworking the TamTam interface in light of Sugar “tabs” and some new functional and structural ideas that the team has been exploring. The result will be a recasting of MiniTamTam into TamTamJam, which will enable the explorations and improvisations we enjoy in TamTam to extend across multiple machines on the mesh; and a cleaner integration of the rich and varied functionality of TamTamEdit, making this powerful composition tool more accessible. They also did some preliminary exploration of Barry Vercoe’s fixed-point C-Sound implementation; evaluated TamTam on the B3 hardware; and discussed details of Journal integration with Tomeu.

Kent Quirk reports from the XO game-development front that Patrick DeJarnette has created the beginnings of a generic side-scroller
game toolkit and has a demonstration game that is beginning to feel a
lot “a-like a-Mario.” It hasn't yet been turned into an activity or tested
on the XO, but the approach is sound and we should see it running
next week. This toolkit is intended to allow children to easily create
arcade-like games on the XO.

Lincoln Quirk has been working on integrating PyGame with Sugar. He has taken Noah Kantrowitz's wrapper code and extended it, but there are problems integrating properly with GTK. For the last few days, he has been working on a Cairo-based implementation of PyGame, which is starting to work, but is so far quite a bit slower than the existing PyGame code. It may be fast enough to use for some games, it looks beautiful, and we hope it will get faster over time.

Roberto Fagá has been building an adventure game toolkit called ISIS intended to build text-based adventures with graphical illustrations. The longterm goal is to build a drag-and-drop storytelling game toolkit that kids can use. He just got his hands on an XO and is working on getting the graphics portion of the toolkit functional.

As a team, the gamers now have a git repository and have checked in all of their work, as well as other games from the OLPC game jam. There are several games that they hope to build on over the next few weeks, including a Mancala/Owari stone game that will support play either on a single machine or across the mesh.

Kuku Anakula, a flashcard-style game, has been polished for Trial 2; it can share configuration files and tile sets with the Memonumber game.

MaMaMedia has finished three activities: a slider puzzle, an e-poll generator, and a teacher center, the latter being a place for teachers to learn and contribute to how they can use activities to integrate XO programs (Paint, Camera, Write) into their teaching. In the teacher center, there are lesson ideas for exploring the XO and the activities, a glossary, some background on Constructionism, etc.

11. Content: SJ Klein and Mel Chua, who organized the Game jam, are working on a generalized notion of “jam,” for a broader community audience. The FHSST group in South Africa is running a jam out of Berkeley to make high school curricula and polish their texts. The Polish Free Texts project has their own variant on the theme for teachers. In progress: defining a space for collating links to such initiatives; developing a framework that allows for broad intake of all kinds of material, and for a refinement step that converts scans or documents into final formats for printing, storing in specialized repositories, storing on wikis and other collaboration sites. Meanwhile, SJ has been working on style guidelines for content contributions.

The Commonwealth of Learning (COL) is planning some content jams for educators and authors towards the end of the summer and early fall. They are expanding their collaboration on free textbooks starting with wikieducator, where public domain texts are being added to the “XXI texts” project, a project to find textbooks that have entered the public domain. They are working with educators to get primary texts online and developing an OLPC project on the site. A new mailing list for free texts has been set up, with COL, an Arabic texts project, the Polish Free Textbook project, Free Culture's college texts project, and OLPC. The Open Society Institute is looking into ways to fund a specific short-term effort to bootstrap these groups and bring their efforts together.

There was an entire track at the third annual iCommons summit dedicated to open education. OLPC and growing rural networks were highlighted as an example of the most revolutionary target audience. Over the course of a year or so, there are many projects aiming to develop free materials and interested n focusing on developing-world primary school; beginning with the Shuttleworth Foundation and FHSST and Schoolnet projects in southern Africa.

Google’s OurStories continues apace and is looking for active contacts in each country to help coordinate story gathering via activities.


== 2007-06-16==
== 2007-06-16==
Line 287: Line 420:
with compression buffers. We also want to dynamically control the frame rate; we can save 60mw (significant in ebook mode) by driving the panel at 25hz rather than 50hz. Adam has started on this work.
with compression buffers. We also want to dynamically control the frame rate; we can save 60mw (significant in ebook mode) by driving the panel at 25hz rather than 50hz. Adam has started on this work.


12. Kernel: Andres Salomon synced the kernel up with 2.6.22-rc1. Unfortunately, this seemed rather broken; this week, Andres synced with 2.6.22-rc3, and it behaved much better. Andres also pulled in a new libertas driver. Marcelo discovered a bug in our suspend/resume code that was triggered by the updated kernel code; with that fixed, suspend/resume works in master again. (There is still some remaining console corruption that needs to be worked out.) Andres started digging into the vserver capabilities, which is key to the deployment of BitFrost.
12. Kernel: Andres Salomon synced the kernel up with 2.6.22-rc1. Unfortunately, this seemed rather broken; this week, Andres synced with 2.6.22-rc3, and it behaved much better. Andres also pulled in a new libertas driver. Marcelo discovered a bug in our suspend/resume code that was triggered by the updated kernel code; with that fixed, suspend/resume works in master again. (There is still some remaining console corruption that needs to be worked out.) Andres started digging into the vserver capabilities, which is key to the deployment of Bitfrost.


13. Firmware: Mitch worked on stabilizing the firmware for B4: he fixed minor bugs 1580, 1577, 498 and serious bug 1609. He reverted the automatic “freeze screen” (quiet boot) behavior due to the OS support not being ready for it. You can still use it by adding a “freeze” line in olpc.fth, and changed the startup sound so that you have to press a game key to hear it.
13. Firmware: Mitch worked on stabilizing the firmware for B4: he fixed minor bugs 1580, 1577, 498 and serious bug 1609. He reverted the automatic “freeze screen” (quiet boot) behavior due to the OS support not being ready for it. You can still use it by adding a “freeze” line in olpc.fth, and changed the startup sound so that you have to press a game key to hear it.
Line 722: Line 855:


Press requests: please send email to press@racepointgroup.com
Press requests: please send email to press@racepointgroup.com

= Q1 =
''from [http://wiki.laptop.org/index.php?title=OLPC:News&offset=20070401202845&action=history]''


[[category:news]]

Latest revision as of 16:31, 1 June 2012

Q3

from [1]

Q2

2007-06-30

1. Washington: Walter Bender had to dust off his tuxedo in order to receive the Bridging Nations “Bridge Builder Award: Technological Innovation for Bridging Digital Divide” on behalf of OLPC.

2. Porto Alegre: Juliano Bittencourt reports that UFRGS (Federal University of Rio Grande do Sul) held a small conference, INOVA, to share the best research from the university with the local community. As they did at the International Free Software Conference (FISL), researchers from the university brought a group of children to conference to share their experiences with the use of the XO. The children stole the spotlight: “it was very satisfying to see how they talked with people, how they became autonomous, and were very proud of their projects. They behave like small scientists, making interviews with their laptop using the camera, taking notes in the Write Activity, and posting reports to their blogs on AMADIS.”

3. Green: Mary Lou Jepsen has completed all paper work for environmental compliance with EPEAT, the organization that implements the IEEE 1680-2006 computer environmental standard. OLPC’s EPEAT “Gold” status is now pending. Mary Lou has a draft version available of our ISO14001-compliant OLPC environmental policy, which is required for EPEAT compliance. In addition, OLPC has joined and filed for Energy Star 4.0 recognition; the XO exceeds the Energy Star compliance requirements by 14-fold.

4. Safety: OLPC, Quanta, and UL met this week to discuss progress on safety testing. Preliminary findings are excellent; further details of testing were discussed, including specific in-country requirements. The XO appears to be on track for UL certification; further testing of batteries and AC adaptors is planned. UL will help us apply for CE markings to allow us to ship in Europe.

5. Trial-2: Tuesday marked the feature-freeze date for the Trial-2 software release. We have begun testing of the software release (See Test issues); there are test plans for activities, connectivity, performance, mesh view, suspend/resume, and updates. Thanks to Zack Cerza, John Fuhrer, Cameron Meadors, and Ronak Chockshi, who have contributed to these plans.

6. Network: The Collabora team continued work on the peer-to-peer networking pieces that will allow Sugar Activity authors to readily share data between their activities; the focus has been on “tubes” and multicast support for the mesh. Dan Williams helped debug direct XO-to-XO communications and plowed through more network manager (NM) issues. Dan, along with Kim Quirk, John Watlington, Scott Ananian, and Michail Bletsas continue to refine NM as we realize more functionality and stability in our network drivers and get more feedback from internal testing and the field.

Michail tested the latest wireless firmware from Marvell (5.110.16.p0). It solves the issues with lazy-WDS access points (like the extremely popular Linksys WRT54G). This is the issue where XOs associated with a WiFi access point will stop passing traffic intermittently for which we had a temporary (ugly) workaround in place. The current firmware, besides having the latest suspend/resume code bits, uses a new mesh frame format that is closer to the latest proposals circulating in the 802.11s standard committee. Unfortunately, the new format is incompatible with the older format; we will incorporate the new firmware in the XO builds and server software ASAP to minimize confusion.

7. User interface: Marco Gritti hooked up Sugar and the core Activities into the Fedora translations system and has already integrated a community-contributed Arabic translation.

Marco and Benjamin Berg continue to refine the GTK (GIMP Toolkit) themes in conjunction with the design work being done by Eben Eliason and the Pentagram team. They also revisited the Journal core feature set that will be part of the first release software. Tomeu Vizoso continued his work on the web browser. He implemented an “object-chooser dialog” that is used in place of the standard file picker for the browser; items can now be uploaded from the Journal to the web. Tomeu also add the ability to shut down the XO from the home view (the power button will be used for suspend). In the Journal, he also implemented the latest toolbar design, added the ability to erase items, copy items onto the clipboard, and support for removable storage devices (e.g., USB sticks).

Dan, Marco, and John Palmieri also did packaging work in support of the Fedore Core 7 update. Dan also worked on some unresolved X video (Xv) bugs.

8. Power management: Richard Hughes worked on the XO’s power management interfaces. He reports that our hardware abstraction layer detects and exports proper power supply interfaces, which means Activities have an easy way of querying the battery and the AC adapter. His patches should land soon. Richard also worked on D-Bus system activation; important in order to start system services through a standardized interface. He has a policy manager (OHM) running on the laptop that will do things such as dim the backlight when the machine is idle and turn off the panel when the lid on the XO is shut.

9. Software updates: Scott Ananian, Ivan Krstić, Chris Blizzard, David Woodhouse, and Alex Larsson engaged in a (somewhat heated) discussion of the XO upgrade model; a concrete specification will be the outcome.

Meanwhile Alex spent the week working on the “Updatinator” code. His utilities that can generate manifests, generating differences between manifests, verify a directory tree against a manifest, and upgrade a directory tree from one manifest to another. He also has a tool that can generate a manifest from a set of images. His code, written in Python, knows how to download blobs and manifests from a http server, using a well-defined format and uses Avahi to automatically find local machines that have newer versions of a manifest. He also put together a small web server that an XO can run in order to export an image such that other laptops can upgrade from it.

Chris Ball has written a script that performs a backup of user data during upgrades; we can start using it next week. Scott benchmarked XO upgrades between Builds 464, 465, and 466 using rsync, “improved” rsync, and “improved” bittorrent. (He wrote code to use per-directory manifests to improve rsync and added the ability to bittorrent filesystem images, complete with user/group/mode and special file information.) He also started implementing a skeleton XO upgrade system that we can use to automate our 100+ laptop mesh-network tests in the coming weeks.

10. Microphone: Chris Ball reports that the audio driver now keeps the microphone-in-use LED off while the audio hardware is not being used. There is still a bug remaining: the LED turns on during both recording and playback (because the default state of the driver is to have the V_Ref microphone bias turned on).

11. Fun and games: Lincoln Quirk has been working on infrastructure stuff and the pygame wrapper. He has been experimenting with various techniques for integration of GTK and pygame; he also did some preliminary work with Eric Nelson to use the camera as a game input device. It still in process, but the wrapper supports the game keys properly. Lincoln also done a lot of documentation work in the OLPC wiki.

Roberto Faga has been working on an adventure game toolkit; he has been tackling the challenging problem of creating a simple generic parser that can cope with different noun/verb/object word orders in different languages. At the same time, he's trying to construct a user interface (UI) that would allow the creation of these games in a purely graphical model.

Patrick DeJarnette's side-scrolling game engine got a lot faster this week, and now has semi-intelligent moving “enemies.” It should be a lot of fun for the children to design their own game levels.

12. Analog input: Arjun Sarwal has created a basic UI for turning the XO into an oscilloscope. He has built controls for AC/DC, bias, RMS AVG, and Pk-Pk values. He is working with John Watlington to characterize the frequency characteristics of the AD1888 and they are working towards enabling the double sample rate that this chip supports. They are also studying the filter in the power supply, with the goal to reduce the noise floor. Another target is to bring down to 0V the minimum voltage that the analog input port can sample (the current minimum is 0.4V).


2007-06-24

1. Shanghai: Mary Lou Jepsen, John Watlington, Richard Smith, and David Woodhouse joined the extensive team from Quanta in Shanghai for the B4 build. 2000 laptops are scheduled to be built by the end of Monday, more than half are already built. Things went so well that the build was started early, leaving the OLPC team ample time to work other components of the OLPC ecosystem: school server, multi-battery charger, active antennae, and WiFi repeaters. The B4 yield (so far) is approximately 99%—up substantially from previous builds. Improvements in B4 include: texture on the upper handle bar; increased hinge tilt; elimination of the hinge “squeak”; rabbit ears that click into place when put into the down position; elimination of a slight camera vignetting by the bezel; minor modifications to the motherboard; etc.

2. EC: Richard Smith and David Woodhouse have moved the kernel battery driver over to new embedded controller (EC) protocol. In the process, David had some some suggestions that Richard will be folding back into the EC code. Meanwhile, Richard has flushed out a few minor EC bugs and submitted fixes back to Quanta.

3. School server: Scott Ananian, John Watlington, and Dan Margo worked on school-server configuration management. The process—a combination of RedHat's RPM system and a version-control system—will allow system updates of OLPC specific configuration files while preserving local configuration modifications.

4. Firmware: Mitch Bradley started work on school-server firmware and integrated the cryptographic code into Open Firmware needed for our Bitfrost security system. Lilian Walter modified the TCP layer to support IPv6. She can successfully “finger” and “telnet” to her Fedora Core 7 PC.

5. System: Chris Ball wrote a script to backup and restore user data from a USB disk during OS build upgrades, so that laptops can be upgraded to newer builds without losing data. The script is still being tested, since there are some “corner cases” to deal with—for example, some old Sugar configuration files causes newer versions of Sugar to crash at startup.

Andres Salomon did some merging (we are up to 2.6.22-rc5 on master) and created a vserver branch and added the vserver patch (See http://dev.laptop.org/~dilinger/vserver). He also did some bug triaging and worked on merging in the persistence-USB code from Andrew Morton's -mm tree.

Scott Ananian spend the week writing kernel patches for DNS autoconfiguration over Ipv6. The kernel functionality is now working; Scott still has to patch this into “userland” properly (glibc and/or network manager), and get the patches shipped and accepted upstream. In the process, Scott fixed another bug in the router advertisement daemon (radvd) this week, added some kernel documentation, and found a few minor bugs in the kernel to fix.

Bernardo Innocenti has been looking into Geode optimizations of glibc—Rob Savoye had developed some optimizations working from code originally written by John Zulauf.

John Palmieri has been working on the Fedora 7 move. Most of the packages we need to worry about now in place. We will be pulling our builds together from three different repository: the F7/OLPC repository, dilinger's (Andres’s) kernel repository, and a temporary repository that exists until we have emergency builds and until Etoys can be put into the Fedora repositories.

Alex Larsson, who is on loan from the Red Hat desktop team, has been working on a new live-update system for the XO. He posted comments for review to the devel mailing list earlier this week and has since then been working on an implementation. He now has code that can update between image versions, including reverting back to older versions of an image. He also has working code that can detect an update that is available from another laptop on the mesh, and can download it locally instead of going to a central server over a potentially slow, high-latency, high-cost network. Finally, he has code that will host an update on a laptop and publish it on the mesh.

6. X11: The X11 update is only missing a few package rebuilds and a few new RPMs. The new keyboard descriptions are ready to go. Bernardo, Miles Grimshaw, and Walter Bender have been collecting more localized keyboards (Turkish, Ethiopic) and modularizing our changes to make them acceptable for upstream. Bernardo has gotten a positive response from Sergey Udaltsov regarding our changes and is waiting for final approval.

7. USB: Marcelo Tosatti, working with Cozybit and Marvell in California, made great progress in debugging our USB suspend/resume issues. Javier Cardona and Marcelo were able to acquire accurate traces of the activity on the USB bus. Those traces showed that the USB host controller is entering an invalid state during resume if the wireless device detaches after getting the host_sleep_active notification from the host. Their workaround is to have the wireless device idle for 3mS on the USB bus before detaching; they implemented that in wireless firmware version 5.110.16.p0. This is great progress towards fully working suspend/resume.

8. Wireless: Marvell's team in India released wireless firmware that incorporates the new mesh frame format as well as mesh beacon frames (5.110.15.p1). Their release was followed by the release of 5.110.16.p0, which incorporates the support for host sleep and the aforementioned workaround for the USB suspend/resume. Cozybit has also released patches for ethereal/wireshark that decode the new frame format. With this release, we are moving closer to the emerging 802.11s standard and we are also averting problems with existing access points that support lazy-WDS. Note that this firmware version is not interoperable with any previous released versions. Nodes running the new firmware will disrupt and be disrupted by nodes running older versions of the firmware. Q&A testing will be proceeding this week with the goal of incorporating the new frame format in the upcoming stable build. From a network-manager perspective this release greatly simplifies sensing for the presence of mesh nodes. Dan Williams continued work on the Libertas wireless driver. He also spent time getting Avahi ready for the network-manager auto-mesh code.

9. Sugar: Ben Saller continues work on the data store for the Journal. He has been working on support so that one can store Journal entries on pluggable media (such as USB keys) and access entries over the network. He also fixed several bugs that Tomeu Vizoso and Marco Gritti needed.

Guillaume Desmottes spent the week working on peer-to-peer tubes support so that more than two people can join an activity (instead of activities being strictly peer to peer). Large parts of this code are working today. There will be more progress next week.

Marco spent much of the week working on the Fedora 7 port. He also made a number of fixes in the Journal, the theme, and Sugar in general. He is largely concentrating on Trial-2 bug fixes. He wrote a simple activity to demonstrate how to integrate with the Journal (See http://dev.laptop.org/~marco/edit-activity).

Marco and Chris Blizzard worked with the Fedora Translation team to set up an easy-to-use interface for translators to be able to help translate Fedora. A Google Summer of Code student has been working on a web interface that makes it easy for the several hundred Fedora translators to interact with upstream projects like OLPC (As and example, see http://translate.fedoraproject.org/module/olpc-journal-activity). We do not have all of the work flow completed, but this is an important first step to closing the loop with translators.

Tomeu spent the week doing a lot of bug fixing in the web activity, the Journal and the Sugar shell. He also did a lot of testing of the data store and worked with Ben to fix bugs that he found. In addition he added a lot of new stuff for Trial 2, including:

  • implement of modal dialogs for the web browser;
  • in the Journal:
    • you can now change an entry title;
    • install and execute activities you have downloaded (but are not on the main toolbar);
    • take a screenshot of the activity's canvas and use it as a preview for an entry;
    • add a save-in-journal button to the default activity toolbar to
    • explicitly save something to the journal;
    • drag entries from the journal into the clipboard; and
    • use the object-type registry;
  • in the sugar shell:
    • add an option to save objects in the clipboard to the Journal;
    • make the clipboard also use the object-type registry.

10. Sugar Activities in the community: Marc Maurer has been working on collision detection for multiple-document editing. He and the rest of the Abiword team have an algorithm they are happy with. The really adventurous can look at the document (See http://uwog.net/~uwog/abiword/abicollab.pdf).

Ian Piumarta and Michael Rueger implemented the IPv6 support for Squeak and ready for the testing. This will enable various collaborative tools in Etoys work over the IPv6 mesh network. Scott Wallace published the FunctionTile feature to the public image; this enables the Etoys user to write scripts with mathematical functions. Bert Freudenberg's recent work encompasses: patching Sugar; X Windows System display support code for the Squeak virtual machine; and an Etoys hook to enables smoother integration of Etoys to the Sugar environment. Ted Kaehler and Alan Kay are working on the kids version of text editor written in Etoys, as well as the simulation of colliding billiard balls. Takashi Yamamiya is now looking at the final integration of a drag-and-drop mechanism. Yoshiki Ohshima helped the code generation part of FunctionTile, as well as the documentation of projects.

Jean Piché and the core TamTam team spent the first half of the week at the OLPC office in Cambridge working closely with Eben Eliason on reworking the TamTam interface in light of Sugar “tabs” and some new functional and structural ideas that the team has been exploring. The result will be a recasting of MiniTamTam into TamTamJam, which will enable the explorations and improvisations we enjoy in TamTam to extend across multiple machines on the mesh; and a cleaner integration of the rich and varied functionality of TamTamEdit, making this powerful composition tool more accessible. They also did some preliminary exploration of Barry Vercoe’s fixed-point C-Sound implementation; evaluated TamTam on the B3 hardware; and discussed details of Journal integration with Tomeu.

Kent Quirk reports from the XO game-development front that Patrick DeJarnette has created the beginnings of a generic side-scroller game toolkit and has a demonstration game that is beginning to feel a lot “a-like a-Mario.” It hasn't yet been turned into an activity or tested on the XO, but the approach is sound and we should see it running next week. This toolkit is intended to allow children to easily create arcade-like games on the XO.

Lincoln Quirk has been working on integrating PyGame with Sugar. He has taken Noah Kantrowitz's wrapper code and extended it, but there are problems integrating properly with GTK. For the last few days, he has been working on a Cairo-based implementation of PyGame, which is starting to work, but is so far quite a bit slower than the existing PyGame code. It may be fast enough to use for some games, it looks beautiful, and we hope it will get faster over time.

Roberto Fagá has been building an adventure game toolkit called ISIS intended to build text-based adventures with graphical illustrations. The longterm goal is to build a drag-and-drop storytelling game toolkit that kids can use. He just got his hands on an XO and is working on getting the graphics portion of the toolkit functional.

As a team, the gamers now have a git repository and have checked in all of their work, as well as other games from the OLPC game jam. There are several games that they hope to build on over the next few weeks, including a Mancala/Owari stone game that will support play either on a single machine or across the mesh.

Kuku Anakula, a flashcard-style game, has been polished for Trial 2; it can share configuration files and tile sets with the Memonumber game.

MaMaMedia has finished three activities: a slider puzzle, an e-poll generator, and a teacher center, the latter being a place for teachers to learn and contribute to how they can use activities to integrate XO programs (Paint, Camera, Write) into their teaching. In the teacher center, there are lesson ideas for exploring the XO and the activities, a glossary, some background on Constructionism, etc.

11. Content: SJ Klein and Mel Chua, who organized the Game jam, are working on a generalized notion of “jam,” for a broader community audience. The FHSST group in South Africa is running a jam out of Berkeley to make high school curricula and polish their texts. The Polish Free Texts project has their own variant on the theme for teachers. In progress: defining a space for collating links to such initiatives; developing a framework that allows for broad intake of all kinds of material, and for a refinement step that converts scans or documents into final formats for printing, storing in specialized repositories, storing on wikis and other collaboration sites. Meanwhile, SJ has been working on style guidelines for content contributions.

The Commonwealth of Learning (COL) is planning some content jams for educators and authors towards the end of the summer and early fall. They are expanding their collaboration on free textbooks starting with wikieducator, where public domain texts are being added to the “XXI texts” project, a project to find textbooks that have entered the public domain. They are working with educators to get primary texts online and developing an OLPC project on the site. A new mailing list for free texts has been set up, with COL, an Arabic texts project, the Polish Free Textbook project, Free Culture's college texts project, and OLPC. The Open Society Institute is looking into ways to fund a specific short-term effort to bootstrap these groups and bring their efforts together.

There was an entire track at the third annual iCommons summit dedicated to open education. OLPC and growing rural networks were highlighted as an example of the most revolutionary target audience. Over the course of a year or so, there are many projects aiming to develop free materials and interested n focusing on developing-world primary school; beginning with the Shuttleworth Foundation and FHSST and Schoolnet projects in southern Africa.

Google’s OurStories continues apace and is looking for active contacts in each country to help coordinate story gathering via activities.

2007-06-16

1. Montevideo: On Friday, the Technology Laboratory of Uruguay (LATU) released a bid for Project Ceibal (Conectividad Educativa de Informática Básica para el Aprendizaje en Línea)—one laptop per child in Uruguay.

2. Olin College hosted the first OLPC Game Jam (See Game Jam) last weekend, bringing together ten teams of game developers and some freelance artists, musicians, and programmers, to make games for the XO. Organizers Mel Chua and SJ Klein are working on general notes re: organizing game jams and other local community events to develop materials for the XO. Most of the teams chose to work in Python, though a few developed in Flash. (A Flash developer who had rather vehemently against Python at the start of the weekend, wouldn't stop talking about how nice Python was by Sunday.) Teams collaborated with one another, in addition to competing to make the best game; they shared music and artistic expertise, and code snippets and coding advice. (The Flash developers uniformly wanted to write things that would work in Gnash on our platform, not standard Flash 9; they spent part of Friday and Saturday working with the Gnash team to help improve its utility for game development.)

The two best reviewed games both used PyGame; they were a version of 3D Pong and a version of the old Crossfire game called Spray Play (See File:3dpong.activity.zip and http://sprayplay.googlecode.com/svn/).

The laptop is running days at 52C (125F), and nights at 22C (72F).

3. Taking the heat: We have decided to see how much heat XO can take. Mary Lou Jepsen has instructed UL to test our laptop for a 50C (122F) operating temperature. Typical laptops are only tested to 35C (95F) or 40C (104F), which is unacceptable for the children who will be using our laptops in hot temperatures (e.g., in direct sunlight and of course without air conditioning). Mary Lou and Tracy Price are also running a simple bake test at the OLPC office. The laptop is running days at 52C (125F), and nights at 22C (72F). UL and Quanta are doing more extensive testing, but shown is a laptop, running the eToys demo that sits in the oven night and day. Try that with a conventional laptop!

4. Green: Mary Lou and Robert Fadel have started the application process for EPEAT Gold—the highest award given to laptops; one no other laptop has yet received. Also, late last week Google's Ethan Beard and Megan Smith, and Red Hat's Mike Evans invited OLPC to join with Google, Intel, Quanta, Red Hat, AMD, HP and others in the IT industry to launch Climate Savers, an organization dedicated to lowering the power consumption of computers through better power management systems, and more efficient AC adaptors. Climate Savers picked lower power as the single thing on which to concentrate in order to have the biggest positive impact on the environment. OLPC concurs with this belief. At first those that join Climate Savers agree to meet the Energy Star goals—OLPC is already 14× better than Energy Star.

5. $1 video microscope: Inspired by SJ Klein and EO Smith, Mary Lou made a 100× video microscope for her XO for $1 (three plastic lenses in plastic housing). She made videos of the XO screen compared with a standard LCD screen, where the details of the pixel structure can be clearly seen. She will be compiling a video for youtube.com in the coming days.

6. Sugar: Eben Eliason has continued to refine a series of mock-ups for rollovers, invitations, and notifications. He has created a new series of Activity mockups, including Browse, Read, Write, Memorize, Calculate, Photograph/Capture/Record, and TamTam that feature tagging and tabs. He also created a preliminary specification for keyboard shortcut design, now open for discussion. Also he worked with Jim Gettys to figure out some logic for the hand-held buttons in terms of desired functionality and semantic meaning. Marco Gritti has been making changes to the GTK theme to incorporate many of these improvements.

7. Marc Maurer continues work on the Write activity, with his focus mostly around collaboration. He has been working on a new algorithm to handle collisions in documents when people are editing the same part of a document. He also spent a lot of time fixing bugs in Abiword to close a blocker bug in the 406 Build.

8. Muriel de Souza Godoi updated the Memory Activity to the new sugar API; now all the memory games were unified in one activity. He also worked Eben designed a new Memorize Game UI; the new scoreboard was developed as a component, with methods such as: set fill color, set stroke color, increase score, set_current_player, etc. The new card table was also developed as a component and can be controlled using the hand-held-mode buttons. These UI components are designed to be as flexible as possible, focusing on reusing components.

9. Journal: Tomeu Vizoso has been working on the Journal; he has added the ability to do screen capture by typing Alt-1; the image is saved to the Journal. He also has been working to make it possible to launch downloaded activities directly from the Journal. He has been updating the web browser in order making it work with the new Journal code as well as the new code to interface with Python. Ben Saller has been working on how to get the Journal to support alternate media such as USB drives. Eben created a new series of Journal mock-ups that incorporate tabbed toolbars, address support for "sort by, then by," and for versioning.

10. Mesh Activities: Dan Williams made progress with Network Manager (NM) and the mesh. NM will now automatically scan and get an address on the mesh network. The Collabora folks continue down the path of making the peer-to-peer presence-discovery code and tubes code work. They also added a "Hellomesh" Activity that shows how to build a tubes-enabled activity. (Please note that the activity will change over time as the tubes API stabilizes.) Eben worked extensively back and forth with Pentagram on an updated UI design for the mesh view.

11. Fedora Core 7: John Palmieri has been moving our builds to a Fedora 7 base. Once that is done we will have a lot more opportunity to collaborate with the community and also get more direct help from the 1200 or so Fedora contributors. Moving to Fedora 7 also means that many of our modified packages are rolled up into the main repository.

12. Build 406.14: Firmware and a stable kernel were released to Quanta for the Btest-4 build, derived from Build 406. Suspend and resume are working in a full build for the first time, including autonomous mesh networking, a first for any system anywhere! It is almost, but not quite stable enough for widespread use; a few remaining bugs need to be squashed before deployment to a large audience.

13. Firmware: This week, Mitch Bradley worked on stabilizing software and firmware for the B4 build. Mitch also merged ECC checking code (written by Segher Boessenkool) into CAFE NAND driver and worked out a plan for storage of the public key that secures firmware updates.

14. X Window System: Richard Smith worked with Adam Jackson of Red Hat to figure out why his DCON mode patches to the X driver were causing the DCON to flicker and glitch on the switch from DCON mode to GPU mode. This will enable the window system to disable the video unit and allow the GPU to idle when not in use.

Bernardo Innocenti has been enhancing our X keyboard definitions to include all the missing keyboard symbols and working with upstream to cleanup and merge our changes into the official repository. Miles Grimshaw has designed two new keyboards for the XO: Turkish and Ethiopic.

Daniel Stone of Nokia suggested to Jim that our slider keys be represented in the X input extension in a better way: we're going to have three "analog" sliders on the first row of the keyboard, which will look like absolute axes to programs. This requires some kernel work that Bernie has not yet started.

Generally, we are in a much better shape this week. The new input framework in X works already, EXA rendering pretty much works too. Next week Bernie will look into packaging issues with Adam. Jordan Crouse has fixed many bugs in the X driver, and the he number of bugs blocking #1604 is quickly shrinking, so we may be able to push this upgrade just in time for the Fedora Core 7 migration.

15. Kernel: Andres Salomon merged the device-tree patch, giving access to hardware and manufacturing information. The wireless-driver version supporting suspend/resume was also merged. The EC protocol was debugged, and debugged some more, and is now mostly fixed. We have a kernel/firmware combination that suspends/resumes in about two seconds. The delay is mostly from libertas and USB; Marcelo Tosatti and the Cozybit team are actively working on these drivers.

Chris Ball did a lot of stable-build debugging. He found that our camera's colormap becomes strange after resume and that the "camera-active" LED comes on at resume even when the camera isn't being used. Chris wrote a kernel patch to only power up the camera when a user wants it; Jon Corbet is reviewing the patch.

16. IPV6: Scott Ananian began the week by trying to cram the entirety of "Essential IPv6 Networking" into his head. He set up some IPv6 tunnels and IPv6-enabled his home site to: (A) make sure he knew how things worked; and (B) serve as a testbed for the school server environment, which will likely be behind similar NATs. He took over as the liaison to SIXXS, which is going to be providing our IPv6 connectivity via tunnels for the short term, at least until we set up infrastructure (and possibly write some code) to terminate NAT-tunneling IPv6 tunnels ourselves here in Cambridge. Scott also confirmed that private IPv4 addresses are properly assigned to the laptops if a DHCP server cannot be found.

Scott's second network-manager-related task was to get it to understand DNS information sent via Router Advertisement messages as part of IPv6 autoconfiguration, so that the machines "just work" without requiring round-trips to a DHCP server or other setup. Scott noticed that radvd on our local (OLPC) network (tubes) was giving out "bogus" information, and wrote a patch for radvdump and sent the patch upstream in the process. As it turns out, radvd was still using a stale config and just needed to be sent SIGHUP, which was simple enough. Scott sent mail to a number of people (including the appropriate kernel mailing list) outlining a plan to add support for DNS-in-RA to the Linux kernel and to Network Manager. Scott hasn't heard any objections yet, so will assume the plan is good and code up a first-draft implementation next week.

17. Hardware: The asynchronous input/output (SPD) bus on the XOs has problems when coming out of suspend/resume and was causing write to the display controller (DCON) to fail. Mitch figured out the root cause of a failure to resume that only shows up on some machines: a DCON/system-management (SM) bus bug was found and a DCON hardware bug discovered. Richard, Mitch, Andres, Chris, and Jordan Crouse worked together to find and produce a fix.

2007-06-09

1. Heiligendamm, Germany: UNICEF’s Christopher Fabian and Merrick Schaefer organized a youth summit (called the “J8”), around the G8 Summit. The summit consists of 10 youth from each G8 country and 10 from the developing world, taking place before and during the G8; preparing position papers on the issues facing the world's youth, which they will present to the G8. They are using 90 XOs to capture images and video for interviews (of one another and other attendees) and to collaborate on their reports. They are also testing a distributed/off-line wiki for the XO designed by Mako Hill. For much of the week they have had no Internet connectivity, but they are collaborating over the mesh. Bert Freudenberg, a member of the Etoys team, helped to mentor the delegates.

2. Needham, MA: Mel Chua, Kent Quirk, and SJ Klein are hosting the first OLPC Game Jam this weekend a Olin College; the event is designed to encourage experimentation and innovation in the game industry and kick off development of open-source games for the XO. 40 game developers were off to a good start last night (with others participating remotely). Roberto Faga, a summer of code student working on game libraries, is planning another for Brazil, likely in October.

3. Scott Ananian will be starting at OLPC on Monday as a software engineer. Scott will be jumping right in after receiving his Ph.D. from EECS at MIT yesterday. He will bring to us an 10 years of experience hacking and debugging kernel patches and drivers. Besides the technical skills, Scott is deeply committed to the OLPC project.

4. Product line up: We are shipping five products this fall: (1) the XO laptop; (2) a school server; (3) a multi-battery charger; (4) an active antenna; and (5) a solar-powered WiFi repeater. Much of the emphasis has been on the laptop, but a push from Quanta this week has resulted in firmer plans for the other products.

5. Active antennas: Thanks to John Watlington and the team from Cozybit, we have our first working “active antenna” prototypes. Attaching them to an XO lets you optimize the placement of the antenna: use with a mesh portal will double the network throughput. They can be used on the school servers or attached a 5V power supply to build a stand-alone WiFI repeater.

6. AC Adaptor: Our thoroughness had led UL to lower the acceptable temperature for AC adaptors by 10C, down to 75C. This week Arnold Kao of Quanta reports testing on an improved AC adaptor—within our current form-factor—that now achieves delta-t of 15C at 50C ambient (65C maximum temperature), down from the 30C delta-t. In addition, if we limit input from the AC adaptor when the thermometer in the battery indicates it is over 45C ambient and the battery is in charge state, our AC adaptors will operate within acceptable range.

7. C build: Rubber feet, removable antennae, a better LCD shock mount, small adjustments to the keyboard, and an improvement of six-degree tilt on the hinge are all underway as the C-build design freeze occurred on Friday. Both “bunny ears” will be replaceable by removing just 8 screws—previously it took 20 screws and the display had to be removed.

8. Weigh in: Mary Lou Jepsen conducted a weigh in for the B3 units this week. B3 with NiMH is 1.5Kg, and B3 with LiFeP is 1.4Kg. These are up slightly from B2 which weighed in at 1.4Kg and 1.3 Kg respectively; although we reduced the battery size slightly, we added a steel plate to the base for stability and better touch-pad operation.

9. Suspend/resume: Marcelo Tosatti found and fixed couple of bugs: suspend/resume is now working on USB and wireless. The XO can now suspend and resume while leaving the wireless functional, and the wireless can now wake up the processor. Thanks to Javier Cardona who also helped with the wireless firmware.

10. Fedora: This week OLPC became an official Fedora project. We will be doing our development directly on the Fedora project's hardware and in their repositories. In the past we always had to do our builds on Red Hat's infrastructure. This means that anyone can contribute to the project directly, including Red Hat people, community members, and the OLPC team.

11. Activities: Work continues on the Journal and its underlying datastore. There were stabilization and performance changes this week, including fixing some problems with the clipboard that had prevented cut and paste across activities. Infrastructure work in support of the presence has also been a focus: it has been broken out into its own module and will support the local mesh network instead of just server mode.

12. School server: Holger Levsen continued work on the school server installation. The mirror is now updated from the user mirror, via a cronjob at 6am BST daily. It carries Fedora Core 6 and Core 7 and updates Power PC, i386, and source. The live-installer CD is build daily at 8am BST by a cronjob running as builder user (See http://xs-dev.laptop.org/xs-live-installer/ and git://dev.laptop.org/projects/fai-config/fedora/mirror and .../live-installer).

13. Test environment: Chris Ball rewrote the tinderbox web site (http://dev.laptop.org/tinderbox/) and added activity support to the Sugar tinderbox. Every day, Sugar is built on two machines (one running Fedora, one running Ubuntu) using sugar-jhbuild; each activity is tested to see whether it starts up successfully. If an activity fails, an e-mail is sent to the Sugar mailing list.

14. Linux kernel: This week was about stabilizing the kernel for B4. Richard Smith has been rewriting the EC protocol that the kernel uses for poking the EC and hardware; Chris updated the kernel code for that. Debugging the firmware/EC/hardware is ongoing.

There was a massive libertas merge into stable as well; it appears to be working without too many problems. Dan Williams did some nice work: between the last stable (kernel) release and the upcoming stable release, some 3000 lines of code were deleted from the libertas driver. The device-tree code has been committed to stable, providing a way for programs to easily access the hardware configuration and data (e.g. serial number, UUID, etc.).

15. X Window System: Adam Jackson has made progress toward what is being called “DCON mode,” not to be confused with “ebook mode.” This is using the DCON to take over the display from the Geode so that the video drivers, video subsystem, the fetches from RAM for the video, and the GPU can all be off when the screen is not changing, all to save power, even while the CPU is still powered.

Our Xorg 1.3 porting effort is progressing; it is semi-usable now on Bernardo Innocenti 's desktop. Input rotation has also been seen to work, but only for a brief lucky moment. We still have bugs to fix, but Adam Jackson is already starting to package things for us so that we'll be able to move to 1.3 consistently with the F7 upgrade.

Bernardo is also worked on “beautifying” our startup sequence, but this work didn't make it for B4 unfortunately. There are also concerns that upstream will never accept a patch for making the Linux console black-on-white. Jim Gettys wandered through the X keyboard configuration maze to figure out how to map our keyboard, game buttons and game pad properly.

16. Firmware: Mitch Bradley released the B4 firmware, and is beginning to look at firmware for school server. Lilian Walters had a week of one step forward and two steps back. She was all set to test the new nfs/rpc/udp stack using IPv6. Then she found out that her old linux setup just did not cut it. Fortunately, Fedora 7 was released last week claiming to support nfs IPv6. So, she installed F7 on a PC, which also has Windows Vista. She's getting geared up to test again.

17. Etoys: Yoshiki Ohshima continues to work on the Pango support; it is almost ready for the internal testing. Scott Wallace wrote a fix the UI of extending expressions. Takashi Yamamiya's copy-and-paste is coming along: a text in Etoys can now be dragged out to other activities.

18. Gaming: In preparation for the Game Jam we have made a few updates to the game-key mappings (the left and right controllers now map to different things) and PyGameCanvas (to make it work better in a game environment).

2007-06-02

1. NYC: OLPC, Quanta, Fuse, Gecko, and Pentagram met at the Pentagram office to do the final mechanical design review for B4. B4 build is scheduled for June 22. At least 2000 units will be built over a one-to-two week period; we are trying to find a way to build more units if possible.

2. Washington DC: Nicholas Negroponte and Walter Bender spent Thursday at the World Bank. Our host was Ruth Kagia, Education Director. A presentation to ~50 staffers and a hour-long Q&A session both dispelled much misinformation about OLPC and generated enthusiasm for the OLPC mission.

3. Power adaptors: Mary Lou Jepsen’s investigation of burn temperatures for children’s skin resulted in UL lowering their maximum temperature allowed for the OLPC AC adaptor from 85C to 75C. (When was the last time that a company seeking certification helped make the specifications tougher?)

4. Certification: 10 B3 laptops have been sent to UL for certification testing. They will be tested for UL60950. Uruguay has asked for our water-resistance certification. Mary Lou is investigating testing: we will likely be able to achieve IP42 and perhaps better. IP42 means that a test wire 1mm in diameter shall not penetrate the housing and water that is dripped at a rainfall rate for 2.5 minutes in each of 4 different positions shall also not penetrate the housing. We may be able achieve something better, such as IP54, which tests if a suspension of talcum powder ends up in the housing (unlikely due to our fanless operation) and water is sprayed for 10 minutes from a series of nozzles (might be possible in the closed tote-mode of the laptop).

5. Server: Fuse presented a new concept design for the server that allows fans outside the housing of the server to cool it down continuously in a chimney type.

6. Batteries: MIT Materials Science Professor Sadoway visited OLPC this week to discuss battery chemistry Mary Lou, Richard Smith, and John Watlington. As a result of his visit we are investigating our own tests of charging LiFeP at higher ambient temperature, as well as sampling, lifetime recycling.

7. Mesh: Marcelo Tosatti, who celebrated his birthday this week, working with Dan Williams, Javier Cardona (Cozybit), and Ronak Chokshi's team at Marvell, reached a milestone: working autonomous mesh operation while the XO is suspended. Richard Smith worked with Marcelo, CozyBit and Mitch Bradley to verify that the WLAN wake up is working. (Signals from the WLAN are causing the EC to generate system call interrupts, but the kernel is yet not waking up correctly.)

Mesh testing also continues. In certain cases, having an environment without other radio sources is necessary in order to strongly correlate cause and effect. Michail Bletsas joined H.T. Kung's group at Harvard Univesity's Soldier's Field for testing a setup where the school gateway enforces fair internet access among a group of dispersed laptops.

8. Network: Dan also continued to chase the libertas patches and has been driving the changes upstream into the kernel. He has also been spending time on NetworkManager upstream, trying to get the next release into shape for use in OLPC. There are a lot of features in the next planned release (0.7) that he's already back-ported into our build that will be picked up when we upgrade. Dan and the Collabora team continue work on the Presence Service; it is nearly feature completed with a stable API.

9. Sugar: Ben Saller worked on text indexing in the data store, which should make it easy to search in the Journal. Tomeu Vizoso and Marco Gritti have both been working on the browser and on the cleaning up the data store and Sugar interactions. They have also been refactoring code in preparation of putting it into new build images. John Palmieri spent time on the totem video player browser plugin. He also spent some time looking into what it will take to move to Fedora 7. (Fedora 7 was released on May 31st.) Chris Ball hooked up our ebook flip sensor to rotate the screen automatically, which involved patches to the kernel, the hardware abstraction layer (HAL), and Sugar. Chris also established a Sugar tinderbox (See http://dev.laptop.org/sugar-tinder/). Upcoming features include runtime testing of activities and RSS and e-mail notification of new/failed builds. Muriel de Souza Godoi will be working Eben Eliason on refining the UI in many of our standard Sugar activities.

10. X Window System: The Geode LX has a significantly more capable graphics engine than the GX, which makes investing in optimizing its driver more important. Further, it is time to complete work on the input issues relating to screen rotation; this requires working on the “master” branch of X.org. Bernie Innocenti and Jordan Crouse worked on updating the Geode driver to the current X.org master branch, and fought and fixed a number of rendering bugs. There are some more bugs to be chased and squashed exposed by testing, though it again functions adequately for Sugar's current use. Jim Gettys refreshed his knowledge of xkb in preparation to adding keysyms now that the keyboard is finalized and our UI needs more clearly understood.

11. Power management: Adam Jackson worked on display-controller (DCON) power management. The Geode has “compression buffers” that can greatly reduce bandwidth use for graphics by compressing pixels on their way to the screen. But even better is to be able to turn off the video output entirely: the DCON makes it possible for the Geode to entirely power down parts of the screen. A discovery by Mitch that enables us to restart the video unit on the Geode with almost no latency means that we can use DCON mode much more aggressively than we had expected, and may find it unnecessary to deal with compression buffers. We also want to dynamically control the frame rate; we can save 60mw (significant in ebook mode) by driving the panel at 25hz rather than 50hz. Adam has started on this work.

12. Kernel: Andres Salomon synced the kernel up with 2.6.22-rc1. Unfortunately, this seemed rather broken; this week, Andres synced with 2.6.22-rc3, and it behaved much better. Andres also pulled in a new libertas driver. Marcelo discovered a bug in our suspend/resume code that was triggered by the updated kernel code; with that fixed, suspend/resume works in master again. (There is still some remaining console corruption that needs to be worked out.) Andres started digging into the vserver capabilities, which is key to the deployment of Bitfrost.

13. Firmware: Mitch worked on stabilizing the firmware for B4: he fixed minor bugs 1580, 1577, 498 and serious bug 1609. He reverted the automatic “freeze screen” (quiet boot) behavior due to the OS support not being ready for it. You can still use it by adding a “freeze” line in olpc.fth, and changed the startup sound so that you have to press a game key to hear it.

Note: Q2C14 is not recommended for general use; a new release will be issued as soon as Mitch get official EC bits from Quanta.

14. Embedded controller: Mitch added support for a new embedded controller (EC) command protocol to Open Firmware (OFW). Richard Smith worked on implementing the protocol. The protocol is mostly complete and partially tested. Its currently working well enough to switch the kernel over to using these commands. The next firmware release will have this new protocol enabled. Richard also tested an EC code drop from Quanta which worked on resolving some of our blocker bugs.

15. Hardware: John Watlington spent most of the week rewriting and updating the XO Hardware Design Specification. This is the document that describes the basic hardware features of the XO in detail. The electrical design of the B4 is completed. There are very few changes from the B3 design, just fixes for remaining small problems. The motherboard was released by Quanta for circuit board fabrication.

16. From the community: Rob Savoye reports that since ffmpeg isn't (and probably will never be) included in the OLPC builds, he built a binary tarball of Gnash with full audio and video support. (The Gnash build for 406 has no video support enable for Flash codecs.) You can download this snapshot of the upcoming Gnash release from ttp://gnashdev.org/olpc/download.html. The tarball gets installed in /usr/local, and the plugin gets installed in /usr/lib/mozilla/plugins. The embedded video performance is adequate, streaming performance is around 3-5 fps max. (This was on a B1. B3 results will be reported soon.)

2007-05-26

1. 80 B3 machines arrived at the OLPC offices in Cambridge on Friday. These machines, which are close to final, feature the Geode LX processor, improved keyboard and touch pad, many electrical and mechanical enhancements, and a brightly colored XO logo on the back. First impression: Wow!!

2. Dorchester: Walter Bender paid a brief visit to the Lilla G. Fredrick Pilot Middle School, one of three one-to-one computing programs funded by the State of Massachusetts. Although they are not (yet) using XOs, Principal Debra Socia has observed all things we have come to expect: more teacher and student engagement, more parent and community involvement, a higher level of discourse around learning, more writing, etc.

3. UL: Quanta and OLPC met with UL this week to determine the exact strategy for certification of the laptops. Nearly all testing will be done by UL Taiwan, close to the Quanta offices to allow close communication. The B3 units will undergo test starting end of next week. The main areas of test are thermal, electro-magnetic interference, and radio-frequency noise (from WiFi). We will test at 40C, 45C and 50C to determine our maximum sustained ambient operating temperature.

4. Green: Mary Lou Jepsen met with John Bullock, the author of the Basel Convention take-back protocol for mobile telephones. The Basel Convention was started in 1987 as a way to globally address toxic dumping through recycling and take-back programs. It has been ratified by almost all countries, a notable exception in the USA. John, a recycling expert, said “OLPC has set a new environmental standard with XO” and wants to find a way to both help us continue, and to get the story out to other CE manufacturers. He offered many suggestions for improving our environmental position.

5. Sugar: Over the last couple of weeks we have seen great advances in the Sugar user-interface and the underlying systems that support it. A particular ficus has been on the mechanisms for collaboration:

  • Marc Maurer has the Abiword-based Write activity hooked up to the Presence Service and Tubes API so it can find other people on the network. He is the first person who has tried to do it from C/C++; we are interested in seeing that experience documented.
  • The Collabora team has been making a lot of fixes to the Presence Service. They have also been working on patches to dbus to fix some issues and are pushing for a new dbus release. John Palmieri is integrating those patches and working on a new release.
  • The Collabora team has also been working on a stream API that will make it very easy for activities that want to talk directly with each other to do so from the Presence Service. And they have started work on integrating the peer-to-peer (called salut) XMPP code into the Presence Service.
  • Marco Gritti and Tomeu Vizoso have been very busy working on new web activity features. They have a new feature that makes if very easy to embed the browser directory into a python program and makes it possible to access the DOM directly from python instead of having to do it from C++. As a result, they were able to implement session restoration and saving of data to the Journal.
  • Marco also hooked up the xdg mime system into Sugar. This is one of the pieces required to let activities say which mime types they handle and how to associate them in the Journal.
  • Tomeu has also been working with Ben Saller to implement new features in the data store that are needed by the Journal.
  • Chris Ball began work setting up a tinderbox for Sugar, so that our activity and Sugar developers can see whether a Sugar build will succeed before trying it themselves. This should save them a lot of time as the Sugar build pulls in many external modules and often fails.
  • Chris also came up with a kernel patch to expose our ebook-mode “flip” kernel events to the input layer, which is where HAL listens for them. Once that's tested, we can have rotate on ebook-flip happening through Sugar, on a per-activity basis.

6. Etoys: Bert Freudenberg continues on dbus support in Etoys; bypassing the launcher program written in Python, the start up time of Etoys will be much shorter. Takashi Yamamiya's work on clipboard is also continuing: he is experimenting with the X protocol to copy objects from Etoys to Sugar, where they can be accessed by other activities, including the Journal. Yoshiki Ohshima is working on the integration with Pango. which will allow more and better language support in Etoys. Scott Wallace has been experimenting expression tiles and Ted Kaehler continues work on an Etoy example of physics simulation.

7. School server: Dave Woodhouse worked with John Watlington on the configuration of IPv6 and the school server. Holger Levsen has built a local mirror that now carries the Fedore Core 6 and 7 source for i386, PowerPC. Building the livecd now only takes 33 minutes compared to 45 minutes against a remote mirror. The mirror is located at http://fedora.laptop.org. Holger reports that last week’s issues in Anaconda were fixed by upstream, but he found a new bug, which prevents using a kickstart-file and thus automated installations at the moment. Luckily this error happens in textmode and graphical mode, so I expect it to be fixed soon. (The manual workaround for the moment is to not use a kickstart file and answer the questions about partitioning and networking manually.) Builds are available at http://xs-dev.laptop.org/holger/ and documentation is found at User:Holger.

8. Power management: Chris Ball talked with David Zeuthen (HAL maintainer) and Richard Hughes (gnome-power-manager maintainer) about the best way to design our power manager. Chris upgraded to the latest version of HAL and tested that it can expose our lid open/close events over dbus. Adding functionality to go to sleep with the backlight off when the lid is closed is only a few lines of code away now.

9. Suspend/resume: Marcelo Tosatti has been working on USB suspend/resume. He also has been working with Cozybit on trying to track down some suspend/resume issues with the wireless firmware. And he has been verifying another fix related to suspend with a starvation problem for the gc thread for the jffs2 filesystem; it sounds like this is fixed. Bernardo Innocenti and Dave Woodhouse also fixed a bug in the kernel serial driver on LX resume.

10. Systems infrastructure: Mitch Bradley investigated redoing the startup scripts in our system, which will end up being about 1/6th the previous size, understandable by mere mortals, and speed boot time. Chris Ball took a tcpdump of the web browser rendering over Ethernet for analysis with netplot. Rob Savoye has been working with Bernardo Innocenti on integrating Geode specific GLibc functions, which will improve performance in a number of areas. Bernardo is also worked on setting up to do the X Window System build environment for power management and for better handling of our input devices.

11. Kernel: Jon Corbet has a patch to turn off the camera LED when it is not in use. Andres Salomon worked on a DCON bug that appeared in some B3 hardware; after a resume, some of the GPIOs were in an inconsistent state, resulting in problems with DCON interrupt handling. The real cause is still unknown, but open firmware (OFW) has been changed to ensure that the necessary GPIO bits become unset after resume. Richard Smith is investigating further. Andres also worked on branching a new stable kernel, syncing the libertas tree up with master, and also syncing master up with Linux 2.6.22-rc1.

12. Firmware: Lilian Walter been making sure that power on/off audio, SD and the camera work on B3. Lilian is also working on the IPv6 and ping6. She has some very simple code for the IP layer (no extra headers for now). Next is to work on the address resolution bit (maybe hard code it just to test the Ipv6 layer so far with ping6).

Mitch Bradley released released new firmware Q2C14 with several bug fixes, a first pass at “quiet” boot screen support, wireless LAN auto-boot support for manufacturing, microphone LED blink reduction code (reduces the cost of the hardware workaround. Mitch also showed Quanta how to make an initrd image for manufacturing diagnostics and rrticulated a scheme for the mechanics of quiet boot across the firmware, kernel, userspace, and X transitions.

13. Hardware testing: Richard Smith worked on the B3 hardware checkout. Helped John Watlington test all parts of the system, including the firmware protect circuitry. Further testing (separate from the tens of functional tests that each XO is subjected to as part of the manufacturing process) includes such favorites as:

  • Thermal shock: spending twenty minutes at –20C, then jumping to 60C in less than two minutes; staying at 60C for 20 minutes, then dropping back to –20C in less than two minutes (the whole process is repeated 50 times);
  • Thermal profile: taking the temperature of most chips on the motherboard, while running a suite of applications at 50C;
  • Altitude testing: operation tested for 8 hrs at 5.5 Km;
  • Free-drop steel-ball test (onto LCD);
  • Free-throw test: simulating a child free throwing an XO, its battery, and power brick onto the floor.


2007-05-19

1. Taiwan: Mary Lou Jepsen gave a keynote address at inauguration of the Taiwan ICT Alliance, where she featured a fact that many in Taiwan didn’t know: by part count the XO hardware is 92% Taiwanese. Ambassadors from Paraguay, Belize, Costa Rica, Guatemala, El Salvador, Haiti, Nicaragua, Dominican Republic, Panama, Burkino Faso, Malawi, Sao Tome and Principe, Swaziland, Gambia, Palau, Marshall Islands, Solomon Islands and Nauru, and representatives from Brazil, Fiji, Indonesia, New Zealand, Philippines, Thailand, Mongolia, as well as 40 CEOs from Taiwanese IT companies attended. The ambassadors showed strong enthusiasm for XO and strong desire to become launch countries.

2. Villa Cardal, Uruguay: Walter Bender visited with the Ceibal Project team at their test site in a small country town about 80K from Montevideo. What was most impressive about the deployment is how comfortable the children and teachers seem with their Xos after only one week. The children are making extensive use of the video camera and word-processor to create multimedia documents. The teachers are comfortable with letting the children explore and then present their findings to the class. The school deployment team, led by Fiorella Haim, has been focusing on the mesh network—making sure that the children and their families will have Internet access both at school and home. The XO's sunlight-readable display came in handy—both for the children, who spend time with their XOs outdoors and for the towns people, who have some lovely parks for sitting, surfing, and reading.

3. Buenos Aires: Walter gave a demonstration of the XO to the Argentine ministry of education. Vice Minister Juan Carlos Tedesco was the senior member of a group about 15 people, including Gustavo Peyrano, Chief of Advisors, Olga Cavalli and Adrian Carvallo of the Foreign Offices Ministry (technology experts), Susana Montaldo, Minister of Education of Tucuman, and Adriana Canal, Advisor for Minister of Education of Buenos Aires. (Tucuman and Buenos Aires have been selected to be the sites of test schools.) The demo was mesh-centric; it highlighted the Layer 2 routing—browsing through a mesh point portal (MPP) was enabled by the presence of a relay mesh point—and mesh-enabled applications, including video conferencing, Connect-4, sharing of ebooks, and automatic backup and restore to and from a school server. Other demos included a demonstration of the journal, a test of extended battery-lifetime (more than 12 hours in ebook-mode), full-screen video, web browsing, eToys (including World Stethoscope—a means of sending data into eToys from the XO's microphone input), Turtle Art (a simple graphical environment for programming in Logo), and a serverless (mesh-enabled) listserv for posting community notices. The discussion that followed highlighted the unique features of the XO hardware, including the advantages of the display, low power, robustness, low environmental impact; software, including the collaboration features of the Sugar user interface and the Bitfrost security system; and the laptop ecosystem, including gang-chargers, solar-powered mesh repeaters, etc. Also discussed were observations from how children and teachers are using the XOs in Brazil, Nigeria, and Thailand.

Many thanks to everyone who worked so hard to make the demonstration a success, including Richard Smith, Chris Ball, Michail Bletsas, John Watlington, Dan Williams, John Palmieri, Marco Gritti, Chris Blizzard, Tomeu Vizoszo, the Collabora team, the eToys team, Erik Blankinship, Bahktiar Mikhak, Don Hopkins, Mitch Bradley, Andres Salomon, SJ Klein, Felice Gardner, and Jim Gettys.

4. Google’s Stephen Cho organized a day of discussions around an “Our Stories” project, including Sharad Sapra, head of UNICEF's Communications division, Dave Isay of StoryCorps, and Joe Lambert of the Center for Digital Storytelling. The goal was to refine milestones and support for both on-line and XO activities to help children interview people in their community and share those stories, to encourage teachers to work this into a class/community exercise, and to visualize the results on a world map. A public presentation was well received; around a dozen Googlers signed up to help make the project happen. The initial focus is on having a simple prototype ready by early June; Stephen hopes to host five-million stories from OLPC countries after three years. Similar works underway such as Brazil's Million Stories of Youth could use the same interfaces.

5. Taipei: Michail Bletsas spoke at the annual Taipei Summit conference, whose theme this year was WiMax. Michail expressed the opinion that WiMax is drifting away from relevance by focusing on licensed spectrum in the developed world. (OLPC's interest of course is unlicensed spectrum in the developing world.)

Prof. H.T. Kung of Harvard University showed up a demo of his collaboration with OLPC running on six XO laptops. These laptops—in the official Taipei booth—were accessing the Internet via a WiFi/WiMax gateway router. One of the XO's was running a traffic-management module, refereeing traffic for the other five and enforcing fairness in downloads over TCP.

6. Environmental: Several environmental groups have been in contact with Mary Lou Jepsen about our “greenness” and are duly impressed at how we go above and beyond EPEAT environmental specifications. Notably:

  • XO batteries last 4× longer than standard rechargeable batteries; long lifetime of batteries is not an EPEAT requirement.
  • Idle power consumption: Energy-Star compliance is mandated by EPEAT, but the idle power consumption of the XO laptop is 14× better.
  • 5-year laptop lifetime; long lifetime of laptop before obsolescence is not an EPEAT requirement.
  • Half the size and weight of a typical laptop; energy and resources used to make an XO are less; also not an EPEAT requirement and relevant for recycling

These groups are helping with the various aspects of our environmental statements and policies. In particular they are helping us craft the best “take-back” system we can, to assure XO laptops don’t end up in landfills, ever.

7. Human power: Pedal Power Haiti wants to try our laptops with the pedal power system they are using from Dissigno (a San Francisco-based human-power startup). This system is big, but folds up, and is in test already in Nepal and Haiti. The output is between 12–14.6 volts at 50–70 Watts. The system was designed to charge a car battery, and can work with our gang charger systems as well.

8. Power management: This week we passed a major milestone: working ebook mode using the read activity as vehicle. Suspend and resume are working on both GX and LX--although we have a few bugs left on the LX. Walter Bender demonstrated the fruits of many people's labor in Argentina, Peru, and Uruguay. In one test--with the caveat that the the WiFi was off, an XO ran for 23 hours on a 92% battery charge. Even with the backlight on, we have seen ebook mode run for more than 13 hours. Thanks go to Don Hopkins, Chris Ball, Mitch Bradley, and Andres Salomon.

The last major functional piece of resume is working; Marcelo Tosatti reports that it appears that basic functionality (detection of device insertion) is now working, even though he has no idea why (perhaps some change in mainline). All we need to do is to power up the USB ports after resume. Once this is done, we should have completed basic suspend and resume work, and move on to performance (both speed of resume, and power management in general. This will also allow us to have the mesh alive in ebook mode as soon as we have completely autonomous mesh firmware.

9. Suspend/resume: Chris Ball has prepared a jffs2 image that Quanta can use for testing LX suspend/resume. Resume is stable when done from the console, but not yet from inside X. Bernardo Innocenti found and helped to diagnose a problem with the serial port on LX after resume, and Dave Woodhouse came up with a fix.

We also looked at optimizations: with our standard kernel, resume takes 2–3 seconds from when the kernel starts up to when it finishes initializing. After disabling USB, we are down to about 1 second. Since the touchpad and keyboard remain powered up during suspend, we can skip the suspend/resume code for them—an additional savings of 0.5 seconds.

10. Kernel: At Dave Woodhouse's behest, Andres Salomon started looking at LOGFS, a potential successor to JFFS2. We won't ship it with Gen1, but it is something we are exploring for use after our initial release and an eventual Gen-2 system. Greg Kroah-Hartman is working on binding multiple PCI drivers to a single PCI device by way of a “piggy” bus driver: the piggy driver binds to all PCI devices; then other drivers can go through the piggy layer. It's still in active development: the code can be found in the -mm tree. Andres is finishing up the open firmware device-tree work. Bernardo also extended the kernel debugger (kdb) to be able to read and write model-specific registers (MSRs). Pierre Ossman tells us that an 8GB SD card worked on his XO, so now we know that we support 8G+ cards. Pierre also has a patch to significantly increase the speed of SD on our hardware.

11. X Window System: Bernardo is chasing X crashing on XVideo and RANDR; he has had a hard time reproducing the bug: he only sees it on a B2 machine with his own kernel—not with the stock 406 kernel. Jim Gettys is investigating the current state of X Window System as it pertains to the XO. We need to deal properly with ebook mode (the game buttons and the touchpad need to rotate along with the screen); the new input system hasn't landed in X.org head yet. We also have power-related work in both the X Window System and kernel driver teed up. Jordon Crouse implemented the X DPMS extension (screen saver) this week as well, completing another piece of what is needed for power management.

12. Firmware: Mitch Bradley has been busy. He

  • discovered a way to eliminate 64 mS from the resume time, using a barely-documented AMD test register;
  • discovered a problem with the microphone LED blinking at suspend/resume (John Watlington has a proposed fix);
  • improved firmware audio self-test for frequency response and distortion measurements;
  • analyzed speaker audio quality and proposed a zero-cost hardware mod to reduce distortion;
  • reduced the memory use of the firmware JFFS2 driver by a factor of ~8;
  • incorporated lovely new boot progress icons designed by Eben Eliason;
  • specified in great detail a new protocol for CPU/EC command interactions, to improve speed and reliability;
  • revised, corrected, and documented the interrupt routing for the B3 systems;
  • determined the correct software fix for the camera-light-left-on problem;
  • corrected network boot problems that were holding up manufacturing;
  • added manufacturing data strings to the device tree in support of school server interactions;
  • added MSR, DCON, display registers, and manufacturing data support to the Linux-hosted Forth debug tool;
  • added SD high-capacity support to the firmware SD driver;
  • provided support and training for new Quanta software engineers; and
  • provided technical support for country evaluators late at night on IRC.

Lilian Walter read up on IPv6, came up with a plan and started some coding. That stopped in order to get the power management code working on the B3.

13. School server: John Watlington reports that the school server is on track, with schematic-level design starting. A batch of Active Antennas is back from assembly. Holger Levsen reports:

  • Automatic livecd is almost working. He found three bugs in livecd-installer in textmode: two of them are fixed; the remaining problem is trivial to workaround. The installed system boots fine.
  • Fully automatic installation (FAI) is working. We need to put the server applications in FAI to have them automatically installed. (A how-to for using FAI needs to be written.)

14. Multicast: Miguel Álvarez finished implementing and debugging a new version of Dan William's “MostlyReliablePipe.” This one is based on the scalable reliable multicast (SRM) protocol, and so far the results seem interesting: in his first test-bed with four nodes—all transmitting at a rate of one message/s and with an induced continuous error-rate of 30% (which I hope is far worse than any situation the mesh will face), no packets get lost, and the overhead in terms of traffic oscillates between 1-5% of the total data transmitted. He will be conducting a much larger test and will upload the code to git for everyone to use, critique, comment and modify.

15. Sugar design: Eben Eliason:

  • uploaded a number of new screen shots to the Activities section of the wiki;
  • created a series of find/replace dialog mock ups that employ some new approaches to the problem;
  • created an extensive section in the human interface guidelines about the new toolbar design;
  • created a series of icons for status indication during the boot process which integrate neatly with the OLPC logo graphic style;
  • worked with Marco Gritti to spec the visual style for “inactive” controls and buttons in the UI;
  • began working on a series of mock ups specifying the various invitation methods, receiving invitations, and the notification system;
  • continue working back and forth with Manusheel Gupta to “Sugarize” the Paint activity;
  • worked with Pentagram on the mesh UI design; and
  • continue working back and forth with the Abiword team to Sugarize the Write activity.

16. TamTam: Jean Piché reports that the TamTam team is making its summer plans:

  • solidify TamTam on the B4 and C machines: better keyboard response; a possible move to a 22k sampling rate (This would improve audio quality famously, specially where headphones or external speakers are used.); reinstate microphone and keyboard recording; and solve all pop-up window issues.
  • merge TamTam Jam and miniTamTam into one integrated activity; the TamTam suite would revert to a three-prong affair: Play, Compose, Make sounds.
  • Sugar conformity and integration: the Sugar controller toolkit is almost complete enough for all of the TamTam purposes.
  • TamTam tunes outside TamTam: a simple embeddable TamTam player so children can put their compositions into documents. (AbiWord would be the first target.)
  • tutorials and field trials: text-free tutorials to show children how to use the applications;
  • The sound bank will be fully overhauled (hopefully at a 22k sampling rate).

17. Ebook: Josh Gay and Ian Bicking spent two days at OLPC working through our infrastructure for recording and aggregating comments. Josh is currently finishing a port of Stet, the 'heat map'-style commenting system used for the GPLv3 draft, which will be usable for commenting on any web page(See http://gplv3.fsf.org/comments/gplv3-draft-3.html). Ian is looking into a simple reader interface that renders any HTML page, not only those that have been preprocessed, as a way of integrating our current book-reader concept more neatly with the browser. Marco Gritti and Ian suggested pyxpcom might be the right way to proceed, with some success (See http://mailman.laptop.org/pipermail/sugar/2007-May/002396.html).

18. In the community: Bernardo Innocenti has started volunteering his time at OLPC working on kernel and other low level software. Hal Murray is helping out Lilian Walter testing that our power management hardware controls are all correct and understood.

19. Etoys. Works continue to match the Etoys' Look better with the Sugar environment. Takashi Yamamiya has been working on copy and paste multimedia objects between EToys and other sugar activities. Bert Freudenberg built a new VM with preliminary D-Bus support for Etoys with Takashi's clipboard support. Andreas Raab's "virtual display" code is incorporated so that people can make a content for XO's 1200x900 pixel screen regardless the actual size of display. A Sugar-like menu bar is added by Yoshiki Ohshima. Scott Wallace's enhancement of "property sheet" provides better interface to manipulates the graphical properties of user objects. Alan Kay and Ted Kaehler continue on making more educational examples and documents in and for Etoys.

2007-05-12

1. Ceibal Project, Villa Cardal, Uruguay: President Vasquez inaugurated the first laptop school on Thursday. Villa Cardal is a small community with only one school of 150 children, so it is truly 1:1. As you might imagine there was tremendous excitement: the children and their families were ecstatic.

Despite the fact that none of the teachers have had experience with computing, they diagnosed a bug in the software: a few of the machines were hanging—nothing could get them to boot fully. The teachers discovered that this was only happening to children with a tilde or ñ in their names. An impressive example of teachers learning to learn! (The bug has been fixed.)

2. Alan Kay, Kim Rose, and the Etoys team (Bert Freudenberg, Ian Piumarta, Yoshiki Ohshima, Scott Wallace, Kazuhiro Abe, and Maic Masuch) came together for a week-long mini Squeakfest at the OLPC office. It was week of a remarkable progress; highlights include: Burt and Yoshiki's integration of the Sugar presence service into eToys—eToys now supports collaboration over the mesh for sharing eToy objects and scripts, a shared workspace, VOIP, chat, etc; an update on Ian's “dynamically reconfigurable virtual machine”; and Kazuhiro's World Stethoscope project—an eToys extension that takes advantage of the XO's microphone jack to import data into projects (See http://squeakland.jp/abee/tmp/WSN-3A_QuickReference.pdf). Squeakfest07 will be held August 1–3 in Chicago (See http://imamp.colum.edu/eceim/squeakfest07/index.php).

3. The XO is one of the featured designs at the “Design for the Other 90%” exhibition at the Cooper-Hewitt Museum in New York. “Ninety-five percent of the world’s designers focus all their efforts on developing products and services exclusively for the richest 10 percent of the world’s customers,” said Dr. Paul Polak, president of International Development Enterprises and a member of the exhibition’s advisory council. “Nothing less than a revolution in design is needed to reach the other 90 percent,” he added.

4. B3 build: Quanta, Mary Lou Jepsen and David Woodhouse arrived in Shanghai (this morning) and have started in on the B3 build. Five B3 laptops are sitting in front of them at the moment, all working. David is working on a debug of suspend/resume. Mary Lou is focusing on the mechanical issues, safety and certification issues. OLPC will get 70 B3 machines for developers.

5. B3 housing: The B3 housing arrived in Cambridge this week. The most prominent new feature is the brightly colored XO on the back cover of the laptop. Other changes include a clean line on the battery housing and thinned out plastic on the front bezel for “glowing” camera and microphone “in-use” indicators. Improvements for robustness include: a steel plate in the keyboard area; a smaller battery cavity; rubber “bunny ears”, thicker bumpers and ribbing made out of pure polycarbonate, a longer keyboard cable, and a water resistance in touch-pad area. Improvements for usage include: increased display tilt; improved keyboard feel and responsiveness; improved touch-pad responsiveness; a gray bezel around the display; improved fit and finish of the buttons; X and O indicators on the touch-pad buttons; and the 400 unique XO color combinations (for IDing laptops in a crowded classroom).

6. Power measurement: Steve Smith and Chris Ball have a B3 XO connected to the tinderbox and have instrumented the power rails. Readings are obtained through a Python program.

7. Power management: This week we merged suspend/resume support in master. So far, it only works on the GX; LX resume is still not working in Linux (it works correctly in firmware testing). Andres Salomon is working on it.

8. Firmware: Mitch Bradley figured out how to access the new EC commands reliably, and documented it. Mitch also improved the audio self-test and used it to measure the speaker performance. Mitch is still working on B3 NAND FLASH issues. Lilian Walter added functionality to play PCM .wav files (in addition to IMA ADPCM .wav files) and is researching IPv6.

9. Presence service: This week was dominated by the run up to get sharing over the mesh working. Lots of bug fixes are in place and the first connect activities are in place and working. Thanks to the Collabora team, Dan Williams, John Palmieri and Marco Gritti. (The video-call activity also made a lot of progress this week.)

10. Journal: Tomeu Vizoso, Marco, and Ben Sadder also made a lot of progress on the data store and Sugar integration. The write and web activity now use the Journal and the data store. Most of the integration work on the Journal-side is largely complete. Marco also spent a lot of time working on the GTK theme that we're going to use with the new images since we're going down that path. Lots of progress has been made here as well.

11. In the community: Marc Maurer is making use of the presence service from a C/C++ application, Abiword. He has spent time working on the Abiword collaboration code and added functions to the XO write activity: the ability to set colors and font attributes, implemented more table support, and simple zooming functions. He also cleaned up a lot of the icons in the activity.

At the MIT Media Lab, students of MAS.964 (One Laptop Per Child) have been working since the winter on projects relating to the XO. They will be holding a poster and live demonstration session on Tuesday, May 15, from 2–4 PM at the Media Lab, lower-level atrium (http://whereis.mit.edu/map-jpg?selection=E15).

Polychronis Ypodimatopoulos set up a mesh demo where each laptop takes a picture at random times and tries to send it over to all other nodes in the mesh network. He has a web page where the aggregate data are displayed, based upon the number of hops between nodes. You can click on the pictures and see what the respective direct neighbors and nodes further than one hop are for the next node (See http://lyme.media.mit.edu/mesh.php). He also measures the rate at which presence information arrives at each node from every other node in the mesh, without doing a single broadcast, but only send frames from neighbor to neighbor. He can thus predict with fairly good accuracy if a node is still present in the mesh.

Junia Anacleto, a visiting scientist at MIT from the Federal University of San Carlos, Brazil, has been working with a small group of Portuguese-speaking students at the King School in Cambridge. The children took to the laptops immediately; they have blogged their experiences (See http://lia.dc.ufscar.br/olpcod), making extensive use of videos they have posted to youtube.

2007-05-05

1. Green laptop: By concentrating on low-cost, low-power, long-life, and field repair, we have achieved what many assume costs extra (and many corporations would ordinarily charge more for): XO is the most environmentally friendly laptop ever made. At one point we had heard from very knowledgeable manufacturers that it would cost us at least US $20 extra just to meet the EU environmental requirements. This was not true. In fact, if every laptop and desktop user in the world switched to an XO right now, about 85 terawatt-hours of energy could be saved. The energy-bill savings alone could fund the outright purchase of 50-million XO laptops. In addition, 50M barrels of oil could saved, which is an additional US $500M in carbon-offset dollars, yearly.

2. Vatican City: Antonio Battro participated in the XIII Plenary Session of the Pontifical Academy of Social Sciences, which was dedicated to “charity and justice in the relations among peoples and nations.” He presented the OLPC program at the round-table on the Millennium Goals on education.

3. Brasilia hosted a conference on digital inclusion on Thursday. Prof. Lea Fagundes stole the show with an impassioned talk about olpc, showing the work and sharing the words of the children involved.

4. OLPC is very pleased to announce the hiring of Kim Quirk as Project Manager. Kim comes to OLPC with over 20 years experience managing projects in industries ranging from network products to e-commerce to educational software.

5. Mesh: Michail Bletsas evaluated three sets of rubber rabbit ears (WiFi antennae); one is much better than the others. Quanta will use these ears for all the B4 units. Look for the WiFi range on your XO to increase by at least 50%.

6. B3 build will start on May 11 in Shanghai. B3 is essentially the mass- production laptop (without texture on the plastic surfaces).

7. Richard Smith and John Watlington wired up a pre-B3 to the voltmeter, allowing detailed measurements of power consumption, broken down component by component (LCD, CPU/Southbridge, EC, WLAN, etc.) This work will continue next week as more components are gradually added.

8. Work on the School Server hardware design continued this week. It was decided to attempt a sealed case design for areas of high humidity and salt exposure, but we are still exploring the thermal issues. Processor selection will be completed by the middle of next week. The industrial and mechanical design have begun.

9. The Collabora team continues work on a video-chat application and have found (what we hope are) the remaining bugs in the video stack. They are working with John Palmieri to get the code packaged up and into our builds.

10. J.M. Maurer made progress on a syntax-highlighting plugin for Abiword. This will be useful for children (and adults) who want to develop software on the laptop. Right now it supports syntax highlighting for both Python and C++.

11. Data store and journal work continues. Tomeu Vizoso has hooked the browser history into the journal and Ben Saller continues working on various parts of the data store. Ben is currently working on getting the data store properly exposed through DBus.

12. Dan Williams and Jordan Crouse fixed some problems in the X server on the GX and the video stack. Dan also demonstrated a version of the Read activity that can show itself in the mesh view: you can click on it and a PDF is downloaded between two machines—suddenly two kids are reading it.

13. Mitch Bradley released candidate firmware for the B3 SMT build, with:

  • enhance diagnostics suitable for manufacturing burn-in tests;
  • fast-boot using game keys to force interaction;
  • more secure EC command access; and
  • a larger frame buffer to prevent pixmap starvation.

14. Andres Salomon spent this week on pre-B3/LX debugging. A NAND chip-select fix (to enable doubling the size of NAND on B3), audio and camera fixes, etc. were committed to the stable kernel. (The image quality of the camera is much improved as a result.)

15. Chris Ball compiled a collector bug of issues to fix before the B3 build (See http://dev.laptop.org/ticket/1403).

16. Jim Gettys worked on a system-software (primarily power-management-related) specification (See Power_Management).


2007-04-28

1. Cambridge: Delegations from Argentina, Brazil, Colombia, Costa Rica, Ethiopia, Kazakhstan, Kenya, Libya, Nepal, Nigeria, Pakistan, Panama, Peru, Romania, Russia, Rwanda, Thailand, and Uruguay attended a week-long meeting at the OLPC headquarters to discuss the current status of the program, share ideas, and plan next steps.

Just seeing and hearing the diversity of faces and voices around the table was remarkable. Although the discussion was occasionally heated, every attendee was convinced that OLPC is something they should and must do for the children of their countries. Passion was infectious; and most important: there was a vibrant exchange among the attendees of their experiences and ideas about how to move forward together.

2. A pivotal moment was when Marta Voelcker showed videos from the work being done with XOs by Léa Fagundes and her colleagues at the University of Rio Grande do Sul in a school in Porto Alegre; this was followed by Irene Ficheman, who showed videos from the work she and her colleagues from University of São Paulo are doing with XOs in a school in that city. We were able to see how the teachers there worked with the XO and each other (a priceless moment was helping each other open the XO for the first time) and heard how students do not want to go home—even when dismissed early. (The children without laptops at the school in the Porto Alegre—only one in four have an XO—are emulating the landless movement in Brazil—Movimento Sem Terra—they have created a laptop-less student movement.)

3. OLPC added a new country this week: the USA. This move will engage a wider developer community, impacting and improving software and content. Please note that such a move into schools and learning in the USA is not necessarily a commercial machine. Several options are under consideration. More details when they are available.

4. One of the pleasant surprises of the week was the extent to which software development for the XO is beginning to take a life of its own. A developer in Pakistan is building a Qur'anic Studies for the laptop; a team from Uruguay surprised us with a demonstration of an activity for using USB “dongles” on the laptop; a team from Brazil has built some original “learning” games for the laptop; and a team from Argentina has been continuing to work on a wide variety of activities, including a calculator activity that “shows its work.”

5. Environmental impact: Mary Lou Jepsen has compiling data to determine the environmental impact of the XO. Of course XO is literally the greenest laptop on the planet, but it is also figuratively the greenest: having less environmental impact than any laptop ever made. Mary Lou is working with EPEAT, “a procurement tool to help institutional purchasers in the public and private sectors evaluate, compare and select desktop computers, notebooks and monitors based on their environmental attributes.” EPEAT provides “a clear and consistent set of performance criteria for the design of products, and provides an opportunity for manufacturers to secure market recognition for efforts to reduce the environmental impact of their products.” Details will be available next soon.

6. Weather-proofing: XO is made for use outdoors. On a rainy day in Boston, Mary Lou decided to let the BBC film her testing the XO in a downpour. She worked with the laptop for an hour in the pouring rain while they filmed; both she and the laptop got drenched. XO worked fine; the crew were to be able to see the screen clearly outside—it was bright despite the rain.

7. B3 Hardware and Firmware: Mitch Bradley, John Watlington, and Richard Smith returned from Taipei after a successful bring-up of preB3. Together with the team from Quanta, they:

  • solved a camera-noise problem that has been plaguing us for months;
  • with help from Tom Sylla fixed the RAM stability problem by improved settings of RAM timing registers—10 boards with 3 different RAM vendors ran memtest overnight with no errors; and
  • stabilized suspend/resume with the OFW test.

Gary Chiang made a test rig whereby one XO can force another to do repetitive suspend/resume cycles. We used it to perform 14,000 consecutive suspends of 1-second duration and 234 consecutive 2-minute suspends. Tom has been extremely helpful in debugging video and suspend problems this week.

Mitch trained some of the Quanta software people in the use of open firmware(OFW). They succeeded in doing their own OFW build, and used it to test a fix for a GPIO-related leakage issue.

Lilian Walter's OFW-based hardware test suite proved invaluable in the preB3 bring-up. It let us prove that various hardware features were working very quickly, without the “is the problem caused by hardware or software” issue that often arises when trying to use OS drivers for testing.

Quanta has implemented most of the new EC commands that Richard specified, so we can migrate away from direct access to EC GPIO ports (which was a latent security hole). Mitch have written and tested OFW interfaces to those new functions.

Jordan Crouse, Chris Ball, and Andres Salomon worked on the LX graphics driver to shake it down (the LX has a significantly better graphics processor requiring significant changes and additions to the drivers). Chris and Jordan debugged an X cursor problem on the pre-B3 with Jordan Crouse. Andres worked with Jordan on lxfb and DCON drivers, and committed them. The DCON support is now broken out, and both the LX and GX frame-buffer drivers can control it.

Chris Ball took Quanta's testing spreadsheet and added missing bugs to Trac. He also wrote a kernel patch to fix an audio bug (by inverting EAPD) on B3, and submitted it to Jaya Kumar who maintains the audio driver we use.

8. System software: Andres committed initial code for calling into OFW, and changed the platform detection code to use OFW rather than dealing with GPIOs.

Chris also brought up Sugar under Python 2.5 on an XO using the Fedora 7 packages, which we'd previously thought to be impractical. He is in the middle of taking performance measurements which we can use to help decide whether and when we want to migrate the build to it.

9. Localization: Jim Gettys gave a presentation on localization at the Country Meeting. The “meat” of the presentation can be found in the wiki (See Localization). He also gave a presentation on the design of the X0-1 at MIT; a video of this presentation can be found at: http://forum.wgbh.org/wgbh/forum.php?lecture_id=3417. It was attended by about 100 people, and may result in a number of people contributing to the project.

10. Journal: This week Ben Saller joined the software team to work on the Sugar data store. Welcome, Ben. He's based in San Fransisco and is working remotely. Ben already has a few things working in the data store including a working query engine, a simple file-based back-end data store and full-text indexing. Marco Gritti has integrated it into jhbuild (our sugar build script) and Tomeu Vizoso has started on integrating into the Journal activity. It's great to see this work finally underway.

11. Presence: The new presence service based on the work that Dan Williams and the Collabora team have been working on has landed in jhbuild. This means we can use the XMPP/server-based bits for collaboration and move to the new “tubes” model for activities. This code is still under heavy development so expect some bumps, but this is a big step that a lot of people have been working on for a long time.

12. Sugar: This week Tomeu, Marco and Eben Eliason met in Italy to work through a number of design issues surrounding controls and look and feel. Those notes have been posted to the mailing list and a full overview is in the wiki for anyone interested.

13. Collaboration: Guillaume Desmottes from Collabora has been working on the “collaboration bits” and has a sample activity (based on Connect-4) working on top of the new tubes/collaboration API working in the sugar environment. He also spent a lot of time debugging video and VOIP problems. There turned out to be an incompatibility between gstreamer and one of the streaming libraries. Most of the UI for the video-call activity is done; the streaming issue is being fixed; once that's completed, we should have a very nice video call activity on the XO.

14. Erik Blankinship and Bakhtiar Mikhak from Media Mods demonstrated a shared camera activity this week. While it doesn't yet leverage the tubes/collaboration API, it is a harbinger of some of the new modes of interactive learning enabled by the XO/Sugar architecture.

15. Connectivity: Mesh testing continues and this time we have some nice results to report from our friends at UFF in Rio de Janeiro. In one test they placed five laptops in five different floors in their building and they measured application throughput—copying a file using the Linux SCP command. After four hops, there was 500 kilobits of real application throughput!! They also measured (in the lab) throughput via a chain of ten laptops. (A long chain of laptops can be created by means of special debugging features in the laptop's firmware.) Using the iperf benchmarking program, they got over 2 megabits over 9 hops.


2007-04-28

1. Cambridge: Delegations from Argentina, Brazil, Colombia, Costa Rica, Ethiopia, Kazakhstan, Kenya, Libya, Nepal, Nigeria, Pakistan, Panama, Peru, Romania, Russia, Rwanda, Thailand, and Uruguay attended a week-long meeting at the OLPC headquarters to discuss the current status of the program, share ideas, and plan next steps.

Just seeing and hearing the diversity of faces and voices around the table was remarkable. Although the discussion was occasionally heated, every attendee was convinced that OLPC is something they should and must do for the children of their countries. Passion was infectious; and most important: there was a vibrant exchange among the attendees of their experiences and ideas about how to move forward together.

2. A pivotal moment was when Marta Voelcker showed videos from the work being done with XOs by Léa Fagundes and her colleagues at the University of Rio Grande do Sul in a school in Porto Alegre; this was followed by Irene Ficheman, who showed videos from the work she and her colleagues from University of São Paulo are doing with XOs in a school in that city. We were able to see how the teachers there worked with the XO and each other (a priceless moment was helping each other open the XO for the first time) and heard how students do not want to go home—even when dismissed early. (The children without laptops at the school in the Porto Alegre—only one in four have an XO—are emulating the landless movement in Brazil—Movimento Sem Terra—they have created a laptop-less student movement.)

3. OLPC added a new country this week: the USA. This move will engage a wider developer community, impacting and improving software and content. Please note that such a move into schools and learning in the USA is not necessarily a commercial machine.

4. One of the pleasant surprises of the week was the extent to which software development for the XO is beginning to take a life of its own. A developer in Pakistan is building a Qur'anic Studies for the laptop; a team from Uruguay surprised us with a demonstration of an activity for using USB “dongles” on the laptop; a team from Brazil has built some original “learning” games for the laptop; and a team from Argentina has been continuing to work on a wide variety of activities, including a calculator activity that “shows its work.”

5. Environmental impact: Mary Lou Jepsen has compiling data to determine the environmental impact of the XO. Of course XO is literally the greenest laptop on the planet, but it is also figuratively the greenest: having less environmental impact than any laptop ever made. Mary Lou is working with EPEAT, “a procurement tool to help institutional purchasers in the public and private sectors evaluate, compare and select desktop computers, notebooks and monitors based on their environmental attributes.” EPEAT provides “a clear and consistent set of performance criteria for the design of products, and provides an opportunity for manufacturers to secure market recognition for efforts to reduce the environmental impact of their products.” Details will be available next soon.

6. Weather-proofing: XO is made for use outdoors. On a rainy day in Boston, Mary Lou decided to let the BBC film her testing the XO in a downpour. She worked with the laptop for an hour in the pouring rain while they filmed; both she and the laptop got drenched. XO worked fine; the crew were to be able to see the screen clearly outside—it was bright despite the rain.

7. B3 Hardware and Firmware: Mitch Bradley, John Watlington, and Richard Smith returned from Taipei after a successful bring-up of preB3. Together with the team from Quanta, they:

  • solved a camera-noise problem that has been plaguing us for months;
  • with help from Tom Sylla fixed the RAM stability problem by improved settings of RAM timing registers—10 boards with 3 different RAM vendors ran memtest overnight with no errors; and
  • stabilized suspend/resume with the OFW test.

Gary made a test rig whereby one XO can force another to do repetitive suspend/resume cycles. We used it to perform 14,000 consecutive suspends of 1-second duration and 234 consecutive 2-minute suspends. Tom has been extremely helpful in debugging video and suspend problems this week.

Mitch trained some of the Quanta software people in the use of open firmware(OFW). They succeeded in doing their own OFW build, and used it to test a fix for a GPIO-related leakage issue.

Lilian Walter's OFW-based hardware test suite proved invaluable in the preB3 bring-up. It let us prove that various hardware features were working very quickly, without the “is the problem caused by hardware or software” issue that often arises when trying to use OS drivers for testing.

Quanta has implemented most of the new EC commands that Richard specified, so we can migrate away from direct access to EC GPIO ports (which was a latent security hole). Mitch have written and tested OFW interfaces to those new functions.

Jordan Crouse, Chris Ball, and Andres Salomon worked on the LX graphics driver to shake it down (the LX has a significantly better graphics processor requiring significant changes and additions to the drivers). Chris and Jordan debugged an X cursor problem on the pre-B3 with Jordan Crouse. Andres worked with Jordan on lxfb and DCON drivers, and committed them. The DCON support is now broken out, and both the LX and GX frame-buffer drivers can control it.

Chris Ball took Quanta's testing spreadsheet and added missing bugs to Trac. He also wrote a kernel patch to fix an audio bug (by inverting EAPD) on B3, and submitted it to Jaya Kumar who maintains the audio driver we use.

8. System software: Andres committed initial code for calling into OFW, and changed the platform detection code to use OFW rather than dealing with GPIOs.

Chris also brought up Sugar under Python 2.5 on an XO using the Fedora 7 packages, which we'd previously thought to be impractical. He is in the middle of taking performance measurements which we can use to help decide whether and when we want to migrate the build to it.

9. Localization: Jim Gettys gave a presentation on localization at the Country Meeting. The “meat” of the presentation can be found in the wiki (See Localization). He also gave a presentation on the design of the X0-1 at MIT; a video of this presentation can be found at: http://forum.wgbh.org/wgbh/forum.php?lecture_id=3417. It was attended by about 100 people, and may result in a number of people contributing to the project.

10. Journal: This week Ben Saller joined the software team to work on the Sugar data store. Welcome, Ben. He's based in San Fransisco and is working remotely. Ben already has a few things working in the data store including a working query engine, a simple file-based back-end data store and full-text indexing. Marco Gritti has integrated it into jhbuild (our sugar build script) and Tomeu Vizoso has started on integrating into the Journal activity. It's great to see this work finally underway.

11. Presence: The new presence service based on the work that Dan Williams and the Collabora team have been working on has landed in jhbuild. This means we can use the XMPP/server-based bits for collaboration and move to the new “tubes” model for activities. This code is still under heavy development so expect some bumps, but this is a big step that a lot of people have been working on for a long time.

12. Sugar: This week Tomeu, Marco and Eben Eliason met in Italy to work through a number of design issues surrounding controls and look and feel. Those notes have been posted to the mailing list and a full overview is in the wiki for anyone interested.

13. Collaboration: Guillaume Desmottes from Collabora has been working on the “collaboration bits” and has a sample activity (based on Connect-4) working on top of the new tubes/collaboration API working in the sugar environment. He also spent a lot of time debugging video and VOIP problems. There turned out to be an incompatibility between gstreamer and one of the streaming libraries. Most of the UI for the video-call activity is done; the streaming issue is being fixed; once that's completed, we should have a very nice video call activity on the XO.

14. Erik Blankinship and Bakhtiar Mikhak from Media Mods demonstrated a shared camera activity this week. While it doesn't yet leverage the tubes/collaboration API, it is a harbinger of some of the new modes of interactive learning enabled by the XO/Sugar architecture.

15. Connectivity: Mesh testing continues and this time we have some nice results to report from our friends at UFF in Rio de Janeiro. In one test they placed five laptops in five different floors in their building and they measured application throughput—copying a file using the Linux SCP command. After four hops, there was 500 kilobits of real application throughput!! They also measured (in the lab) throughput via a chain of ten laptops. (A long chain of laptops can be created by means of special debugging features in the laptop's firmware.) Using the iperf benchmarking program, they got over 2 megabits over 9 hops.

Laptop News is archived at Laptop News.


2007-04-21

1. Taiwan: John Watlington, Mitch Bradley, and Richard Smith traveled to Quanta in Taiwan to work with Victor Chao, Arnold Kao and their team on the “bring up” of the pre-B3 boards. Jordan Crouse, Chris Ball, and Andres Salomon helped the team in Taiwan from afar (Colorado and Cambridge). Bottom line: it works.

2. São Paulo: Work began at a school on the periphery of the city with the XO this week. Naturally, every kid is totally excited. The only question anyone in the school, whether kid, teacher, administrator or parent, has is “When can I get one?” Teachers are staying up late to play with their machines and show the kids what they learned. Kids are teaching other kids reducing the burdens of class size and different levels. The school is transforming into a place of joy and excitement. They are beginning work on their wiki-based local-history project which they plan to collaborate with other schools.

3. New “rabbit ears” arrived in Cambridge this week for our evaluation. Notably, these ears, when attached to a laptop, survive a five-foot drop test with direct impact on the ears in their extended (out) position. We will be testing them to higher drop heights in the coming weeks.

4. Sugar: This week saw numerous small fixes in the UI to improve the zoom experience. Marco Gritti, Tomeu Vizoso, and Eben Eliason have reached a consensus about how to handle controls in the UI, which is an important part of our developer story. Some of the compromises we have made won't give us the exact experience we are looking for, but they minimize risk to the project.

5. Chat: A simple chat activity for the XO is coming together thanks to the joint efforts of Dan Williams and the Collabora team. Collabora is also putting together a video-call activity.

6. Mesh portals: Dan Williams wrote up instructions on using B2s as mesh portals. Chris Ball tested and released the instructions in the wiki (See Establishing_a_Mesh_Portal).

7. Firmware: Chris and Mitch also tested OFW's wifi driver; it works. Having a wifi driver in the firmware allows us to build a script that can update our laptops with a button-press rather than carrying USB keys around.

8. Kernel: Andres worked with the Sparc and Power PC folks (upstream) on getting a device tree API that makes everyone happy. He also had his typical weekly adventure: he synched master up w/ Linus Torvalds; we now have 2.6.21-rc7 working.

9. Libraries: Christine Madsen has been working on visualizations of how different archives and libraries can work together to form an open library exchange. Justin Thorp from the Library of Congress's World Digital Library (WDL) project came to OLPC for two days of library discussions, and met with SJ Klein, Eben, Adam Brandi, Todd Kelsey, and Mel Chua. WDL is developing the next release of their interface and collection with target of the end of the summer.

10. Wikis: The Commonwealth of Learning (COL) hosted an annual conference about collaborative production of learning materials in Vancouver, Wednesday through Friday. Attendees included Merrick Schaefer of UNICEF, Murugan Pal of CK12, Erik Moeller of Wikimedia and Open Progress, and Joel Thierstein of Connexions; who are all working towards a global collection of CC-BY and locally-developed works. We set immediate goals for sharing materials across these projects; and identifying collections. COL offered broad support across their network of teachers and volunteers, especially in Nigeria. Erik and Brion Vibber from Wikimedia discussed how MediaWiki is planning to support asynchronous and offline editing; and 'live' off-line snapshots that people can edit. The Wikipedia 0.5 static snapshot was released last week; it can be downloaded via torrent. A child-friendly selection of topics is being developed; but still written at a high language level. A proper kid's-encyclopedia is still in the future.

11. Remote display: Zvi Devir documented a second method for remote display of an XO laptop in the wiki (See Remote_display). The trick is to install RealVNC and run x0vncserver on the XO. The remote computer, which can be connected to a video projector, runs a vncviewer that clones the XO display. (Note that this method will not yet workwhen the laptops are in mesh mode—we need to enable packet-forwarding on the School Server for the vnc connection. Until then, the XO must be used in infrastructure mode.)

Laptop News is archived at Laptop News.


2007-04-14

1. São Paulo: Roseli de Deus Lopes and her team have been working with the teachers for a smooth introduction and work began with XOs in the school in this week. Naturally, even though there are only 100 laptops initially, word spread throughout the school and all the children and teachers are anxious to participate. David Cavallo met with the teachers for several days: the teachers and children will work in groups in inter-disciplinary projects, including a local-history project to grow and combine with all laptop schools.

2. Porto Alegre: Lea Fagundes and her team have been working with the XO in the Luciana de Abreu Elementary School for three weeks and already is having tremendous impact. The children of course are doing fantastic work and you see them moving around the school, taking pictures, working on projects, and truly engaged in their learning. Yesterday two teachers were unable to come to school due to family emergencies and the principal could not get substitutes; they dismissed the children of those classes early. For the first time in anyone's recollection, no one left when dismissed, preferring to stay and work with the laptops. The school had record attendance by parents for a meeting, with more than 10× the usual number attending. The teachers and children are ecstatic. The concrete example of chidlren, teachers, laptops and learning is changing the minds of doubters.

3. Rio de Janeiro: Michail Bletsas attended a two-day meeting organized by Rede Nacional de Ensino e Pesquisa (RNP), the organization that runs Brazil's academic network. The main theme of the meeting was digital inclusion and a people from the USP and Universidade Federal Fluminense (UFF) presented their first results from testing wireless connectivity on the XO laptop. Their conclusion: it works.

4. FISL8.0: Michail and Javier Cardona delivered back-to-back presentations on the various aspects of the OLPC mesh. Javier concluded with a nice audio-streaming demo via the mesh. Two XOs were streaming audio between them, their transmission power was limited to 1mW (from 60), so that the range between them was limited—about 40m with the rabbit ears down. One person went to the end of the lecture hall with one of the XOs and the audio stopped; another person went to the middle of the room with a third XO, which restored the audio flow.

John Palmieri, Tomeu Vizoso, Marcelo Tosatti, David Cavallo, and Jim Gettys also attended the conference, which is the largest free software conference in the developing world (~5000 people pre-registered for the conference). Attendance at the OLPC booth was at times a crush and was always very busy.

5. Carla Gomez-Monroy, a former student of Walter's from the MIT Media Lab, will be helping us with the test school deployments. Carla spent several years working with the Schlumberger Excellence in Educational Development (SEED) Foundation, doing constructionist projects in schools in the developing world, including Nigeria.

6. Is XO the “greenest” laptop on the planet? This seems not to be just literal but also appears figurative: Mary Lou and Robert spent some time talking to various environmental agencies last week. Our low-power design, RoHS compliance, LED backlight (rather than mercury-containing CCFL), battery with 4× the standard battery lifetime, elimination of PVCs and Brominated flame retardants, etc., may actually spur environmentalists to create a new category for our laptop. More on this in the coming weeks.

7. B3: Pre-B3 motherboards will be made today (Saturday) at Quanta. The pre-B3 bring up in Taipei will commence on April 18 in Taipei with Richard Smith, John Watlington, Mitch Bradley, and David Woodhouse present.

8. New rubber ears: 30 sets of rubber bunny ears arrived Friday at OLPC; we will use them for drop testing to new heights early next week. Current testing shows our laptops survive a five-foot drop tests on the “open” ears.

9. Firmware/kernel: Mitch and Andres Salomon have succeeded in a complete boot off an SD card using a custom kernel and a few tweaks to OS Build 385. They are working on making it require fewer custom changes, so that booting off SD can be done routinely. Mitch and Richard worked on preparations for the LX processor (B3) board bring up next week. Mitch provided a version of the firmware to Quanta for initial debug.

10. User interface: Eben Eliason has developed a new tabbed toolbar system for Sugar that he has documented in the wiki. He also made yet another significant pass over the UI controls and will be meeting Marco Gritti and Tomeu Vizoso to get an API implemented for them. He has sketched mock-ups for our core activities (Write, Browser, etc.) using the new system and the team at Abiword has already begun implementing many of the new features.

Eben also specified a more detailed interaction for the clipboard, which will be consistent with current UI expectations while providing the additional features we want. The basic interaction is a clipboard stack, with the most recently copied item on top, which also acts as a push through queue when it fills up, dropping the bottom element from the stack when new items come in. And he prepared a refined “introductory sequence” for entering name, choosing colors, and taking a photo on first boot. Marco has this design and is working on implementation.

11. School server: Web caching is configured and running on the school server in the OLPC office in Cambridge. All XOs in the area running a current build are using it for network access.

12. From the community: Marc Maurer reports that his work on adding syntax coloring to AbiWord for the purposes of the develop activity is beginning to work. John Resig has been making progress on an eBook reader (See http://ejohn.org/apps/ebook/ for a live demo). Bruno Coudoin reports that GCompris is running on the XO. (GCompris is education software targeting young children that has been translated in more than 40 languages.) While it doesn't yet follow all of the design rules of Sugar, it is fun to see working. Ignatz Heinz at Avallain Learning is working on making an open-source version of their language-learning and literacy tools available for the XO. Google has just come out with a beta API to their new translation engine. Franz Och, one of their lead researchers, thinks it can be used for IM translation for the XO and would like to see this tested.

Laptop News is archived at Laptop News.

You can subscribe to the OLPC community-news mailing list by visiting the laptop.org mailman site.


2007-04-07

1. OLPC “Game Jam”—a game design and programming event designed to encourage development of open-source games for the OLPC platform (the XO)—is being held at Olin College next weekend. A group of game developers will get together over a three-day period to make as many innovative games as possible for the laptop. “Our goal is not just some great games and experimentation for the XO but also to bring the unique constraints and output of this project to next year's GDC Experimental Gameplay Workshop.” Code will be released on SourceForge under the GNU General Public License so everyone can freely experiment with the source and games.

2. Mechanicals/ID: The XO mechanical design is finally complete. The last major item—the insert molded rubber/plastic bunny ears—was approved on April 4th. The core team responsible for this milestone: Frank Lee and Victor Chau of Quanta, Yves Behar and Bret Recor of Fuse, Jacques Gagne of Gecko, and Mary Lou Jepsen of OLPC. This is the culmination of nearly two years of efforts on the ID and mechanicals. It bears mention that many contributed to the ID/ME over this time on the laptop, and in addition to the above, we would especially like to acknowledge the following who at various times shouldered large parts of this effort: Quanta: Ben Chuang, Johnson Huang, Sam Chang, Alex Chu, and Roger Huang Fuse Project: Mitch Pergola and Martin Schnitzer Design Continuum: Kenneth Jewell and Kevin Young MIT Media Lab: Ted Selker ChiLin: Albert Hsu, HT Chen and Scott Soong OLPC: Nicholas Negroponte, Rebecca Allen, Mark Foster, Walter Bender, and Michail Bletsas

3. System software: Build 385 and firmware Q2B87 form a new stable build. We do not anticipate another stable build for approximately 3–5 weeks, as we work on suspend and resume, power management, and the Geode LX bringup. Please update your systems to this build. Key changes and improvements include:

  • a fix for a number of crashes in Sugar, which have been seen occasionally became much more common in Build 368 was finally traced to a bug in the fontconfig library;
  • updated library content;
  • improved UI for selecting networks, and further bug fixes in the network driver;
  • fix for LiFePo battery problems (This is the last known battery problem.);
  • memory of the WEP wireless key should be much improved;
  • updated TamTam bundle (save and restore work properly);
  • a new, improved calculator program from Reinier Heeres;
  • a temporary workaround for a presence-service problem is in place; and
  • sufficient aliases for old X11 core fonts that most applications not yet updated to the current X client-side font model should work (specifically, this fixes a crash in the Adobe Flash 9 plug-in for Linux).

We will have a automated backup script before the next stable build for backup of laptop contents to the school server; this is simply using the "rsync" command which is already included in current builds.

4. Firmware: Mitch Bradley completed preparations to cut over to fastboot/suspend/resume firmware. The Q2Cxx series will include these new features:

  • suspend/resume support;
  • memtest86 built in to firmware;
  • keyboard diagnostic that displays key presses graphically;
  • explicit probe-usb no longer needed: attempts to open the USB node automatically handle connection-status changes;
  • new boot flash layout per Quanta's request, plus tools to inspect manufacturing data and save it to a disk file; and
  • faster boot time.

Lilian Walters released to Mitch the keyboard self-test code and the auto reprobe for USB. Richard Smith released q2b86 and q2b87 with new EC bits that fix outstanding LiFe battery problems.

5. Power management: As mentioned above, we are cutting over to the “C” series of firmware releases as we develop our suspend/resume work. Richard worked on resume SD bug with Pierre Ossman. It seems that after a resume, the clock on the SD is not coming back up right. It starts but then goes away. Richard is still trying to hunt this down. Only SD is not resuming properly now. The resume time without SD is down to 0.23 seconds!

6. Kernel: Andres Salomon did the regular Linux tree merge, merged the libertas wireless driver into the stable tree, and worked on the open firmware (OFW) device-tree kernel patch. The device-tree implementation is going to require a lot of tender-loving-care to get it upstream, unfortunately. Dave Woodhouse diagnosed a latent bug in the JFFS2 file system caused by pretty pathological logging behavior; it will require some work to fix. Jordan Crouse worked on the Geode LX frame buffer driver (lxfb).

7. User environment: Jim Gettys figured out how the old core X font system worked, to enable applications using the obsolete X core font system (e.g., Adobe's Flash 9 plugin) to work properly on our system. Chris Ball tested fontconfig-2.4.2, which Jim correctly predicted as the fix to Sugar crashes that had become very common in Build 368. We had been about to revert the branch prediction firmware workaround instead. Both Chris Ball and Chris Blizzard have confirmed that the crash disappears as of Build 380. Chris also tracked down the Unicode scripts as the cause of our console font becoming tiny. John Palmieri came up with a fix, which is in the latest build.

8. School server: John Watlington reports that we have a school server up and running as a mesh portal in Cambridge. Up to three mesh networks are supported, with routing supplied between each other and the Internet.

Laptop News is archived at Laptop News.

You can subscribe to the OLPC community-news mailing list by visiting the laptop.org mailman site.

Press requests: please send email to press@racepointgroup.com

Q1

from [2]