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

While digging through an old book this morning, I ran across this bumper sticker message from the 1960's:

"An atomic war could ruin your day"

I was born in '63 and don't remember most things like this, but it must have been an interesting time.


Linux command line FAQ: How can I record the input and output of my Linux command line (i.e., the Linux commands I type, and the output from those commands)?

I did something wrong in a previous blog entry that led me to use the "pax" command to create a large backup/archive. There's nothing wrong with using the pax command -- other than the fact that it's not available for Cygwin -- and I really needed to created a huge archive. (I know that pax is available for our Linux and Unix systems, but I can't find a version for Cygwin.)

Over the weekend I downloaded and installed the Glimpse search utility on my Windows laptop. Actually, what I'm doing is running glimpse under Cygwin. Because glimpse is generally just available as a source code distribution, I looked around and found a reference to a user who installed it under Cygwin. With that as my encouragement, I downloaded the glimpse source code and had at it.

Just cleaning off an old PC that I used to use, and I find these URLs that some of our developers put together for an old "Java Performance Tuning" seminar:

Here are several Linux-related links from a Computer Shopper that I'm about to throw out. They did a nice little story on how non-techies can try to get Linux going on a PC.

This is a little bit of a stretch, but if you look at the "CSD" doc for this jGrasp project from Auburn, I thought it was interesting that they are essentially trying to apply Edward Tufte sparklines to an IDE. The basic URL for the jGrasp project is:

and the URL for the CSD doc is:

I'm finally getting back into the swing of things after being a presenter at the Borland Conference. To that end I'm making my papers and presentations available online at the following URLs. I think the titles of the papers are self-explanatory, so I'll just list them here.

Don't you hate it when you start Windows Explorer and it always starts in the wrong directory?! For me, it opens in the "My ___" directory structure by default, and I never use those directories. It would be much better if it would open up and show me the contents of the "C:\" drive, or perhaps a subdirectory like "C:\Work". Fortunately this can be done, if you know the magic incantation.

LaTeX FAQ: How can I prevent line breaks from occurring in my LaTeX documents?

Another nice thing about LaTeX is that you can prevent line breaks between words that should not be broken, things like people's names. To prevent a line break from occurring, use the tilde character (~) instead of a space, like this:


This keeps "Mr. John Doe" on the same line when your document is created.


LaTeX FAQ: What kinds of dashes and hyphens are available with LaTeX?

There are three types of dashes you can create with LaTeX:

The ability to create notes in the margin (also referred to as "margin notes" or "marginal notes") is a really nice/cool feature in LaTeX. In the words of Edward Tufte, it lets you keep your notes near your content, which is a good thing.

Creating the margin notes themselves is very easy. Here's how to create a margin note with the LaTeX \marginpar command:

\marginpar{This note will appear in the margin.}


LaTeX question: How do I create an "ellipsis" with LaTeX?

Very simple, if not intuitive. Wherever you want the ellipsis to appear in your LaTeX document (LaTeX PDF or LaTeX HTML document) use the "ldots" command, like this:


LaTeX font question: How do I underline text in a LaTeX document?

This actually ends up being one of the easiest things to accomplish related to LaTeX font formatting. Its a little inconsistent from the LaTeX tags you use to create bold and italicized text, all you have to do is use the LaTeX \underline tag:

I'm heading into three straight days of intense requirements meetings, do I don't expect to offer any more updates until at least Thursday. Have a good few days ...

A couple of best practices today. First, a brief discussion on how to estimate software development projects using Function Points. Second, a discussion on the impact of physical distance between users and developers in the software development process.

I used to be one of the three worst software development estimators in the world. Okay, I was probably *the* worst. I could not estimate the time or cost of a software development project to save my life. Then I learned about this thing called Function Points, and Function Point Analysis, and other common sense things, like the Law of Averages, and my estimating life is much, much better. I might even challenge someone to a contest one of these days.

In the software development industry, the physical distance between developers and users is an important, often-overlooked variable to the success of a project. I'm currently working on a project where my development team is several hundred yards away from our users, and we're also in another building. Because developers don't seem to like telephones, or perhaps don't like talking to other people that aren't developers, I contend that this 300 yards could easily be 30 miles.

Okay, it took me forever to find the OMG's formal UML Specification v1.5, so here's a direct link to the page it is on. I'm not sure why, but I started at (don't go to without the "www" prefix because that doesn't work), and they bounced me to, and they bounced me back to for the actual doc. Argh.

Here's a tip courtesy of Computer Shopper: Every once in a while I've found a need to print a directory listing on my Windows computer. It only happens once or twice a year, but there are definitely times when I go "Man, I wish I could print the contents of my C:\Projects directory", or something similar. I don't know why MS hasn't built this into Windows.