Alvin Alexander | Java, Scala, Unix, Perl, Mac OS X

January 28, 2008, and I've got to think that Apple is in a bit of trouble. No, not because their stock has fallen from $200/share to $130, but because of their product line.

While they have released the iPhone, iPod Touch, Leopard, the new AppleTV, and MacBook Air in the last 12 months, Leopard is the only product from that group that seems to have any momentum right now. (Okay, maybe the iPod Touch has something going too, but that doesn't interest me.)

This morning I started wondering why off-the-shelf computers (Mac or Windows) don't include the hardware and software necessary to receive local AM and FM radio, as well as local television signals? I don't know the technicals hurdles behind this -- and that might be the problem -- but it seems like in our media-saturated age these would be standard computer features. (Hmm, after a little research it looks like this can be done, it just isn't.)


This article is now part of my new eBook, which is only $2.99 on

You want me to do what? A Survival Guide for New Consultants

I hope you enjoy my book, and more than that, I hope it helps you have a very profitable and rewarding career.


Yesterday I was at the bookstore, and I saw the next sign of the coming apocalypse: a book titled "Seven Habits of Highly Effective Teens". I almost had to take action and destroy every copy on the bookshelf.

Instead, I've come up with at least two alternative titles for that book:

  • Seven Ways to Force Your Teenager to be an Adult
  • Seven Ways to Suck the Joy out of Childhood

Ugh, I can't do it ... I can't do it ... I was going to link to that book an Amazon, but I almost puked.


Apple TV review: I'm generally an Apple/Mac fan, but I don't get the idea of the AppleTV. I rent maybe 10 movies per year on DVD, and Steve Jobs has stated that this is the market the AppleTV looks to replace. Let's take a quick look at this.

In 1993 I moved to Louisville, Kentucky, and started working as a consultant for a company I now refer to as The Evil Empire. The company didn't seem evil when I first started; in fact they were 26 of the nicest people I knew. Right away they made promises of considering me as a partner, and after my first year I was named Employee of the Year.

Just cleaning up around here lately, it looks like I never really linked up to some of the cost estimating and Function Point Analysis (FPA) tutorials and slide shows I've created. So without any fruther ado, here are some links to my free FPA tutorials and presentations:

Earlier this year I created a couple of tutorials about using Java on Apple's Mac OS X platform. Specifically, they're both about developing Swing GUI applications.

Today's news is that I'm working to convert these Java on Mac OS X tutorials into PDFs. Hopefully I'll have them available by the end of the year.

Here are links to the current HTML versions of these Java/Swing/Mac tutorials:

I just saw that Java for Mac OS X 10.4, Release 6 is now available from Apple. At first I thought this was "Java 6", but it's not. As you see from the release notes shown below it really updates either Java 5 or Java 1.4:

"Java for Mac OS X 10.4, Release 6 delivers improved reliability and compatibility for Java 2 Platform Standard Edition 5.0 and Java 1.4 on Mac OS X 10.4.10 and later. This release updates J2SE 5.0 to version 1.5.0_13 and Java 1.4 to version 1.4.2_16."

When talking about work yesterday, a friend said something like "It's all about the money, right?" Thinking about that last night, it quickly leads into a question of "What's important in your life?"

Favorite bumper sticker from the summer in Alaska:

"You laugh at me because I'm different. I laugh at you because you're all the same."


The cage

When a friend found a cow in her front yard the other day it reminded me of a question by Gerald Weinberg. I think his question was like this: "How do you keep a buffalo from running away?" The answer is simple: give it just enough room so it doesn't realize it's in a cage.

I've found that when it comes to work a lot of people are just like the buffalo in this story: You're in a cage, but your cage has gotten large enough so that you're comfortable, and most of the time you forget about it.

For developers frustrated with end users suffering from IKIWISI ("I'll know it when I see it"), let me share this story with you.

Some times when you take a file from a DOS/Windows system and move it to a Linux or Unix system you'll have problems with the dreaded ^M character. This happened recently when I moved an Ant script from a Windows system to my Mac OS X system. When I tried to run the shell script under the Mac Terminal I got this "bad interpreter" error message:

Summary: Notes on using Visio for UML diagrams (mostly why I don't like to use Visio).

I think it is okay to use Visio for UML diagrams when you're not going to be doing very many, especially if you already own a copy of Visio. But once the application you're modeling gets to be substantial at all, Visio has a major flaw:

You're trying to model a software application that has a data model with a drawing program.

To me, that's not a very good idea.

Java FAQ: Can you provide an example of the Java 5 autoboxing syntax?

Java FAQ: Can you show me an example of the Java 5 for loop syntax? (Java 5 and newer)

Answer: Sure. I've created a sample Java program to demonstrate the Java 5 for-each loop syntax, using both a List with pre-Java5 syntax, and a second example using Java 5 generics syntax.

Java 5 for loop syntax example

Without any further ado, here is the example code:

Java Fonts FAQ: How do I create a list of all the fonts available on the current platform?

Answer: To list all the fonts available to you in a Java application (a Java Swing application), I use the GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames() method of the GraphicsEnvironment class, which technically returns an array of all the font family names it finds on the local system.

I think some things Amazon has introduced with their Kindle device are very interesting, but at $399 IMHO I think it's over-priced by at least $270, maybe $300-350. The only thing I can figure is that since they're not charging you for network access and bandwidth they need to get a big chunk of money from you at the start. That price is just way too high for me.

Yikes, according a Computer Associates report, Facebook's Beacon advertising system is more intrusive than advertised, tracking users who opt out or are not even logged in: