<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Chris Ball: Tag olpc</title>
    <link>http://blog.printf.net/articles/tag/olpc</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Bugs Everywhere</title>
      <description>&lt;p&gt;&lt;a href="http://bugseverywhere.org/"&gt;Bugs Everywhere&lt;/a&gt; is a neat piece of software implementing distributed bugtracking:  it combines a bugtracker and a distributed version control system.  I've offered to be its new maintainer, taking over from its original author of &lt;a href="http://www.aaronbentley.com"&gt;Aaron Bentley&lt;/a&gt; and the folks at &lt;a href="http://www.panoramicfeedback.com"&gt;Panoramic Feedback&lt;/a&gt;.  Bugs Everywhere posits that the use of a centralized bugtracker for software is no less inappropriate than the use of a centralized version control system&lt;sup&gt;&lt;a href="#1"&gt;1&lt;/a&gt;&lt;/sup&gt;, and that real programmers work with bugs that exist in complex states of being fixed on some branches, as yet unmerged on others, and trying to keep a mental model of which is which is doomed to failure.&lt;/p&gt;

&lt;p&gt;For example, at &lt;a href="http://laptop.org/"&gt;OLPC&lt;/a&gt; we believe in cheap and fast branching, and we have feature branches (e.g. "faster"), development branches ("joyride"), release branches ("update.1"), and production branches ("candidate", "release").  We have a &lt;a href="http://dev.laptop.org/query"&gt;bugtracker&lt;/a&gt; that allows us to describe bugs as being "open" or as being "resolved", which closes them.  This is not cool.&lt;/p&gt;

&lt;p&gt;In the Bugs Everywhere world, the same branch that contains your code also contains the bug state for that code.  So, as I create my "faster" branch software, I can create/close bugs linked to those commits.  When my tree is merged into the next branch up, we not only get the code merged, but the bug state merged as a side-effect.  The bug state is not going to become inconsistent with the code.&lt;/p&gt;

&lt;p&gt;How does it work?  We insert a &lt;code&gt;.be&lt;/code&gt; directory into your repo, and use a command-line interface ("be"), web interface (written in TurboGears) or GUI (written in wxWidgets) to let you perform the dual operation of changing the state of the text files that describe bugs, and committing that change to the underlying VCS.  We support Arch, Bazaar, GIT, Mercurial and RCS.  BE itself is written in Python.  Of course, another benefit of this approach is that the same offline editing advantages that your dVCS gives you apply to your bugtracker.&lt;/p&gt;

&lt;p&gt;You might argue that being distributed sounds good, but having a common place for developers and users to go to to query bug state is important too.  Having a distributed bug tracker isn't incompatible with this &amp;mdash; the central web interface to the bugtracker becomes just another client performing merges with the master location for the repository.&lt;/p&gt;

&lt;p&gt;So, should you drop everything and switch to BE?  Well, maybe.  One way in which BE currently isn't suited to OLPC is that we like having a central bugtracker for many projects, even though each project has its own source repository, or even several.  BE would be much more suitable if we were just developing a single software project, rather than the complex selection of projects and processes that we currently track.  Maybe the way forward is to run a meta-tracker that keeps track of changes in any of the specified source repositories and collates them.&lt;/p&gt;

&lt;p&gt;Another current limitation is the web interface support, which was written against an old version of TurboGears, and is still a proof of concept.  &lt;a href="https://coderanger.net/"&gt;Noah Kantrowitz&lt;/a&gt; is interested in working on a BE backend for &lt;a href="http://trac.edgewall.org"&gt;Trac&lt;/a&gt;, which would offload the web interface awesomeness to Trac.&lt;/p&gt;

&lt;p&gt;I'm writing this post to try and build up a community around BE: please check out our &lt;a href="http://bugseverywhere.org/"&gt;wiki&lt;/a&gt; and &lt;a href="http://printf.net/cgi-bin/mailman/listinfo/be-devel"&gt;mailing list&lt;/a&gt;, and consider hacking on it.  It's the future, honest.&lt;/p&gt;

&lt;p&gt;&lt;sup&gt;&lt;a name="1"&gt;1&lt;/a&gt;&lt;/sup&gt;: Or at least, I do.&lt;/p&gt;</description>
      <pubDate>Sat, 29 Mar 2008 00:54:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:440ac147-ef62-4163-b517-c13dac521bc0</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2008/03/29/bugs-everywhere</link>
      <category>olpc</category>
      <category>python</category>
      <category>bugseverywhere</category>
    </item>
    <item>
      <title>Mass production</title>
      <description>&lt;p&gt;I spent a week (my first time in Asia) in Changshu, China the week before last, in preparation for this:
&lt;br&gt;&lt;/p&gt;

&lt;div align="center"&gt;
 &lt;a href="http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&amp;newsId=20071106005839&amp;newsLang=en"&gt;
  &lt;img src="http://chris.printf.net/mpstart.jpg"&gt;
 &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Congratulations to everyone involved with OLPC.  You're all &lt;a href="http://www.engadget.com/2007/11/01/masi-oka-of-heroes-sings-up-as-olpc-ambassador/"&gt;heroes&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Nov 2007 16:55:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:379453f5-7f93-4c61-8904-c96a5cc51762</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2007/11/06/mass-production</link>
      <category>olpc</category>
    </item>
    <item>
      <title>A nice Free Software experience</title>
      <description>&lt;p&gt;&lt;a href="http://blog.alphascorpii.net/english/debian/little-comfort.html"&gt;Meike&lt;/a&gt; asks us for our nice experiences with Free Software developers.  Here's one of mine.&lt;/p&gt;

&lt;p&gt;I needed to find a new RSS reader.  I have a somewhat lengthy subway commute to &lt;a href="http://laptop.org"&gt;work&lt;/a&gt; each day, and I like listening to podcasts or reading PDFs on the OLPC laptop.  I also have a pretty busy RSS feed list, and thought it'd be nice to merge my daily RSS read with my daily commute.  The RSS reader I was using (&lt;a href="http://sage.mozdev.org/"&gt;Sage&lt;/a&gt;, a Firefox plugin) doesn't allow that, though, since there's no way to have it download all new feeds and present them on a single static HTML page for offline reading.&lt;/p&gt;

&lt;p&gt;Google Reader was an obvious choice, but I try to use web services that run on Free Software when I can.  Google brought me to &lt;a href="http://gobblerss.pommepause.com/"&gt;GobbleRSS&lt;/a&gt;, which is a Google Reader clone with sync capabilities.&lt;/p&gt;

&lt;p&gt;I tried installing it on my Xen host, which runs Debian/sarge.  It didn't work; I got a PHP syntax error.  I sent mail to the maintainer, &lt;a href="http://www.pommepause.com/online.html"&gt;Guillaume Boudreau&lt;/a&gt;, and went to bed.  I had a reply waiting when I woke up, telling me that he'd just committed what he thought was a fix to my problem.  Over the next seven hours, we sent twelve e-mails between us, with him (and occasionally me) proposing fixes.  It turned out that he was using PHP 5 and MySQL 4.1, and I was using PHP 4 and MySQL 4.0.  By the end of the day, he had full support for the older versions of each committed.&lt;/p&gt;

&lt;p&gt;Thanks, Guillaume!  Here's a photo of what my daily commute looks like now:&lt;/p&gt;

&lt;div align="center"&gt;
&lt;img src="http://chris.printf.net/gobblerss.jpg"&gt;&lt;/img&gt;
&lt;/div&gt;</description>
      <pubDate>Mon, 30 Jul 2007 01:41:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:056c0db9-f831-49c1-88ee-22e378d6382a</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2007/07/30/a-nice-free-software-experience</link>
      <category>olpc</category>
    </item>
    <item>
      <title>On middle names</title>
      <description>&lt;p&gt;Dear esteemed colleague!&lt;/p&gt;

&lt;p&gt;People with the middle name &lt;a href="http://en.wikipedia.org/wiki/Marcelo_Tosatti"&gt;"Wormsbecker"&lt;/a&gt; shouldn't tell Christopher James Ball that his middle name is "weird".&lt;/p&gt;

&lt;p&gt;Love,&lt;/p&gt;

&lt;p&gt;Chris.&lt;/p&gt;</description>
      <pubDate>Mon, 21 May 2007 05:07:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:2eeba270-645e-425b-be46-6c27d9234f8f</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2007/05/21/on-middle-names</link>
      <category>olpc</category>
    </item>
    <item>
      <title>OLPC Videoconferencing</title>
      <description>&lt;p&gt;We just had our first trans-atlantic (and trans-Cambridge) videoconference on the OLPC! &lt;/p&gt;

&lt;div align="center"&gt;
&lt;img src="http://dev.laptop.org/~cjb/olpcvideo1.jpg "&gt;
&lt;/div&gt;

&lt;p&gt;&lt;p&gt;&lt;/p&gt;

&lt;div align="center"&gt;
&lt;img src="http://dev.laptop.org/~cjb/olpcvideo2.jpg"
&lt;/div&gt;

&lt;p&gt;&lt;p&gt;
We were chatting with the fine people at &lt;a href="http://www.collabora.co.uk/"&gt;Collabora&lt;/a&gt; (Dafydd Harries is in the bottom photo), who have been working on getting &lt;a href="http://telepathy.freedesktop.org/"&gt;Telepathy&lt;/a&gt; and &lt;a href="http://farsight.sourceforge.net/"&gt;Farsight&lt;/a&gt; running on the OLPC OS.  Audio and video were both extremely smooth.  We were exchanging 15fps, over wireless at both ends.&lt;/p&gt;

&lt;p&gt;My hope is that starting a video call with another user on the mesh network could eventually be as easy as clicking on a buddy's icon in the &lt;a href="http://wiki.laptop.org/go/OLPC_Human_Interface_Guidelines/The_Laptop_Experience/Zoom_Metaphor"&gt;  mesh view.&lt;/p&gt;</description>
      <pubDate>Tue, 19 Dec 2006 19:34:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:b52b4dee-b226-4cb0-a627-3d1687c26fdd</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2006/12/19/olpc-videoconferencing</link>
      <category>olpc</category>
      <trackback:ping>http://blog.printf.net/articles/trackback/22321</trackback:ping>
    </item>
    <item>
      <title>The &amp;quot;View Source&amp;quot; key</title>
      <description>&lt;p&gt;Don Marti has a thorough &lt;a href="http://www.linuxworld.com/news/2006/102706-childrens-laptops.html"&gt;write-up&lt;/a&gt; of the cross-pollination happening between &lt;a href="http://laptop.org"&gt;OLPC&lt;/a&gt; and a bunch of free software projects.  I enjoyed the last paragraph of the article the most:&lt;/p&gt;

&lt;blockquote&gt;Just as the CM1's software is getting an overhaul, so is the keyboard. "Nicholas Negroponte's one absolute demand is to get rid of Caps Lock," Gettys says.
&lt;br&gt;&lt;br&gt;
And, Bender says, "There's one new key they get that's the important one and that's the View Source key."&lt;/blockquote&gt;

&lt;p&gt;Having "the freedom to view the source" can seem very abstract, and having a "View Source" key makes this feature of the machines clear to the users.  Imagine one of these kids visiting an Apple Store&lt;sup&gt;&lt;a href="http://blog.printf.net/articles/2006/10/29/the-view-source-key#foot"&gt;1&lt;/a&gt;&lt;/sup&gt; sometime in the future and innocently asking where the "View Source" key is.  &lt;i&gt;"Let you view the source?  But that's our property, it belongs to us, you can't have it."&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;For anyone wondering how the technical side to the key can work:  almost all of the code the user runs is written in Python, and the system keeps precise track of what's running where.&lt;/p&gt;

&lt;p&gt;One of the inspirations for OLPC is the powerful ability children have to learn with minimal guidance; an ability which is consistently underestimated by adults.  By providing free software in this way, the very structure of the machine reflects the potential for self-guided learning that originally motivated the creation of the device.&lt;/p&gt;

&lt;p&gt;We've added many new features to the laptop since I started working with OLPC &amp;mdash; a webcam, SD card reader and dedicated NAND flash controller are the latest &amp;mdash; but it's going to take something very special to supplant the "View Source" key as my favourite addition.&lt;/p&gt;

&lt;p&gt;(&lt;sup&gt;&lt;A name="foot"&gt;1&lt;/a&gt;&lt;/sup&gt;: I don't mean to pick on Apple; insert any such vendor here.  I chose Apple 'cause they're both a hardware and software manufacturer.  In fact, as the article points out, Apple have helped us out significantly by agreeing to let the Squeak Foundation release the Squeak Smalltalk environment under an Apache-style license.  Squeak will be one of the main programming languages used by the kids.)&lt;/p&gt;</description>
      <pubDate>Sun, 29 Oct 2006 17:59:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:ad81136f-82f3-477f-8319-3f5aa6b5a6ff</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2006/10/29/the-view-source-key</link>
      <category>olpc</category>
      <trackback:ping>http://blog.printf.net/articles/trackback/7631</trackback:ping>
    </item>
    <item>
      <title>New job!</title>
      <description>&lt;p&gt;It's been a hectic few weeks.  Two weeks ago I resigned from &lt;a href="http://www.netcraft.com/"&gt;Netcraft&lt;/a&gt;, and on Monday I started work at &lt;a href="http://laptop.org/"&gt;One Laptop per Child&lt;/a&gt;.  I'm loving it already; I'll try to blog progress as I go.  I'm going to be working on performance tuning for the laptop's kernel drivers and userspace apps.  This'll certainly be the first time I've been able to measure performance improvements by "amount of time and energy saved by several million children who are charging their machines by hand"...&lt;/p&gt;</description>
      <pubDate>Wed, 04 Oct 2006 20:02:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:cde3d03d-fa67-44e4-a427-3c970bcb835c</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2006/10/04/new-job</link>
      <category>olpc</category>
      <trackback:ping>http://blog.printf.net/articles/trackback/6108</trackback:ping>
    </item>
    <item>
      <title>One Laptop per Child</title>
      <description>&lt;p&gt;Looking forward to helping out with the &lt;a href="http://laptop.org/"&gt;One Laptop per Child&lt;/a&gt; project.  I went over to &lt;a href="http://microcenter.com"&gt;Micro Center&lt;/a&gt; to pick up supplies yesterday, and they had USB hubs for $20, USB network adaptors for $30, and a combination three-port powered hub and network adaptor for $23.  It's a &lt;a href="http://support.dlink.com/products/view.asp?productid=DSB%2DH3ETX"&gt;D-link DSB-H3ETX&lt;/a&gt;, and works fine in both the Fedora installer and OLPC image via the 'pegasus' driver.&lt;/p&gt;

&lt;div align=center&gt;&lt;a href="http://www.flickr.com/photo_zoom.gne?id=202926250&amp;size=l"&gt;&lt;img src="http://static.flickr.com/58/202926250_ab0779c1ca.jpg"&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
I'm hoping to get &lt;a href="http://dasher.org.uk/"&gt;Dasher&lt;/a&gt; up and running as an input method, and to look at alternate calibration techniques for the tablet &amp;mdash; "tap these four points at the corners of the screen in order" isn't easy to explain to a six year-old, but "play this game that happens to involve tracking an object with the stylus while it moves" might be.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Jul 2006 16:55:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:96e85c6d-769c-462c-a1c8-78b051affd80</guid>
      <author>Chris Ball</author>
      <link>http://blog.printf.net/articles/2006/07/31/one-laptop-per-child</link>
      <category>olpc</category>
      <trackback:ping>http://blog.printf.net/articles/trackback/2531</trackback:ping>
    </item>
  </channel>
</rss>
