jLuger.de - Developing Software on an iBook G4 in 2012

In early 2006 I've bought an iBook G4. It was one of the last ones with a ppc processor. The Intel based models were already announced but I couldn't wait that long. The iBook had a 13" monitor and thus it was very portable, the battery lasted several hours (long enough for my needs) and it was amazingly quiet. But times changed and so I didn't need a portable computer any more. The desktop PCs were more open and customizable so that Linux worked almost out of the box.

But times changed again and at the beginning of this year I needed a mobile computer again. After having an iBook gathering dust in a corner for years I've rejected to buy a new notebook. Instead I've tried to revive the iBook so that I can surf and develop again on it. The machine was still very portable and very quiet. Even the battery lasted some hours although it was the original one. The only problem was the software. It was the same as in the old days and there weren't any updates. So I was left with a Firefox 3.6, an old and vulnerable Flash version, Java 5 and gcc 4.0. New languages like golang don't support ppc at all.

For the web I've installed Camino. It is a native Mac browser using the Firefox Gecko engine. It doesn't execute flash directly but offers a one click activation per embedded flash. So the old Flash version isn't such a great problem. Unfortunately I've learned after a while that Camino uses an embedding feature that is no longer supported by Mozilla. So the future is unclear. There is an alternative but I haven't given it a try.

For development I've started with gcc 4.6.3 in order to play around with gcj and C++-11. I wasn't able to compile 4.6.3 until I've registered at Apple as a developer and downloaded/installed XCode 2.5. When gcc version 4.7 was released I've tried to compile it too but didn't succeed.

As I've seen no way to get Java 6 or newer on the iBook I've tried to use what I've got: Java 5. The problems started with the IDE. Eclipse requires only Java 5 but there was no Mac OS X carbon version of 3.7. Only 3.6 was available and there only some packages. As I'm writing this, an unsupported version of 3.7 is available for download.

Then I've installed JBoss 5.1. It terminated with segmentation faults when I was using the admin webinterface. Fortunately deploying worked. I even was able to create a very little Java EE app. The problem here was that Eclipse and JBoss required more memory than the 1GB I had. So the computer was constantly swapping and very slow. I've also tried to use Spring Roo as a light weight alternative but although it was marked as Java 5 compatible it threw a lot of error messages and didn't work.

This all added up to make me very frustrated. Using outdated software is no fun. But I still wasn't ready to throw away good working hardware. So I decided to install Ubuntu. Ubuntu doesn't officially support the ppc platform but there is a community version.

My greatest fear was that the system was not usable because the mouse had only one button and you need three on a Linux system. It turned out that this wasn't a problem. I've discovered that you can emulate a right click when you place two fingers on the touchpad and click. Three fingers emulate a middle mouse button. I don't know if this works out of the box because I've changed some settings to get the Mac feeling back. I've disabled the clicking per touchpad and enabled the scrolling with two fingers.

The newly installed system seemed quit promising. I've got the latest Firefox and although there is no Chromium (the disadvantage of JIT) there is thanks to Epiphany a Webkit based browser. With the program Minitube I could also watch Youtube videos and the Unity desktop was showing its full advantages on the small 1024x768 display.

It got even better when I've learned that there is a Java 7 for Linux on PPC. Redhat has created a version of the jdk that uses "Zero assembler" (or at least only some hundred lines) and has a JIT that is based on LLVM. There was also an Eclipse in the package repository.

Unfortunately this is the end of the good news. It turned out that my quiet little notebook transformed into a rearing monster with Ubuntu. Even with little workload the fan started working and when confronted with heavy load it got so loud that I've feared it will explode every second. On the other hand all the programs seemed to respond faster.

Things got even worse as I've found out that suspend to ram didn't work with Ubuntu 11.10. According this forum entry it is because of a kernel configuration error. I haven't tried it yet because it was too close to the release of 12.04. Additionally the graphics card was only supported partially. Some 3D parts were supported but not all needed for Unity so I've got Unity 2D which is still very useful on the small display but not all the cool effects work on it.

I've got also some trouble with the battery indicator. It didn't appear in the top bar. The only solution I've found was to install wmbatppc, run it manually and let it always stay in the foreground.

The bad news keeped going on as I've tried to install a Java IDE. First I've realized that I can't get a version from eclipse.org as SWT contains native code and they offer no download for Linux/ppc. Then I had to find out that the Eclipse in the package repository had some unsatisfied dependencies and wasn't installable. I've installed SWT from the package repository and tried to patch a Eclipse for x86. I've also found a way to start it without the binary launcher. The iBook reared for minutes in order to start Eclipse but the splash screen didn't appear and finally I've got an error message.

I've then tried to install Netbeans as it has no native code but it seems that the startup script doesn't like my system either. It continuously claimed that there is no Main class.

Then I've wanted to to some C++-11 programming and installed the IDE Anjuta. The fan started rearing after just a little clicking and scrolling. I've then tried to use Code::Blocks. This IDE finally worked without turning my iBook into a rearing monster.

Although I've finally found a working IDE I was so disappointed that I've surrendered and bought a new notebook. After a few days using the new system I have to say that this was the right decision. So much is working out of the box that I can't call the iBook a working system any more.