Kindle, usbNetwork and You

My Kindle shipped with firmware 3.0.2. I wanted to upgrade to 3.1 to get real page numbers. When I got the Kindle I jailbroke it, installed usbNetwork and the screensaver hack.

Every time I tried to upgrade the firmware it would fail. After some searching I found that the firmware updates ship with differential updates. If any of the core files are modified the update will fail in order to prevent mucking something up.

An easy way to figure out what file is causing the upgrade to fail is:


You can then search through the file created on the Kindle for the file with a checksum failure.

In my case /etc/sysconfig/iptables was modified. Someone posted a stock copy of the file, once I removed the the single line that was different in mine the update applied without issue.

pythonbrew, perlbrew minus Perl plus Python

Recently I wrote about App-perlbrew and wondered if something similar existed for Python. A friend of my showed me pythonbrew. Pythonbrew seems to be directly inspired by perlbrew, it has a very similar command structure and syntax.

Both pythonbrew and perlbrew have a predefined list of supported versions of Python and Perl respectively. It is my personal opinion that this isn’t a good thing. Both Python and Perl list their released versions on their sites and it would be trivial to parse that information. I have a patch for perlbrew that does just that. I have started working on one for pythonbrew today and hope to have it finished and tested in a few days. I should probably send a pull request for the perlbrew patch as it doesn’t do anyone much good sitting in my repository.

It’s a boy!

My wife and I are expecting our second child in April. We went for  level 2 ultrasound Thursday because I was born with a clubbed foot and we wanted to make sure everything was ok with the baby.

One really Nice thing about a level 2 ultra sound is you get to find out the sex of the baby before you normally would. After a long and annoying wait at the doctor’s office because there was a scheduling mix-up we were taken to talk to the genetic counselor. We give out all of our family medical history and she makes some notes and tells us that we are at more or less no more risk than anyone else to have a child with a clubbed foot. Yay!

Next up, the ultra sound. We are eventually taken back and they start doing the ultra sound and take measurements of the baby’s head, arms, guts and pretty much every other part of the baby. We asked the lady doing the ultrasound to not tell us the sex until we could bring the rest of our family into the room. The were in the waiting room while the actual important-for-the-baby part of the ultrasound was done.

They come into the room and the ultrasound tech zeros in on the baby’s junk and announces that it is a boy. There are hugs, kisses and congratulations going around.

I’m still in shock. I know how to deal with a girls. I’m good at being a dad to Grace, now I have start at zero again. I’m excited.

Scanned Image-13

App-perlbrew, rvm for Perl?

Rvm seems to be pretty popular with the Ruby / Rails crowd. It lets you install and switch between different versions of Ruby really easily. I have been working on more and more Perl code and wanted to find something similar so that I can make sure the code that is currently working with Perl 5.6 will continue to work with 5.12.

I found App-perlbrew the other day and have been using it and so far it seems pretty compilable to rvm.

Installing a local copy of Perl is as easy as

$ perlbrew install perl-5.12.2

You can then list your installed versions of perl with

$ perlbrew list
* /usr/bin/perl

One thing that bugged me was it didn’t tell me the version of Perl /usr/bin/perl was. The nice thing about open source is the ability to modify it to do what you want, which is exactly what I did.

Setting the @author in Eclipse.

It seems there are basically two ways to set the correct author name (opposed to the system user name Eclipse is using per default) in Eclipse as it appears for example within the autogenerated javadoc comments.

First using -vmargs settings:
eclipse -clean -showlocation -vmargs -Xms512m -Xmx900m -XX:PermSize=128m -XX:MaxPermSize=128m"Your full name"

The other one is just by  changing the associated templates in Window -> Preferences -> Java -> Editor -> Templates -> @author , hardcoding the author’s name.