All posts by stephan


It’s good to reboot every once in a while.

It turns out that’s good advice for humans, too. I’m now on a sabbatical from IBM, taking a much needed break from the exciting but exhausting things I’ve been doing.

Instead, I’m going to spend more time with my family, and in addition, step back and take time to explore and discover the technology that got me started in my career. I’ll try and do a reasonable job of documenting my experiences here in my poor, underused blog. As you can see, I’ve already started doing some changes.

Ready? Here goes.

] PR#6

(Let’s see how many people recognize the reference.)


A simple batch file to automate remote CrashPlan management

I wrote a quick batch file for Windows that will let me temporarily redirect the CrashPlan Desktop client to point to my Synology DS411j NAS, a Linux-based server running CrashPlan in headless mode. The basic idea was that normally when I run the CrashPlan Desktop UI on my Windows notebook, I am managing the backup for the local notebook. However, when I run the batch file, I point the CrashPlan Desktop UI to the NAS and I am managing the backup for the Linux server.

I’m essentially posting this for my own records, but maybe it’ll be useful to others.

Prerequisite steps:

  1. Install the CrashPlan client on the Windows notebook. Install CrashPlan in headless mode on the Synology NAS. (The batch file should work for any Linux server, though.)
  2. Install putty and plink on the Windows notebook. In my case, I put them in C:\bin.
  3. Make two copies of C:\Program Files\CrashPlan\conf\ – one that corresponds to your desktop (called and a second that corresponds to your server (called In the case of, just add the following line as instructed by CrashPlan:
    serviceHost= (or wherever your NAS is)
  4. Create the following file somewhere and use a shortcut it to to launch CrashPlan but pointing to your remote server, to manage it’s backup. Use the regular CrashPlan shortcut when you want to manage the local backup. Customize IP addresses and passwords as required for your configuration.

@echo off

rem Start SSH tunnel
echo Starting SSH tunnel…
start c:\bin\plink -L 4200:localhost:4243 root@ -pw YOUR_PASSWORD_HERE -N

rem Open the UI
echo Starting UI…
cd \Program Files\CrashPlan\
copy /y conf\ conf\
copy /y conf\ conf\

rem Close the SSH tunnel
taskkill /im plink.exe

Upgraded the keyboard and touchpad on my OLPC XO-1

Yes, I still use my faithful OLPC XO-1! It’s amazing that, even after all this time, the readability of the XO-1’s screen still bests that of mainstream notebooks.

Today I picked up my XO keyboard+Touchpad replacement part CL1B from the always-great This part actually comes from the next generation OLPC (the XO-1.5), but perfectly fits the OLPC XO-1. I was mostly interested in getting the upgraded touchpad, which was always flakey on the original generation computers.

From start to finish, it took me about 20 minutes to do the disassembly and replacement, following the instructions at and with a single Phillips screwdriver in hand. My 3-year old daughter watched excitedly beside me and “helped me” as I upgraded her computer.

I plugged in the computer, held my breath, booted it up, and everything worked flawlessly. And yes, the new touchpad is much better than the old one!

Here’s a picture of the new keyboard and touchpad. Fingers are my daughter’s, not mine!


And for comparison, here’s the old keyboard.


Thanks, OLPC and!

My Book is on Amazon

So, my MC Press book on cloud computing is now available on Amazon!  I haven’t talked about the book much on the blog, since it was something I did for work, but it was a lot of fun to write something that ended up being published. What was interesting to me were the major emotional milestones that I hit in the process.

Completing the First Draft

No question about it, getting the first complete draft done with me and my fellow co-authors was a huge rush. Seeing all that text come together and reach the triple digit page numbers somehow made it go from any other writing assignment to something that clearly deserved the word “book”.

Seeing the Cover Design

This was huge.  There was something about viewing a giant jpeg of the cover design, with your name on the front, and an ISBN and bar code on the back, that made it suddenly seem like a real book now.  Even seeing the full PDF or the actual physical book itself somehow didn’t affect me as much as seeing the candidate cover!

Holding the Book

Yup. Holding the book was great.  Feeling that paper in your hands.  Except, for some reason, it seemed smaller and thinner than I had imagined it!  Perhaps a hundred pages isn’t that big after all!  🙂

Being listed on

And, last but not least, It’s amazing how real the whole thing suddenly becomes once it is listed on Amazon. I guess we truly do live in the age of digital.

Posting from my Phone

Here I am, posting from my phone. Because I can. Okay, I am actually posting from my iPod Touch, but that is close enough to the iPhone in this case, and for some reason the title just works better with “phone” instead of “iPod Touch”. Or “PDA”, if that is still a valid term.

I spent a couple of hours today working on the site infrastructure, upgrading the WordPress software and also finally creating a proper child theme instead of hacking the parent theme itself.

What a great way to spend my Christmas! I think I’ve reached the point where I miss coding so much that even WordPress and CSS hacking is a thrill.

Oh well — at least I still get to type on the phone! Autocorrects and all.

Happy Holidays everyone.

Turning off the XO-1’s wire mesh network

Thanks to Reuben Caron for pointing out on the OLPC developer’s mailing list that you can turn off the mesh networking using the following standard command:

echo 0 > /sys/class/net/eth1/lbs_mesh

This is nice because you probably just use regular wireless and don’t use or require mesh networking at all, so you might as well turn it off and save some power and complexity.

More details on the other ways you can control the mesh network via the firmware are in Trac.

New versions of OLPC software for XO-1 coming soon!

Despite the OLPC XO-1 now being several years old, I still find it a remarkably useful and enjoyable device to use. The Pixel Qi screen, unless you are one of the lucky few that was able to purchase the DIY screen kit which sold out in 24 hours, remains unique and among the best available. (The always engaging curiouslee was one of the lucky ones and has a great photo set of the Pixel Qi display installed in an Acer Aspire one netbook for you to drool over.)


That’s why I was happy to read a post from Chris Ball to the OLPC Developer’s mailing list describing OLPC’s software strategy. You can (and should!) read the post in whole, but one section was great to see for us OLPC XO-1 owners:

OLPC wasn’t planning to make a Fedora 11 release of the XO-1 OS, but a group of volunteers including Steven Parrish, Bernie Innocenti, Paraguay Educa and Daniel Drake stepped up and produced Fedora 11 XO-1 builds that follow the OLPC 10.1.1 work. I’m happy to announce that we’re planning on releasing an OLPC-signed version of that work, and that this release will happen alongside the next XO-1.5 point release in the coming weeks. So, OLPC release 10.1.2 will be available for both XO-1 and XO-1.5 at the same time, and will contain Sugar 0.84, GNOME 2.26 and Fedora 11. We think that offering this fully interoperable software stack between XO-1 and XO-1.5 laptops will greatly aid deployments, and we’re very thankful to everyone who has enabled us to be able to turn this XO-1 work into a supported release!

To prepare for this XO-1 release, we’ve started working on fixing some of the remaining bugs in the community F11/XO-1 builds. Paul Fox recently solved a problem with suspend/resume and wifi in the F11/XO-1 kernel, which was the largest blocker for a supported release. We’ll continue to work on the remaining bugs, particularly the ones that OLPC is uniquely positioned to help with.

The first development builds for this release will be published later this week.

I have been following the XO-1 Paraguay builds (unsigned images located here for you to try out) for a while, and they’ve been described by some as the best OLPC XO-1 images ever.  So it’s great to see not only recognition of the great work these volunteers have done, but also to see the OLPC organization pick up and incorporate this work into their stream!

Conserving Memory on the OLPC XO-1

One of the things I noticed right away when I started installing alternative operating systems on my OLPC XO-1 is that not all combinations of OS and software ran equally well. In fact, some configurations ran so slowly that it was almost unbearable to use as a normal environment.  To be fair, this is par for the course on all netbook systems – not just the XO-1 – with their slower CPU speeds and reduced memory.

On the XO-1, fortunately there are tweaks you can do to improve both things. You can overclock your machine to improve the CPU speed a bit, something I might cover later.  I also found that there was an almost direct correlation between how speedy my machine felt and the amount of available memory.

So with that in mind, about a year ago I did a series of experiments to see the impact of different OS’es, window managers, and swap file configuration had on available memory.

Here’s a table summary of the amount of available memory after booting up and entering “free” in an X-based terminal program.  In all scenarios, X was up and running, as was the Windows Manager and the wireless networking stack (connected to my wireless router).

Scenario Free Memory
A. Fedora 8.2 + Sugar 58,880
B. Fedora 8.2 + Fluxbox 115,936
C. Ubuntu 8.1 + XFCE 57,884
D. DebXO 0.4 + Gnome 80,080
E. DebXO 0.4 + Gnome + simpler wallpaper 84,616
F. DebXO 0.5 + Gnome + simpler wallpaper + SD swap 77,396
G. DebXO 0.5 + Gnome + no wallpaper + SD swap 82,152

Operating systems: “Fedora 8.2” refers to the operating system that came with the OLPC; updated versions are available for download.  “Ubuntu 8.1” refers to an amazing effort from Teapot that lets you install Ubuntu on your XO-1.  “DebXO” refers to a version of Debian that, thanks to Andres Saloman, you can also install on your XO-1.  (For completeness, I should mention that there are now at least two other interesting and promising Linux distributions that you can try out – Fedora 11 and TinyCore Linux.  However, these weren’t available when I did these experiments.)

Windows managers:  Sugar of course refers to the default, kid-friendly operating system that comes with the OLPC software.  Fluxbox and XFCE are two very popular lightweight desktop managers.  Finally, Gnome is one of two full fledged desktop environments normally associated with grown-up Linux desktops; KDE would be the other one, but I didn’t try that.

Wallpaper:  Yup, believe it or not, I wanted to see the impact of changing the desktop wallpaper between large bitmap pictures, simpler SVG-based pictures, and no wallpaper at all.

SD swap: Because I wanted multitasking, it was important for me to also see the effects of having a swap partition created on the SD card.  This would give me greater virtual memory, so that once physical memory runs low, the OLPC could swap background memory to the SD card so I could still run additional applications.

Okay, so perhaps not the most scientific or comprehensive set of results (if I had more time, I would have tried some other combinations), but I think it is fair to draw some interesting observations:

  • The memory overhead of Sugar is significant.  Looking at the difference between scenarios A and B above, I had to retest a couple of times to verify the numbers were still in the range.  Sure enough, if I do nothing but boot up into Fluxbox instead of Sugar, I get a significant boost in memory!
  • Gnome is more expensive than Fluxbox or XFCE, but not too much.  I admit to liking the full functionality and ease-of-use afforded by Gnome, so I was happy to see that while it definitely takes up more memory than Fluxbox or XFCE, that it wasn’t too bad.  If you want the absolute leanest system, though, changing the windows manager definitely had the biggest impact!  I would go with Fluxbox or even some of the lighter managers if I wanted the absolute most free memory.
  • The wallpaper makes a difference!  Okay, maybe it’s worth it to have a picture of leaves in your background, but for me, it was a no brainer to just turn that off to get the extra boost.
  • Setting up the swap partition also takes up memory.  Here’s where you have to make a call – if you are happy running single programs at a time, and/or don’t need to run any large programs (like Open Office), then you can skip the swap partition and be in good shape.  For me, I wanted to be able to have multiple browser pages open and be writing at the same time, so it was worth the cost.  I’ll just turn off my wallpaper.  🙂

As I said, not the most scientific way to do this, but what I learned above definitely helped me pick and tweak the software that ended up on my XO-1, and worked for what I needed it to do.