Updates..

This blog has not seen much activity in a while, so here goes:

  • Bought a HCL touch-screen based netbook. It’s somewhat ancient hardware, but most of the stuff works out of the box (except for the webcam, which does not even show up in lshal or lsusb). The touchscreen required a binary driver – but a Free/Open Source version seems to exist, though I could not get to calibrate the screen with the FOSS driver variant
    [Update: The webcam works - I had to press Fn-F5 to enable it. It is turned off by default to conserve battery.]
  • Taught myself (this was long overdue – but at least now I can admit that I did not know what I used not to know) how to properly write Python extensions in C. I started out with bindings for Hunspell (I’m reading up a bit on morphology nowadays, and finding it to be tremendously entertaining). There was a Python extension for Hunspell already, but it did not compile for me, and that pushed me to decide to figure out how to do this myself. One thing led to another, and so, as of now, there is (in progress) extensions for handling:
    • Hunspell. Usage instructions here
    • libgettext-po. This should be faster than the existing pure Python based PO file parsers out there. (maybe at some point, I could make Pootle/Translate Toolkit use this, and make the work of OLPC/Sugarlabs translation team members somewhat less frustrating.
    • XKB. I must admit that I took a shortcut for this, and this extension is actually based on the awesome libxklavier. The final plan is to develop a Sugar extension for managing the keyboard options and layouts using this extension. The code in the main git repository, though fairly complete in terms of what is required for Sugar at the moment, is not implemented via (py)gobject. Implementing the pygobject-based wrapper is turning out to be a bit more complicated than I initially thought, but some code for that is also available in this repository (it is somewhat easier now, since I know (at least most of of) what is happening under the hood).
  • Released a newer version of the FBReader activity, which is much more improved in terms of usability (eg: response to the game keys keys while the XO-1 is in tablet mode is much more smoother, and all the keys do something useful). People seem to be happy with the new release.
  • Coming back to the present, right now, among other things, I’m working on a few interesting (and important) enhancements for the book-reader(s). Some of them include support for long keypresses (eg: pressing the “square” game key for two seconds will show the table of contents), notification of critical power events (I realized to my horror during dogfooding, that in tablet mode, while the book reader is open in full screen, there is no way to tell how much battery-charge is left), etc. The bookmark support feature that I came up with a few months back needs a bit of polish, but I think I can make this show up in the next release of Read.

Crossing milestones…

Last Saturday, I appeared for what was the last examination of our four year BTech degree course. College life has ended for me, at least for the time being. It was fun while it lasted, bordering on insanity sometimes (can you imagine “normal people” participating in a sport which involves pouring rotten, and really stinky paper-maché over each other’s heads ?). The last few days were bitter-sweet, with a lot of memories, some of them happy, some of them not so happy, coming back all at once. I guess, in the end, all of us had a wonderful four years, years that made us mature, strong, and much more acquainted with the ways of the world. Thanks to everyone who has been beside me during the past four years, through all my ups, downs, successes and failures. Thanks a lot .

This week, I’m starting full time with OLPC. Apart from facilitating and helping with the l10n and i18n efforts (which I have been doing for the past six months), I also expect to start helping out with various parts of the OLPC software stack.

This part of life is called: interesting :-) .

User Interface Developer for Sugar

OLPC is looking for a UI developer for Sugar, the interface for the XO-1 laptop for children. Requirements include experience with C, Python, and GTK+. Knowledge of Gecko, X Window System, D-Bus, GStreamer, Cairo and Fedora Linux is preferred. For more details, and on information on how to apply, visit the OLPC careers web page.
[Update]: It seems that the email address originally posted (job-sugar@laptop.org), does not work. The correct email address would be (jobs-sugar@laptop.org). Apologies for the inconvenience.

Projects for Summer of Code 2008

I’m willing to mentor the following projects for Google Summer of Code 2008 for this year:

  • General Improvements (feature additions) to Pootle

    While working with Pootle at OLPC, we have come across a number of feature requests, most (if not all) can be implemented within the GSoC timeframe. I have listed some of the high priority features here. The main requirements for this project is familiarity with Python and some basic ideas about localization. The mentoring organization for this is Translate Toolkit and Pootle.
  • A Translate this Activity activity for Sugar

    Similar to the functionality offered by the “View Source” key in the OLPC XO-1 laptop, an activity should ideally allow the user to translate it. A Translate this Activity activity would allow the user to translate any given activity, and optionally let the user share the translation, so that it can be reused by other users in the mesh.
    The main requirements for this project is familiarity with Python, PyGTK and general idea about a typical gettext based software translation workflow. The mentoring organization for this is One Laptop Per Child.

Connectivity problems for people in India/Egypt

A breakdown in an international undersea cable network badly disrupted Internet links to India and Egypt on Wednesday.

This should explain the slowness I have been experiencing today, both with my primary BSNL connection, as well as with my slower (but more reliable) Reliance CDMA connection. It feels like as if I’m on my ancient 28.8k dialup once again :-( .