A chat with the Delhi team

The OLPC Delhi team ran a hackathon a few weeks ago. As part of this hackathon, they ran a series of Google Hangouts. Here’s one I did with Anish Mangal and Kartik Perisetla. Martin Abente joined us from Paraguay.

Leave a comment

Filed under general

Trains, planes, automobiles

I had quite the whirlwind trip to India for a four week period across Dec 2012-Jan 2013. After coming back, I presented about it at the OLPC San Francisco monthly meeting in January ’13. Then, in the hubbub of my spring semester at SF State, I promptly forgot to write it up. So, here it is, a few months late:

I landed in Mumbai (I still like to call it Bombay) right after Christmas eve, and promptly took off for Ahmedabad, Gujarat. After a few meetings with some friends and acquaintances, I ended up presenting to the governing board of CHARUSAT University, and subsequently to their student body over a two-day period. Across several meetings, I had the opportunity to talk about children, education, OLPC and Sugar to their faculty, staff and over 1200 students. It was a tiring visit, but a good one. CHARUSAT has a social responsibility component, and may look to support such a program in some of their neighboring villages.

Next, I went to Bhagmalpur. This was a trip on a series of trains and taxis. Bhagmalpur isn’t easy to get to. The nearest train station is Shahganj. Other options are to fly to Varanasi or Allahabad, and take a bus or rent a taxi. I ended up taking the trains to Lucknow, and then renting a taxi through the back country to Bhagmalpur. Such trips afford a window into the lives of common people.

I have been running a small project in Bhagmalpur. This is my family’s village. We have several XO-1 laptops there, mostly donated by people who got these during the G1G1 phase. My stop in Bhagmalpur was for less than a week, which I documented here. It was largely a collection of setting up the Wi-Fi AP and a repeater, conducting wireless site surveys, some street mapping, installing 1300+ TED talks, 100+ books and 10GB of world music. We couldn’t set up Internet access because even though the equipment was there, the parents were wary of the things that lurked on the Internet, and wanted us to run a child-friendly filter.

After Bhagmalpur, I flew across the country from Varanasi to Mumbai, where I met up with Harriet Vidyasagar and a few other people who have worked with India’s first OLPC pilot in Khairat. With Harriet’s help, I plotted out a trip to Goa. There, we met up with Salil and Gayatri, who have been helping run the Goa projects. We met several people who are interested in increasing the footprint of OLPC in Goa. We also met with the people who run the current pilot locations. In Goa, I had the opportunity to present to the students at Goa University and at the Goa State Central Library , thanks to Frederick Noronha for organizing the meetup.

Then, we took an afternoon aside and Salil and I went through the details of the XS School Server version 0.7. This version relies the rock-solid foundation of CentOS 6. We set up a XS on his laptop using VirtualBox. My intentions were to use the VirtualBox version as a learning tool, but given that we were short on usable machines, we ended up using the virtual XS for backing up XOs at various schools.

One afternoon, I managed to get some time and visited my dear friend, Chebi Sabbah. It was easier to visit with him in Goa than it is in San Francisco!

With Chebi Sabbah in Goa

From Goa, we took a “sleeper bus” back to Mumbai, and met up with the team at Homi Bhabha Center for Science and Education. There, with the help of Nagarjuna G and his student Rafikh, we went to Khairat. This was my second trip to Khairat. The first was back in 2008. It was great to see Sandip Surve, the champion of a teacher, who has been running the village school and now working with a second cohort of children with the original XO-1 laptops! Some of the keyboards have ripped. Some of the plastic has cracked, but amazingly, they still work. The children have found ways to use pencil erasers to push at the keyboards where the keyboard rubber has gone missing. They love their TuxMath, their Maze, and some have taken to Etoys quite nicely! Sandip Surve is still plugging away. We spend the afternoon talking to him about the overall progress, his needs with repairs, and of course newer software. I had a XO-4 touch with me, that the children used to finger paint and draw objects in Physics. That afternoon, we used one of Salil’s virtual XS machines to register and backup all XOs at the Khairat school.

We headed back to Mumbai that afternoon, and after spending a couple of hours at the guest house at HBCSE, discussing future plans, I headed back to my cousin’s place in Mumbai, and flew back the next night to San Francisco.

Did I mention, it was a whirlwind of a trip?

1 Comment

Filed under children, education, family, general, outreach, parents, tech

The little kid that could

This is Sumit, a little kid who lives next door from us in Bhagmalpur. I took this picture casually, as I walked the streets of the village back in 2003. I was amused by the tripod of a walker. It’s locally made, probably bought at the local faire, and it works well for what it’s supposed to do. It’s not something you’d find at your local Toys R Us, but then again, if you did, it would be in the retro throwback section, and would cost you a fortune!

Sumit and his tripod

Sumit and his tripod, circa 2003

Coming back to Sumit, I saw him again in January 2013. I didn’t know his name was Sumit, or he was the same kid in the picture! He showed a lot of interest in the XOs, the repair sessions, the reflashing, and installing new software. I asked him to help me with some minor tasks, like running a command, but he wanted to know the “why and how” of it. So, I explained to him how the datastore backup happens, and why it takes a random window of 30 minutes to backup (those who know ds-backup would know!). He was curious. He wanted to learn. This was surely not in his curriculum! Nor in a lesson plan! He had gotten the bug of curiosity, and that’s something I can relate to.

Eventually, Sumit helped me with installation, backup, running Python scripts, bash commands, rsync and such. He did a site survey of the village and helped us with installing the Wi-Fi access points. He took apart his XO laptop, repaired a WiFi antenna cable that had popped out, and put things back together. He learned how to access the server, install new Sugar activities, install the Hindi Wikipedia bundle, browse for a ton of offline TED talks, books and music, all  locally hosted on the server. In fact, given that I had a very short window to get a lot done, he became my point of distribution of information to the rest of the kids – a student assistant of sorts, and a fine one at that 🙂 Then, one day, he told me that the photo of the kid with a tripod was really him! How cool is that?!

Sumit helping with a Wi-Fi site survey

Sumit helping with a Wi-Fi site survey

Sumit repairing by flashlight

Sumit repairing by flashlight – we had no electricity.

Could any of this be possible, if we didn’t have OLPC laptops there? Probably not. The local private and parochial schools have “computer classes” where the computer is always broken, and the teacher never shows up, and the parents still pay for all that’s not delivered. A little green laptop is making a difference where it matters…and Sumit is the little kid that could.


Sumit repairing a broken screen, circa 2013

Leave a comment

Filed under children, education

Android on the OLPC XO-4 touch

It took up all of Spring break, but it’s done. I give you Android on the OLPC XO-4 touch!


1 Comment

Filed under hardware, software, tech

Magical server platform

It has been a few weeks since I got back from Bhagmalpur. Looking through pictures and notes, I realize that the choice of server hardware is one of the most critical choices when one is in the field and all constraints decide to bite at the same time. We use a FitPC for this project to run XS 0.6 school server. A couple of years ago, Ben Tran (one of my students at SF State) had run through a whole bunch of load tests on six different hardware platforms. He did this as part of his thesis project. FitPC was one of the six platforms (page 149). From his simulations (using Selenium and jMeter) we found the FitPC to be fairly ok in supporting  basic loads for Bhagmalpur. After all, we weren’t thinking of doing any heavy lifting. It still runs Moodle on a PostgreSQL database, but we don’t in fact use Moodle in the traditional sense.

The FitPC box is great because it consumes only 8 watts of power. It is also small enough and has no moving parts (except the hard drive, but we are using a SSD, so everything is solid state). The body is made of aluminum and acts as a heat sink. At 64GB, the drive has enough space to host all TED Talks, some books, music, etc. and back up all the journals from the XO-1 laptops there. We use an external Wi-Fi AP (Ubiquiti Picostation2), powered by a Power over Ethernet (PoE) unit.

Fit PC 1 as School Server

Fit PC 1 as School Server

We power the FitPC using a setup of solar panels, batteries, invertors, charge controllers, and a spaghetti of wiring. As I was perched precariously on a stool, installing the school server in -1°C weather, it occurred to me: What if we could get a server that was hardy, had its own battery backup, had a charge controller to take input directly from a solar panel, and could manage to serve the entire community? Surely we must have something that fits the bill!

It’s…an XO!

XS on XO

XS on XO w/piggyback USB storage

All said and done, the XO is a hardy platform that has its own battery backup, the EC to manage solar input, and a form factor that includes (unlike a Raspberry Pi) a keyboard, monitor and a touchpad. You can even hang it off a peg if you’d like! Need more storage? Use a SD card or a SSD in a USB enclosure, velcro’d to the back of the XO. Need an AP? Use a USB dongle and plug in anything that works for you. Sure the crunch of the AMD Geode on the XO-1 doesn’t leave much room for performance, but if all you are doing is serving files via Apache, its not bad at all. Of course, we also have XO 1.5, XO1.75 and soon the XO-4 as valid candidates.

To this end, I like where the XS Community Edition (XSCE) is going. A basic core plus optional add-ons built on top of a stable OLPC/Sugar release. Modular design, that allows for flexibility (add your own CMS, LMS, Book server). Best of all, the initial target is the XO 1.75. So far in the tests, the 0.21 build (Phoebe) seems to hold up fairly well. There is much work that needs to be done, but I think we are on the right track. The moment I get convinced that the server in Bhagmalpur can be replaced by a server on an XO, I’ll replace it. Until then, download, install, test. Repeat as needed.

1 Comment

Filed under general

Mapping the village

One of the challenges I had in Bhagmalpur was that I didn’t have a partner to tag team with me. I had to plan and execute everything. Hindsight wisdom: Get a partner to help out! I also wanted to map the village when I was there, but I couldn’t find enough time to get away from reflashing the XOs and configuring the school server. In the mean time, all these kids would hang around and follow me, carefully looking at everything I did. I don’t work well under that much scrutiny 🙂

So, I banded a few kids into a team. Then, I turned on the My Tracks Android app on my phone and gave the phone to the team. I explained what the task was, how GPS works, and then I asked them to walk the village – every possible street – and come back to me. They did so, with a lot of interest, and a while later, I had my GPS trace! I exported the trace to GPX format and uploaded to OpenStreetMap. Here’s the trace. I’m editing the various points of interest as I go along.

How cool it is to see the work of these kids on the web! I hope that some day they’ll get good Internet access and they’ll be able to see their trace themselves.

GPS Trace of Bhagmalpur

GPS trace of Bhagmalpur


Filed under children, software

The constraints of time and temperature

I had a short visit to Bhagmalpur a few weeks ago. I got to the village on January 7, 2013 in the evening, and left on the morning of Jan 13, 2013. Much had to be done in this duration.

I had to unlock the XOs so I could use a Dextrose image from Activity Central. The main reason for choosing this image was the Hindi language support. After getting the keys through the collection stick process, and many thanks to guys at OLPC, I got the machine unlocked. Next, I had to flash all the 26 XO-1 laptops there. NANDBlaster gave me all sorts of errors, so I had to do it by hand.

I had to reconfigure the XS school server to use an Access Point instead of a Mesh antenna (Bhagmalpur might have been the only OLPC deployment that still used a mesh antenna…but no more!). The network interfaces had to be fudged with. Thankfully xs-swapnics worked nicely. I had to show them how to use the Wireless Graph activity to do a site survey and determine the bounds of their Wi-Fi bubble. I had to do the wiring for the XS so it could run off a 12V battery. I had to install the APs in a high location and load balance with a repeater in WDS mode, at someone else’s house, so we could extend the Wi-Fi bubble.

I had to add oodles of content – 1,368 TED videos, music, books, activities, and build a simple HTML page for navigation. I had to show the kids a few neat tricks with the Tuk lens kit. I had to show the kids how to repair XOs.  I had to repair damaged screens, keyboards, chargers (a mouse chewed through one), backup all the journals to the XS and then make a copy.

Oh, and this being my family’s house, I had to also be social, chat with visitors, eat the good stuff, walk the cane fields and take loads of photos.

To add to all this, I had to contend with two constraints. The state of Uttar Pradesh is terrible at several things. One of those is electricity. The AC grid comes alive at 11AM, and goes away at 1PM. Then maybe another hour or so in the evening, and then it’s back at 1AM for a couple more hours. Bulk of the work had to be done when the electrical juice went live. The timings are approximate, with no guarantees. So, I found myself sitting up at midnight, reflashing a stack of laptops.

The other constraint (and the UP government has no control over this one) was that the temperatures dropped to -1 C. With no electrical heat, and uninsulated walls, I had to sit by the fire, warm my bones, and then run off to work the laptops for 10 minutes or so, until I started to shake, and then it was back to bone-warming 🙂

Of course, my family was not quite sure why I’d give up the warmth of the fire and run off to the cold to work on laptops. To them, it didn’t seem like such a big deal if the work didn’t get done. To me, the show had to go on, no matter what.

Thankfully, I got it all done 🙂 I’ll post some details soon, but in the mean time, here are the pics.

Leave a comment

Filed under books, children, education, hardware, music, network, outreach, software, tech, video