My first Linux Installfest with Atlanta Linux Enthusiasts (ALE)

The Atlanta Linux Enthusiasts (ALE) had an installfest today, and I was able to attend the latter half of it. It was great fun, being in a big room with Linux boxes of all shapes and sizes accomplishing all manner of Linux tasks and tricks. I also won a door prize, O’Reilly’s Building Secure Servers with Linux – pretty cool!

It was good to put some faces with names from the ALE mailing list. I also enjoyed fielding some questions about Linux on the PowerPC platform.

Why I moved to Linux

Those who have been following my weblog may see a bit of apparent contradiction between my recent move to Linux and my resignation from attempting to run Linux in June of this year. For both of you, I would like to attempt to explain.

I am fond of analogy, particularly in areas where a point is hard to communicate or rather abstract to the listener. In my early twenties, two of my best friends and my dad (who is another best friend, truth be told) all went skydiving together. It was an accelerated freefall program; 8 hours of training and 45 seconds of freefall with two trained folks holding you by the arm and then a 3-minute parachute ride down. Anyway, there is this cliche that skydivers say over and over, “why would you jump out of a perfectly good airplane?”

Commercial operating systems are very much like the “perfectly good airplane.” They’re fine, for the most part. They more or less get you where you want to go, and at a cost that is not too outrageous, though sometimes exorbitant.

I know why people jump out of perfectly good airplanes. I know because I did it. I also know that all people who ask that trite question tend to share one thing in common; they don’t know what’s outside that airplane, and they don’t want to know.
Continue reading

More on Eclipse Bug #57897

Ah, sarcasm in bloom…

I think I ruffled some feathers with my last comment on Eclipse Bug Report #57897. I hate when you write something and it makes someone else think you are saying something that you are not saying. That’s just the sort of thing that happened in my recent communication with Cristophe Cornu of IBM’s Eclipse Team; his response to my comment chronicling the pains it took to build Eclipse on PowerPC Linux with GTK follows:

Barry:
As you reported, you need these packages in order to compile swt/gtk and the
launcher on a machine with GTK2 libraries. These prerequisites must be set up
before running the Eclipse build script. They require root access and a build
script cannot be expected to install new packages.

Here’s my response contained in comment #48:

(Begin excerpt)
In response to the question in comment #47, my Debian distribution is sid, which is the most up-to-date of the three options for Debian: woody (stable), sarge (testing) and sid (unstable).

In no way do I think that anyone including myself would expect a build script to install packages from various Linux distribution package management systems; that would be a highly impractical notion. However, in the installation instructions for the srcIncluded packages, linux gtk ppc is a supported build and there is no mention of prerequisite libraries. The only hint at this is in the Known Limitations section of the instructions file included at the root of the package:
Continue reading

On the other side of Linux desktop migration

Although it is inferred by the previous post, I can now say that I have made the transition to Debian GNU/Linux as my primary operating system. My email has been migrated over for weeks (go Thunderbird!), along with my non-multimedia files. With the advent of Eclipse 3 on my install, all of my Java development projects are moved over. Did I mention that the MyEclipse IDE plug-in works just fine?

The really huge breakthrough for me was getting GPRS working over Bluetooth. That was do or die, and for days I had been lugging another PowerBook running OS X to work that served as a wireless access point for my Linux PowerBook. Talk about motivation to get GPRS working! My laptop bag was instantly six pounds lighter. I figured that would incentivize me to take the time to work it out and not cop out by switching back.

KDE is pretty good; the KPPP applet is what I am using for GPRS. However, I think I might like Gnome better. Most of my critical apps are GTK-based. However, when I look at installing it via aptitude, I usually get one or two complaints about broken or unavailable packages. That’s enough to scare me out of it; my GTK apps breaking in the past have been part of my past Linux desktop migration disasters.

Having hardware that Linux can work with has been a lifesaver. If you are thinking of switching to a Linux distro, for heaven’s sake do your homework on your hardware, especially if you are looking to purchase hardware. Don’t go for the latest and greatest; that’s a recipe for misery and disappointment. Plus, you will find that Linux with older hardware probably runs as good or better than the proprietary operating systems on the latest and greatest hardware. That’s not biased, manical raving, either. Booting back and forth between Debian and OS X, I have gotten a kick out of the difference in speed for certain things like application launches.

Eclipse 3 on PPC Linux with GTK success – woohoo!

Well, a milestone has been reached. I have successfully installed Eclipse 3.01 with the build from source package and a great deal of undocumented, time-consuming additional effort that is required. Comment #14 on Eclipse Bug Report #57897 makes mention of having to build the Eclipse executable and the SWT libraries separately. (NOTE: That is not even mentioned in the documentation bundled with the Eclipse package. You have to REALLY want to install Eclipse on this platform, enough to comb through bug reports.)

I decided to catalog my pilgrimage, and most of it is contained in comment #46 of the bug report. I summarized my experience in the following excerpt from the comment:

Conclusions
1.) The Eclipse JDT can indeed be successfully deployed on the PowerPC Linux GTK
platform.
2.) The current procedure and prerequisite libraries and tools for the
additional required steps are quite laborious; this process would be best
incorporated into the build from source process for Eclipse.

It was a truly satisfying feeling when Eclipse asked for my workspace location and then came up on the screen. I hope this will help to pave the way for the Debian project to package Eclipse 3.

Eclipse now builds on linux-ppc-gtk, but…

There has been a flurry of activity over at Eclipse Bug Report #57897, and things are starting to shape up. The build will now succeed, but there definitely seem to be some missing pieces, as seen in my last comment, #42:

Thanks, the removal of the fetch dependency from the run target of the build.xml
file rectified the previous issue found in comment #42.

When testing the corrected build scripts, I received similar results on the
srcIncluded versions of the Eclipse 3.01 Release, Eclipse 3.1 M2, and Eclipse
Integration 20041013 packages:

Eclipse 3.01 Release and Eclipse 3.1M2 Build:
gather.bin.parts:

children:

rootFileslinux_gtk_ppc:
    [chmod] Skipping fileset for directory /home/barryh/eclipse-3.1M2/tmp/ecli
pse/linux.gtk.ppc/eclipse. It is empty.

init:

gather.bin.parts:

children:

rootFileslinux_gtk_ppc:

run:

BUILD SUCCESSFUL
Total time: 97 minutes 38 seconds

Eclipse 3.1 I20041013 Integration Build:
init:

gather.bin.parts:

children:

rootFileslinux_gtk_ppc:
    [chmod] Skipping fileset for directory /home/barryh/eclipse_I20041013/tmp/
eclipse/linux.gtk.ppc/eclipse. It is empty.

run:

BUILD SUCCESSFUL
Total time: 96 minutes 1 second

After the build, the linux-gtk-ppc-sdk.zip archive exists is the results
directory as indicated in the installation instructions for all three package
versions.  Upon expanding the archive, the contents appear as follows:

barryh@finn:/usr/local/eclipse$ ls -la
total 72
drwxr-sr-x   6 barryh staff  4096 2004-10-21 17:54 .
drwxrwsr-x  14 root   staff  4096 2004-10-21 20:37 ..
drwxr-xr-x   2 barryh staff  4096 2004-10-21 17:40 configuration
-rw-r--r--   1 barryh staff 15049 2004-10-21 17:40 cpl-v10.html
-rw-r--r--   1 barryh staff    59 2004-10-21 17:40 .eclipseproduct
drwxr-sr-x   9 barryh staff  4096 2004-10-21 17:54 features
-rw-r--r--   1 barryh staff  5810 2004-10-21 17:40 notice.html
drwxr-sr-x  83 barryh staff  4096 2004-10-21 17:54 plugins
drwxr-xr-x   2 barryh staff  4096 2004-10-21 17:40 readme
-rw-r--r--   1 barryh staff 19672 2004-10-21 17:40 startup.jar

There is no executable named "eclipse" as mentioned in the documentation.  Is
this normal, and if so, how should eclipse be launched in that case?

My apologies for the delay, but testing all three builds took a while with my
test machine.

An incremental pace, but encouraging nonetheless…

Testing Eclipse linux-ppc-gtk build from source

I’ve started getting involved with a particular bug report on the Eclipse project, Bug #57897. I found it as a result of searching via Google for information related to the problems I have had trying to perform the build from source for Eclipse. According to the documentation, building on PowerPC Linux with GTK libraries is supposed to be supported. As the following clip from Comment #31 of the bug report shows, I am having no success:

Using the 32-bit PowerPC Linux 1.4.2 JDK from IBM, I have reliably received
build failures every time on the following Eclipse SDK builds from source, with
the source included in the downloaded .zip archive:

Eclipse 3.01 release
Eclipse 3.1M2
Eclipse 3.1 Integration Build 20041013

The execution command is as follows:
# ./build -os linux -ws gtk -arch ppc -target run

The error message is:
BUILD FAILED
/home/barryh/eclipse_I20041013/build.xml:40: taskdef class
org.eclipse.pde.internal.build.tasks.IdReplaceTask cannot be found

Every time it is related to the IdReplaceTask in line 40 of the root build.xml
file, which is a taskdef that reads:


We’ll see where this goes…

Dave Thomas on the Art of Programming

The keynote speaker of the the Atlanta Java Software Symposium (AJSS) was Dave Thomas of Pragmatic Programmer renown. This first day was a handful; three back-to-back sessions on Spring by Bruce Tate. I learned today that Bruce is now employed by Interface 21, the company behind the Spring Framework. But, this post is about Dave’s talk…

Dave drew analogies between the approaches that artists and programmers take to doing their work. The talk had three main topics:

- Knowing how to start
- Knowing when to stop
- Satisfying the customer

I have never heard a perspective on the practice of programming quite like that, and it echoed with some of my own personal feelings about it. Admitting the art in programming is uncomfortable for some people, particularly those who hold so dearly to the idea of programming as an engineering discipline. If there is art in programming, then it cannot be distilled into a body of terse maxims. If programming is partly an art, then a number of silver bullets like heavyweight methodologies and model-driven architecture are built on less-than-reliable presumptions.

About nine months ago, I was giving model-driven architecture (MDA) and the full gamut of UML a hard look, wondering if they could indeed deliver on their promises. God knows there are enough companies pouring millions into efforts to market them. The same can be said for the now-discounted Enterprise JavaBeans (EJB) 2.1 specification. The more time I spend looking at lightweight methodologies and what they have already accomplished, the more critical I am toward the once-received wisdom about enterprise application platforms.

Should you have a chance to hear Dave speak on this topic, don’t pass it up.

I still don’t have GPRS over Bluetooth working in Debian GNU/Linux; a shame, it sure would be handy at the conference.