We recently wrote about the OLPC (One Laptop Per Child) initiative and specifically the XO laptop. Basically, the XO is a $200 laptop specially designed for use in developing nations. The laptop instantly recognizes other XO’s and connects to them, forming a mesh network, which then enables collaboration and even shared internet access in areas that traditionally can’t afford laptops and/or connectivity to the internet. They’re also specially designed for viewing in bright sunlight, and are incredibly durable. We’re already hearing about the positive impact these laptops are having on small villages, and more are being delivered daily.
The OLPC foundation previously offered a way to get your own XO laptop by taking advantage of their Give One Get One program, which allowed you to purchase two laptops, donating one to a developing nation. While that particular program is no longer available–I am hearing it will be offered again soon–you can still give one.
I took advantage of the G1G1 program and have had one for a while now and recently had a “geek” session with Brian Jepson of HackZine and O’Reilly. Brian is a seasoned geek and a quality Linux hacker, so we had a good time playing around with the XO. I should also mention that we generated some interest in our local Panera as we completely took over an area by a fireplace and had some strange gadgetry flying high.

Not quite what the foundation had in mind when they made the XO
By the way, if you haven’t seen one in person, check out the picture below. I was amazed at how small it is when it first arrived.

Now, let the hacking begin!
XOChat.org
The first thing we did, once the machines were powered up and connected to the available Wi-Fi, was set them to use XOChat.org. This is a service setup by Tom Hoffman which is basically a public ejabberd server. The coolest thing about it is that you’re instantly connected with other XO users (provided they’re also logged into the service). To set it up you go to the Terminal application and type:
$ sugar-control-panel -s jabber xochat.org
That’s all you need to do! See the picture below for all of the options available.

Brian and I played around for a bit, chatting away and trying to chat with others. Unfortunately, Panera’s Wi-Fi and also Brian’s sugar environment–he hacked his a bit too much–were a bit flakey so we didn’t chat long.

You can see how many people are already on the service chatting away and collaborating for fun.

Here Brian and I were just trying out the chatting ability

Notice in the upper right you can see another user? That’s Brian. Basically, our laptops found each other.
Some fun with a sensor
After we were done chatting, Brian wanted to show me some other hacking he’s done. In this case he built a pressure sensor out of a collection of electronics parts. Here’s how he did it: he took a force sensing resistor (you can get one from Trossen Robotics, Parallax, or Solarbotics), set it up with a 10k resistor and an LED for output, using the 5 volt USB port as a voltage source. Then, to protect the sound card from the voltage, he plugged a photo resistor into the microphone jack and pointed the LED at it, and ran the Measure activity that comes with the XO laptop. Each time you press down on the force sensing resistor, it makes the on-screen waveform jump around. Not bad for a $200 laptop.

You can see on the screen that the sensor really was working–way to go, Brian!
We need Opera!
Next up we decided to pull Opera down onto the XO since the built-in browser gets the job done, but not quite the way we want. In order to do that we created a nested X server, since there’s already one running that you don’t want to disrupt. So, we basically ran one X server within another, and the nested server–software called Xephyr–ran outside of the other applications we had running. Doing this you can have a traditional Linux desktop running at the same time as your XO stuff, as long as your memory holds out.

Downloading the necessary packages for the prep work, before installing Opera.

Then we went to Terminal and had to locate where it downloaded. Then we installed Xephyr, and did a number of modifications to .bashrc using vi–always fun.



Here you can see all of the work we had to do, including adding a path, making a directory, editing the file xeph, changing the mode of our file xeph, and more. Lots of fun!

Here’s us locating opera and then unzipping it.
Below is the final result: Geek.com displayed on Opera running on the XO laptop.

By the way, one of the configuration changes that we showed in a picture above was to the dot pitch. By default Opera is basically unreadable in the X server, due to the XO’s screen resolution. Incidentally, if you look closely at the pictures above, all of the steps to doing this hack are captured.
One of my favorite moments was when Brian almost killed the OS install on both of our laptops. Notice how calm he is?

Also, check out the side view of the XO–it’s still readable, though a bit black and white

After hacking for about three hours we needed to get back to the real world, but I definitely had a new appreciation for the power of a $200 laptop–and linux and unix admins.
If you’re interested in doing some of your own hacking, check out the XO wiki.