Head First Java - yep, reading it and proud of it.

Like many, when I first saw the Head First series by O'Reilly launched, I winced. I thought to myself, "nah, there's no way to make learning Java that fun and use that degree of levity". And hey, I am probably one who could be easily labeled as an O'Reilly fanatic.

I have been through just under half of both of the Learning Java titles from O'Reilly, and got burned out and lost on each one. I was plodding my way through Sun Microsystems Press Core Java 2: Volumes I and II when I happened upon an article by someone named Kathy Sierra on java.net. It was titled Have your developers seen a real customer in the wild?, and it was a great read.

I read the reviews for both Head First Java and the Sun Certified Programmer & Developer for Java 2 Study Guide (Exam 310-035 & 310-027) book by Kathy and Bert Bates. It sounded too appealing to pass up.

I have been going through the book for about a week now, and it is great. Anyone with exposure to programming in at least one language will find this to be an inviting bridge into Java. Well, maybe not anyone, but most people. The approach of the book helps you to internalize Java, to "think" and "speak" in Java.

There is apparently quite a little stir about this being a dumbing down of Java, etc. Kathy even has a weblog entry about it, aptly titled What's so bad about making it easier to learn Java?. (You go, Kathy!) I can say personally this is the first Java book that approaches the ease-of-use and skill-building content that I first came upon in books of Visual Basic. Is it harder? You bet. Java is a more capable and powerful language, thus the commensurate learning curve to mastering that power is proportionately larger. However, that doesn't mean that the learning process for the language needs to be dry, turgid tomes that ramble for three or more chapters before having you write an example that shows you in concrete form the esoteric and abstract concepts with which are you are currently being mentally hosed down.

Think about this; did you learn your spoken language that way? No. See the first part of Programming Perl for a wonderful analogy of programming and natural language learning; my copy is at the office so I don't have it in front of me to give the exact reference.

I don't really have time these days to pontificate any further, and as late as it is I am not sure how cogent any of this is. Head First Java is a great book if you want to learn Java in a way that will allow you to internalize it and prepare for deeper learning of the language. That's all for now.

Thoughts on open source mailing lists

After the robust thread started by the recent post to the Debian PowerPC mailing list, I received a private message from someone I had indirectly affected in what I wrote. His name is Joe Malik, and he actually does much for that mailing list in terms of participation and helping folks along. I thought about what he wrote to me, and it caused me to reflect on what I had quickly banged out in frustration. Part of my response to him spoke to some general thoughts of mine about open source involvement and mailing lists. I have posted part of it below:

Read more…

OK Debian Linux PowerPC mailing list, it's like this...

Call it frustration, call it justified anger, call it whining, but I finally had enough of the response I and other new list members have been getting on the Debian lists. Being a new list member, you don't exactly want to alienate everyone, particularly when you need their assistance if you're ever going to come up to speed.

I reached a point shortly after my previous post where the risk of being alienated was outweighed by the state of things on the list. So, I posted the following:

Read more…

Word from the oracle, or what the hell is reverting to canoncial form

To put it mildly, trying to make some noteworthy progress with getting Debian Linux to run on the PowerBook is not going well. One thing that makes the already-frustrating experience even more unpleasant is getting answers or advice from those in the know. Participation on open source mailing lists is voluntary; we all know this. People answer as they have time, etc.

However, when you have burned 4-6 hours on something, then you hit a brick wall, and then you articulate a fairly detailed question, you hope for some guidance. I have been getting quite a few one-line, cryptic answers that tend to lead me on another 2-hour quest that ends in my learning that the answer was only half the story. I think my frustration is starting to show, as one of my posts from today's adventures shows:

Read more…

The price of learning, or why apt-get is so important

Today is another day of finding that I have expended quite a bit of effort that could have been spared if I knew more about the apt package management system of Debian. The current XFree86 version woes I am seeing where one package for 4.3.0 pulls in several older 4.2.1 packages could have all been averted were I not using the documentation that recommends the use of dselect for package management. So, as it turns out, RTM isn't always the answer. The excerpt from one of my posts to the Debian PowerPC list fleshes it out:

Read more…

Open source support vs. proprietary support for the common man

I have had the pleasure of running through all of the install routines for my Unix software that I run on my PowerBook installation of Mac OS X. Although it has been fairly smooth, I have run into some issues with database servers, application servers, etc.

My recent experience with resolving those issues brought to mind one of the common pieces of rhetoric used by those who are either wary of or outright against open source software: "what are you going to do for support?" I have noticed that the questions I have posted to the relevant mailing lists regarding my software issues have been answered within an hour or two, if I didn't first find the answer by examing the documentation for the product or searching the online mailing list archives for a particular issue.

Here's my criticism of the support objection to open source: "How is problem-solving with your proprietary software that different from the approaches used in open source software?" Unless your company is large and loose enough with the purse strings (a concept whose mention generates raucous laughter these days by virtue of the fact that it is ludicrous), you don't have the "gold support package" or whatever stupid name they call the ability to phone first-level support at the vendor's office. So what do you do? Search online, Google for answers, join a mailing list...huh, same here.

Maddox has posted a review of The Matrix Revolutions, for those who are interested. Do not read it if you have not seen the movie. If the name Maddox doesn't ring a bell, it soon will.

An evening with James Gosling

Tonight was a memorable evening at the Atlanta Java Users Group. James Gosling from Sun Microsystems was there. It was basically a 2-hour question and answer session, with no particular structure or agenda. Obviously, when the guy who initially created the programming language upon which the user group is based shows up, there is neither a lack of attendance nor a dearth of questions.

It was pretty fascinating to hear some of the ways that Java is being used. The work on the Real-Time for Java specification sounds promising, especially to anyone with an awareness of that market's untapped potential.

AJUG is allegedly going to post the video of the event somehow. I am not sure how that will be accomplished, but those interested might browse over to the AJUG site to see if it's there. James' weblog is usually a fun read.

Decoupling Patterns with Dave Thomas

I attended my first meeting at the Atlanta Java Users Group tonight, and the main speaker was Dave Thomas. It was a great session. Dave is originally from England, and he is both funny and informative. As one who is in the process of transitioning to Java from Microsoft-based development, it was good to hear from someone who is highly-experienced and frank. Some of the material you read and almost all Java-related sites can paint an all-too-rosy picture sometimes. This was more of a "living with Java and making that life better" instead of "how Java is going to make every bit of your life better", if you know what I mean.

It surprised me to see how many of Dave's suggestions and the pitfalls he illustrated are cases where developers abandon some of the fundamental tenets of OOP, like "don't break encapsulation". Perhaps it is more accurate to say that it surprised me and relieved me at the same time. Sometimes the body of knowledge and the paradigm shifts of moving to Java and real OOP can be daunting, and you wonder "geez, am I ever gonna get to a point of productivity in this stuff?"

If you ever have an opportunity to hear Dave speak, I highly recommend it. Dave is the author of two books, The Pragmatic Programmer and Programming Ruby. He is actually speaking again in Atlanta tomorrow night 09/17/2003 at a combined group meeting of the Atlanta XP and SPIN groups, see the XP site for more info. The title is "Herding Racehorses and Racing Sheep"; if I didn't have a prior commitment I would make that one for sure. His teaser of the topic sounded very worthwhile.

Testing, testing...is this thing on?

The first entry. Huh. Well, if I had known how easy it was to set up MovableType, I would have set this up back when I was originally inspired to buy Essential Blogging from O'Reilly. It actually had the receipt inside the book, so there was no way to deny that I originally meant to start my blog in November of last year. At the time I had three or so topics that I really wanted to write up in posts, two of which I cannot even recall. I do remember wanting to write about the .Net vs. J2EE benchmark from The Middleware Company (TMC) that ruffled folks so much, but that's so old now that it would be pointless.

Well, perhaps not pointless. There was that invitation for a rematch, and I had been wondering if TMC had not allowed the skewed study and subsequently broadcast their endorsement of .Net in an effort to draw out some of the Java heavyweights for that second invitation to be a real face-off. I also wondered whether or not the tactic (if that was indeed their intent) had enough behind it to succeed. Well, I haven't seen any more fuss over it in the past year, so it must have fizzled out. If it did, perhaps that is another more timely topic for discussion; why didn't anyone really care about the TMC study resuts past November of last year?

At 1:45 AM, I don't really have the drive to hit Google for any news or commentary on it. I did see this one newsletter from a guy in Austin that seemed thorough, if not a bit of a straw man argument on behalf of Microsoft against J2EE. I'm just glad this thing is running.