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

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:

Hmph, well, I buried this story in my personal category, but a friend of mine tells me it's front-page worthy. So, here's a link to my blog titled "How much are you worth to your employer?"

The most common reason to use a StringBuffer instead of a String in your Java programs is when you need to make a lot of changes to a string of characters. For instance, a lot of times you’ll be creating a string of characters that is growing, as shown in this sample example program:

Recently I started using Fink on Mac OS X to install Unix open source software. Fink is easy to use, and simplifies the process of installing open source software applications on Mac OS X.

To learn about how to use Fink, just open a Terminal window and type this command:

fink --help

That brings up the following help text (the fink man page):

Java FAQ: How do I access/read system properties and environment variables?