OLPC:News

From OLPC
Revision as of 11:19, 6 November 2007 by 67.180.249.111 (talk) (Laptop News 2007-11-03: minor typo)
Jump to: navigation, search
  This page is monitored by the OLPC team.
   HowTo [ID# 75640]  +/-  

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

Laptop News 2007-11-03

1. Reggio Emilia: Italian Prime Minister Romano Prodi reconfirmed his commitment of 50,000 laptops for Ethiopia while at a town meeting of over 600 people where Nicholas presented OLPC. The importance of the funding is its exemplary nature—it is a model for other European countries and the EU itself to follow. The clarity with which both the press and the audience understood children as our mission, versus a market, was refreshing.

2. Rome: Nicholas joined Antonio Battro and Matt Keller for a whirlwind one-day tour of the Eternal City. The day started with an interview on Radio Vatican, followed by an address to the Food and Agriculture Organization (FAO) of the UN, a speech received by over 200 UN staffers. After meeting with members of the City of Florence Council, Nicholas addressed over 300 members of Catholic Orders at the Vatican. (The Catholic Orders educate 50-million children in schools worldwide, many in the poorest countries.) The event, organized by Matt and Tom Rocheford of the Jesuit order included a presentation by Cardinal Poupard on the Encyclica “Populorum Progressio” as a mission towards education in developing countries and Antonio introduced the fundamental principles of OLPC. Throughout the day, they were shadowed by a Time Magazine reporter (See [1]).

3. New York City: Nicholas gave the keynote address at the 10th anniversary of Mouse.org, accompanied by Chancellor Joel Klein of the NYC public school system. Mouse is working with OLPC and, among other things, will help document the XO. Mouse is an organization that has students who helps other students (and teachers and schools) run their computer systems.

4. Cambridge: The first of what will become monthly learning workshops will be held this coming week; attendees are coming from the countries expecting to launch in the coming weeks and months. Lindsay Petrillose has done a fantastic job organizing all aspects of the meeting.

5. Mass production (MP): John Watlington continued to chase down our remaining suspend/resume problems. Many tests were tried, with most of them failing to cause any laptop crashes. (We now only see very rare crashes upon resume.) A production-line test for suspend/resume was developed and tested. The kernel and firmware teams have been invaluable in supporting this testing process.

Richard Smith has arrived in Changshu to continue testing the C2 motherboard and provide support the first days of production while John returns to Cambridge with a batch of motherboards for more intensive hardware analysis. Another batch is going to Terry Su (Quanta) in Taiwan for parallel debugging. Mary Lou Jepsen, Richard, Arnold Kao, Gary Chiang, and Matt Huang are in Changshu right now. Chris Ball is already back.

This unusual level of testing is due to our quest for an extraordinarily robust laptop with extraordinary low power consumption.

Regarding mechanical, this weekend, among other things, we are fixing a cosmetic blemish on the left and right hand side keyboard-base green “bumpers.” The tooling is being modified presently. Other work includes online manufacturer-server setup and testing plans, fulfillment reporting, logistics, etc.

6. Embedded controller (EC): Richard finally figured out what was going on with the NiMH batteries in secure-boot mode. API differences between the EC commands and Open Firmware. This was fixed in Q2D03.

7. Schedule: Friday was Feature Freeze Day for “Update.1.” At this point it is recommended that activity developers branch their builds—only high-priority fixes should be made to this branch—they can continue in development for future features on their mainline branch. In order to stabilize the Update.1 branch, we are asking that developers make recommendations about blocking or very-high-priority bugs; but no more code check-ins until they are confirmed with Jim Gettys or Kim Quirk.

8. Testing: Ricardo Carrano and Yani Galanis have been tracking down some issues associated with Access Point association, network manager, wireless drivers, and presence service. They continue to add to the knowledge base of how to debug and test in these areas (Please see Test_Network_Configuration and Test_Config_Notes).

Alex Latham has developed a one-hour smoke/regression test that anyone can run as we begin testing of Update.1, which is scheduled to be out at the end of the month (See 1_Hour_Smoke_Test). Please review and make comments (and start using it next week).

9. Sugar: Marco Pesenti Gritti spent most of the week on Update1 bug fixes. He fixed several regressions from Ship.1 (Trial-3); as a result, the Sugar core is getting back to a state of stability: the Totem video player is working again and mime-type handling is much improved. Journal previews are now generated reliably, but they are still too slow. Bernardo Innocenti is working on improved performance. Marco started looking into rainbow with Michael Stone to plan proper integration with Sugar for Update.1. Marco and Chris Ball started looking into the sound issues that crept into the Joyride builds—there was a race in the gstreamer code that prevents the device from being freed; a fix is in the build.

Reinier Heeres has joined the Sugar team as a three-month intern. He is the author of the Calculate activity in current builds. Marco helped Reinier to integrate with the team.

Tomeu Vizoso fixed some issues with special characters when copying entries to USB sticks (tickets #3498 and #4558: Mount removable devices as UTF8). He also implemented “expanding” of bundled journal entries. This will allow restoring individual entries from the backup in the school server and, in a future milestone, sharing entries between XOs (See Journal_entry_bundles for more details).

Tomeau also removed an active loop in the DataStore that had caused it to wake up every 2.5ms; eliminating this wake-up will help keep power consumption low. Tomeu improved the flushing strategy in the DataStore. We now flush either every 20 changes or one minute after the last unflushed change. This should prevent data loss in most cases, such as when the power goes off completely.

Simon Schampijer continued to work on the Sugar control panel, which is now included in the latest builds (See Sugar_Control_Panel for details.)

Some improvements have been made to the browser as well. The browser can now scale its contents. Simon introduced a view toolbar with buttons for zoom in and zoom out, full-screen, and and to hide or show the tray. Key bindings for zoom in (CTRL+) and zoom out (CTRL–) have been added as well. Walter Bender and Eben Eliason made a new activity as a derivative of the browser that launches Gmail directly from the taskbar. Other Google Apps may follow.

Chris Ball released a new version of Pippy, which has new examples, including Guess (from Pilar Saenz).

Muriel de Souza Godoi released a new version of the Memorize activity. This version allows children to create their own games, using text, pictures and audio from the Record activity, which are then saved in the Journal. When someone joins the activity, these data are copied into the Journal of the other XO using the author’s colors.

Arjun Sarwal worked on the Measure activity with Cody Lodridge; they optimized the rendering code: the frame-rate and response time has improved significantly. This has largely been possible due to reduced calls to X for re-drawing the background in each frame update. Arjun also reintroduced the show values option, which displays the RMS and average values of the signal; and he fixed a bug that prevented Measure and Record from working together.

Scott Ananian added AcousticMeasure, Wikibrowse, and Gmail activities to Joyride.

10. Presence service: Sjoerd Simons has been working on stabilizing (and freezing) the telepathy-salut chatroom/activity protocol, now officially named “Clique” (previously it didn't really have a name), for Update.1.

Simon McVittie made some related changes that will deliberately break compatibility with the multicast DNS announcements used in Ship.1 (Trial-3), so that Update.1 XOs will not be able to see Ship.1 activities, and Ship.1 XOs will not be able to see Update.1 activities. This is actually a a good thing: if you put an Update.1 XO and a Ship.1 XO in the same activity, the Ship.1 telepathy-salut would abort with an assertion failure whenever the Update.1 version sent messages, and the Update.1 telepathy-salut would be unable to understand messages sent by the Ship.1 version.

Simon synchronized with Sjoerd's latest changes and it seems to work, so he has pushed it into Koji for Joyride inclusion. There are likely to be some issues to sort out early next week, but he thinks we're done with major changes—we do not plan to change the wire protocol again for the foreseeable future.

Morgan Collett has been working on Presence Service reliability improvements, which track activities and Telepathy connection managers and recover from them crashing. Morgan also updated HelloMesh, the Tubes demo activity, incorporating Simon’s Sugar API improvements, which reduce the code necessary to set up Tubes. Activity authors should look at the changes in Connect and HelloMesh to see how they can reduce the existing code. (The old method will still work, so there is no urgency to update.)

Simon and Guillaume Desmottes worked on Stream Tubes, which implement TCP/IP over XMPP; Simon implemented this for the Read activity. Stream Tubes provide one-to-one connections that are much better for data transfer or streaming as opposed to the signal and method calls provided by D-Bus Tubes; Stream Tubes can be used in conjunction with D-Bus Tubes in an activity which needs both.

11. X Window System: Bernie Innocenti has been restructuring our i18n (internationalization) and keyboard configuration scripts, along with the OLPC Display Manager (olpc-dm). There's still some work to do, but the resulting scheme is simpler, writes less to system files and, hopefully, also speeds up boot a little. Bernie has also been chasing a performance regression in taking screen shots for the Journal that slows us down when switching between activities. Walter Bender sent the Nepali keyboard out for review from the manufacturer; a Pashto keyboard is being reviewed by the community; the West African keyboard is also getting extensive review by Don Osborn, Paa Kwesi Imbeah, Dwayne Bailey, Adel El Zaim, and Albert Cahalan.

12. Kernel: Andres Salomon spent Sunday through Tuesday hunting down a bizarre bug that turned out to be something in the kernel scheduler. He ran out of time for debugging, but signs were pointing to it being a vserver bug. The instability of the VServer kernel patches has made us remove this from our builds for Update.1. We will likely revisit use of light-weight containerization for security in future releases. We are pursuing alternate approaches to activity isolation for our first releases.

Andres also did some debugging of USB and DCON (display controller) code and attempted to reliably reproduce a Libertas transmit timeout bug. Chris Ball worked on OHM (Open Hardware Manager) to implement power management: results to follow.

13. New build system: We have established an independent build system for OLPC, that allows greater flexibility for testing builds. Scott Ananian spent time on Koji/mock integration work and discussions with the Fedora koji team. Scott created new Kernel/Xtest/Sugar/Rainbow branches for stabilization and testing of Joyride. Scott and John Palmieri released stable builds 623, and 624 to Quanta. for mass production. They pplied pilgrim patches to close or address numerous trac tickets: #4600, 4259, 4473, 3937, 4063, 2661, 4032, 3643, 3977, 2840, 4457, and 4400, among others. Scott also patched olpcrd with initial partition support.

Scott also helped Red Sox win the World Series by wearing clothing with appropriate logos and dressing his dog in same as well.

14. Wireless: We spent most of the week trying to consistently reproduce the wireless loss of functionality issue described in ticket #4470. The only consistent pattern that emerged is that newer builds expose the behavior more quickly and that there is a strong correlation with traffic volume (Michail Bletsas hasn't been able to reproduce the bug at home for the entire week). Given that the wireless firmware keeps running, the most probable cause is data-flow management in the Libertas driver. There was one patch submitted this week that fixes silent discard of frames by the driver that could also have an effect on the behavior seen in #4470. The other major blocking bug (#3341) is addressed by that fix and some firmware changes implemented in a private release to Scott, so that he can move on with his wireless update development.

QMI produced the first Active Antenna board samples and send them to OLPC for testing this week. Marvell is working on the firmware update tool on them that will be released the last week of November.

15. Suspend on idle CPU: John Gilmore has been exploring automatic suspend-on-idle; these issues have become a lot clearer in his mind, but it is still easy to get confused. You can join the discussion in the wiki (See Suspend_and_resume).

16. Localization: Xavier Alverez and Alfonso de la Guarda have established a Pootle server for localization of Sugar, activities, and other OLPC-related localization needs. Sayamindu Dasgupta is working with them. They are making good progress, but could use as much help as they can get (See [2]). Support your favorite language now!

17. Security: Ivan Krstić and Michael Stone gave a heads up to activity developers that we will be landing portions of our security system for Update.1. We will be requiring: (1) file-path compliance; (2) a cryptographic signature; and (3) a permissions declaration.

File-path compliance means that you must ensure your activity does not write to any path outside of that contained in the environment variable SUGAR_ACTIVITY_ROOT; specifically subdirectories called “data,” “conf,” and “tmp” within the SUGAR_ACTIVITY_ROOT directory. (We are working with the Sugar team to provide helper functions for easily getting those three directory paths for those of you using Python. Until then, please depend on the environment variable directly.)

Please note that if you are using the DataStore for your file I/O, you still must write the file somewhere before asking the DataStore to check it in; if you choose a temporary filename that's outside of SUGAR_ACTIVITY_ROOT, you will be non-compliant.

File path compliance is a requirement for inclusion in Update.1. Please do your best to make sure you are not writing to paths outside of SUGAR_ACTIVITY_ROOT; we'll try to help you catch any such writes that you miss.

We will be posting more details regarding cryptographic signatures and permissions declarations—these will be required in near future. As a summary, when we say signatures, we mean that you as the activity authors will use a set of tools we provide to make your own keys and sign your activities; the purpose of this is simply to allow secure activity upgrades once they are on the machines. Permission declarations will enumerate which special permissions (camera access? microphone access? non-Tubes network access? etc.) your activity may need for its normal operation.

More News

Laptop News is archived here and here.

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

Milestones

Latest milestones:

Nov. 2007 Mass Production has started.
July. 2007 One Laptop per Child Announces Final Beta Version of its Revolutionary XO Laptop.
Apr. 2007 First pre-B3 machines built.
Mar. 2007 First mesh network deployment.
Feb. 2007 B2-test machines become available and are shipped to developers and the launch countries.
Jan. 2007 Rwanda announced its participation in the project.

All milestones can be found here.


Press

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

  1. redirect OLPC:News#Press

More articles can be found here.

Video

Miscellaneous videos of the laptop can be found here.