Category Archives: general

General topics

Bossa Nova in Banaras

In my previous post, I had written about unencumbered codecs that ship on the OLPC XO, versus the popular demand for video in MP4 container (usually H.264 video). This post has a strange twist with another container: WebM.

WebM is a container put forth by Google. They also proceeded to embed the codec support within Chromium/Chrome. Firefox supports it natively as well. So, videos in WebM will play in Chromium/Chrome and Firefox without a plug-in.

When I travel, I download my favorite tunes from YouTube by using the “FlashGot” plugin. I prefer to download these in WebM (the irony!). Perhaps I am violating some “Terms of Service” somewhere, but that’s a rant for another day.

After my Bhagmalpur visit in Jan 2015, I headed back to Hyderabad. I took a train from Shahganj to Varanasi (aka Banaras) and then after a short stop, I was scheduled to take a flight out of the Varanasi airport in Babatpur (rural Banaras). As fate would have it, or rather as Indigo airlines would have it, their pilot wasn’t experienced enough to land the aircraft in the fog, and so, we had no return aircraft. I was stranded at Varanasi airport with no way to take another flight. Long story short, I ended up spending the night at the airport (usually a No No, but we had special permission!) along with two other travelers. They turned out to be visitors from Brazil and Italy. We had a great conversation that evening and the next day, hanging out at a small airport, eating stale cheese sandwiches. I got reminded of the Langoliers!

Waiting for the Langoliers at Varanasi airport!

Waiting for the Langoliers at Varanasi airport!

Towards the afternoon, I recalled that I had a copy of some “Bossa Nova” tunes downloaded in WebM format. What luck! Here were two people who spoke [Brazilian] Portuguese, stranded in the thick of rural India, and I had “Desafinado” and “Girl from Ipanema” on my laptop! We sat down and listened to a somewhat strange rendition of “Desafinado” by

1) Nova Music LA and

2)  an interesting version of Girl (actually Boy) from Ipanema by Dionne Warwick and Sacha Distel

(with appropriate apologies to Vinícius de Moraes, Antônio Carlos Jobim and João Gilberto).

Such great coincidence, or perhaps I’m just cool like that 🙂 Shortly after that, we thankfully got onto our respective flights and headed our different ways. After keeping in touch with my new friends, it turns out they are biodiversity researchers. I hope they’ll come visit us in California to see the Redwoods for themselves! I hope the Langoliers will enjoy the Bossa Nova when they get to the Varanasi airport 😉



Desafinado on the OLPC XO-4 in HTML5

Desafinado on the OLPC XO-4 playing natively on YouTube in HTML5

Leave a comment

Filed under general, music

To Ogg or not to Ogg, that is the question

In this recent trip to Bhagmalpur, Anish Mangal and I discovered something interesting. We’ve strived hard to keep the content available through unencumbered formats such as Ogg Vorbis for audio and Ogg Theora for video. Unsurprisingly, the OLPC XO laptop supports these out of the box, but will not run MPEG 4 videos.

Some kids were upset. How would they watch Shah Rukh Khan on their XOs? These kids go to a repair shop nearby and get videos copied over to a USB stick for a small sum of money. However, the videos are in MP4, and they don’t play on the XO.

Yet, we found a Shah Rukh Khan song number on a XO. How did that happen? Did they install the MP4 codec on the laptop? Some conversations later, we found out. They first figured out that the TED videos that do play on the XO are in OGV format. Next, they asked the guy at the shop to convert the Shah Rukh Khan MP4 to OGV. That’s it. Simple as a samosa. Now Shah Rukh Khan lives in OGV! Richard M. Stallman and Shah Rukh Khan are happy together in some universe 🙂



Leave a comment

Filed under general

“Whatever we don’t know, we learn by ourselves”

Here’s an interview with the kids in the village talking about their experiences of using the XO laptops and the XSCE server.

P.S. Please excuse my horrendous voice and pitiable interviewing skills 🙂

Leave a comment

by | November 23, 2014 · 11:23 am

Mission accomplished?

When I teach IT strategy, one of the first things I emphasize on, is that the mission is a more abstract, long term concept, and anything that changes the mission with changes to the market, competitors, collaborators, and other forces is probably not the mission to begin with. The mission is supposed to be like a lighthouse, guiding the ship through troubled waters and fog. Imagine your lighthouse changing coordinates every time the seas got rough! Your mission needs to be stable, so that you can hope to achieve it! If your “mission” changes that often, it ain’t mission; it’s just operational fidgeting. You’d be surprised how often organizations have trouble getting the operational mixed up with the strategic. Don’t believe me? Check out what Prof. Michael Porter has to say!

I use a simple tool in my class to describe driving towards a strategic goal, and how one can get derailed. The Mission and Core Competencies (MCC) matrix was published in the mid-nineties. It’s a comparison between the mission and core competencies of an organization. For simplicity’s sake, the author has divided the “mission” and “core competencies” scales into poor and good. This results in a 2×2 matrix, giving us four possible places we can be. We should be in a drive position, where the fit with both mission and core competencies is good. However, that’s not always the case. The organization can be in a drain, dilution, or distraction quadrant. While MCC was created as a tool for strategic management in organizations, it’s also a good approach for making decisions about everyday situations.

Mission and Core Competencies Matrix

Mission and Core Competencies Matrix

For instance, if the project at hand is a good fit with the mission, but we lack the competencies to get the job done, it becomes a dilution. In such a case, we usually hire new talent to improve competencies (long-term), or we outsource to an external agency. Working with open source software gives outsourcing a whole new meaning. Think about how much of the work at OLPC is “outsourced” (in a sense) to Sugarlabs, where volunteers build, test, debug and produce software for all the XO laptops worldwide. It’s a fascinating mechanism, but more on that some other time.

Of course, nobody wants to be in the drain quadrant. It’s a whole lot of fiddling and fidgeting, usually fuelled by hubris and/or groupthink. Once again, open source plays interesting angles here. Because open source encourages tinkering, (scratch an itch), getting focus can be hard, and hobbyist tinkering can do more harm than good, especially for getting the project out of the drain box. The early stages of XSCE comes to mind, when I think of this quadrant. Things have gotten much better, but we aren’t drive‘ing yet.

If the competencies are there, but it does not fulfil the mission, many organizations will take on the project to earn revenue (with a promise/commitment of doing so short term, until things get better), and then they slide down to modifying their mission to make it all fit. The dreaded distraction quadrant! This works short-term, but the trouble with this approach is that you end up solving the wrong problem. Lowering the bar (or raising it, if you are into limbo) makes it easier to “succeed”, but you may end up cheering the wrong kind of success.

Perhaps it’s simpler to think of it as a tale my grandmother used to tell us (aka streetlight effect). In short:

Once upon a time, a man got home late at night, and lost his keys while trying to open the door. It was quite dark there. So, he went searching for the keys by the lamp post. When asked why, he said “I know I lost my keys by the door, but the light is better here.”

For us, in the Bhagmalpur project, the mission is for the children to learn. The ways are via critical thinking and problem-solving, hence the focus on Sugar.  The computers double up as information delivery channels, hence our focus on offline servers and Internet access. That’s a plus, but it’s more of a consequence. If the critical thinking and problem solving parts go well, the community will be better at using the newly-acquired information to make better, informed decisions. Thus far, Sugar and XO laptops have been the most viable for us. Therefore, that’s the way forward. We are not really grounded/concerned directly about cheap tablets or Android, or next newfangled thingamajig, or even about “what Santa may bring for Christmas”. What we are concerned with, is that the upcoming generation learn to solve their problems locally and thrive.

Searching for these keys in the dark is going to be very difficult, but unless we get the correct set of keys, we can’t really open the door!

Onward and upward into 2014.



Filed under children, education, general, outreach, software

Hello world! from Bhagmalpur… part-1

This is a long long overdue post about the trip made by Kartik Perisetla and your’s truly to Bhagmalpur in an effort to install a new school server in the village.

To give you a background, the XSCE or the School Server Community Edition project has been gathering momentum over the past few months, and it has gotten to a point where pilots in remote places are conceivable. So, as a part of my summer internship, Dr. Verma graciously agreed to let us do a pilot of the server in the village (heck, I’d still have gone there if it wasn’t part of the internship).

Anyway, I roped in Kartik, who has been very interested to contribute to OLPC efforts in India, and both of us decided to head to the village around the last week of May (yes, that’s how long overdue this post it :-P). This plan took shape just before one of the periodic XSCE community sprints (this one was held at Adam’s parents’ home outside of Toronto). Working with Santiago Collazo (aklis) and Nitika Mangal from Activity Central we setup a roadmap for developing and testing the server before the actual trip to the village happened. We based our platform on the under-development 0.3 version of the XSCE and went about making sure that everything worked well out of the box and reliably so. After many conversations with Dr. Verma, we created an identical testing setup to the one which was in the Village.

May 22 came, and it was time to make it all happen in the real world. After surviving the Indian Railway’s ticket booking website and the actual train-journey itself, we made it to the village the following morning. Dr. Upendra Verma (Sameer’s uncle) was there to receive us and their son Utkarsh (traveling from Banaras). We knew the weather was going to be hot, but it was quite a bit more humid than we had expected. To top it off, there was no power in a major part of the village (including Upendra-ji’s house) for the last month or so, because a local transformer had burnt out and Indian bureaucracy was taking it’s usual ‘forever’ to fix it. Thankfully, sweet cold water from a hand pump in Upendra-ji’s house brought much needed respite!

After exchanging pleasantries, we soon got down to business and went about installing the new XO-1.75 based server replacing the old fit-PC based one. This was the most critical part of our trip and Upendra-ji turned on the diesel-powered generator so we could carry on with our work. We double and triple checked everything since if anything went wrong with the installation, the whole trip would be in vain. Also, we were facing problems getting the 3G modem↔TP-Link setup working, but thanks to Utkarsh’s smart thinking we got past that hurdle. The rest of the server installation went very smoothly. I can’t thank Santi and Nitika enough for their work in making sure we got past all the problems in our testing environment so we didn’t have to face any while in the village.

Soon, we were online, and sure enough, the server “called-home” to Dr. Verma’s openVPN server in SF. A server’s way of saying “Hello world!”

Following this eureka moment, we transferred all the 25 GB or so of content (ebooks, music, ted-talks and more…) into a 64GB pen-drive plugged into the XO-1.75 laptop. Then we placed the laptop neatly inside a briefcase along with all the other hardware. Working through the night, we installed software updates on all the available XO laptops (+ the five I took along with me, thanks to Arjun Gupta). Next, we registered them to the school server, so they could start sending journal backups. Another important part of the XSCE is statistics collection, where software running on the laptops records anonymous usage statistics and synchronizes them with the server. This data can then be researched to make useful analyses about usage patterns, software defects, and so on. 

After we were done with most of our tasks on Day-1 itself (phew!), we took a stroll through the village, this time during the night. My trusty sigma 30mm f/1.4 lens was a wonderful companion and took some great pictures, which can be seen here. While we were walking back to Upendra-ji’s home, we saw some lights blinking on their rooftop. He explained to me that those were the LED’s on the Wireless Access Point connected to the server. He told me a little story that when it was initially installed, the villagers were a little afraid of the strange blinking night-lights, and thought that it was some kind of a time bomb. Well, that time-bomb has now exploded! When they see those strange blinking lights again, they’ll know that internet is in the air, with all it’s wonders and wonderful content cached locally for their learning and joy. Talk about a shift in perspective!

School Server in a briefcase!

School Server in a briefcase!

Updating the software on the XO laptops.

Updating the software on the XO laptops.

Look at the top left corned of this image. Those LED's blinking on the rooftop indicate that the local access point is switched on, and the server is powered on.

Look at the top left corner of this photograph. Those LED’s blinking on the rooftop indicate that wireless access is present, and the server is powered on.

The following morning, we gathered the kids from the village so they could get their first taste of the internet and the new server. It was interesting to see some of them requiring a slight bit of hand-holding while others taking to it like a duck to water. Mostly, we left them alone to figure it out and learn from one another. An interesting fact: we had to buy a new, much bigger data plan just after a couple of hours. An interesting trend that started to emerge was kids downloading local content (already present on the server), and researching bits of it on the internet. Before all of this happened, though, we had to address concerns of their parents about being exposed to malicious content, so we had already setup dansguardian.

Note: The server has been online for some two months now, and there will be another blog post deeply analyzing the usage and the benefits it has brought to children’s learning and the village in general.

Stay tuned for part-2 of this post and other updates from the village!

Stay tuned for part-2 of this post and other updates from the village!


Filed under education, general, hardware, network, software, tech

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