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

Here's a URL to a decent LaTeX FAQ site.

RR tells me that Neuromancer by William Gibson might be a good sci-fi book to read on the upcoming vacation. It has some Matrix correlations. Oprah also had an interesting book idea about a deaf person during the depression. I can't remember the name of the book right now, but the first name of the author is "Carson".

While cleaning up my home office over the long weekend I also found an old note, and a good reminder, about the Hawthorne Effect. Another old note about JTest and JContract remind me of things I need to test!

I finally got the new search engine running. It's not Lucene, but it works just fine. You can now search the blog at this URL.

Here's a link to a nice article where the author at discusses the principles of task flow in web applications. His approach makes for some nice, if not overly simplified, web pages. Generally speaking, I agree that his approach is good for the majority of web users.

I just started a LaTeX section in this blog. Today I'm including two LaTeX examples that I often use as reference material:

Here's a sample LaTeX document where I'm experimenting with newenvironment, a definition list, and tables (the tabular environment. I don't have the output with me at the moment, but I think all of these worked correctly when using pdflatex (LaTeX PDF) and latex2html (LaTeX HTML).

Here is some example LaTeX code where I'm experimenting with image inclusion, as well as tags like htmlonly, latexonly, and the alltt environment.

This LaTeX example/test file was created for tests with the pdflatex (LaTeX PDF) and latex2html (LaTeX HTML) utilities. This is definitely not for newbies.

Hmmm, it looks like maybe somebody was working a little too hard one day ... here's a link to the "IBM Songbook". Somebody *should* buy the guy a drink.

A review of my Fujitsu T Series Lifebook Tablet PC

I've had a Fujitsu T Series Lifebook PC for about six months now. It's actually a Tablet PC, or more appropriately, a hybrid. That means that it can switch between being a small notebook computer and a "slate" model Tablet PC. It converts to a slate model by swiveling the monitor 180 degrees, and then folding it down onto the keypad (which is a very clever design).

Some of my cohorts in development are using the Hibernate object/relational mapping software with decent success.

And although this must seem trivial to most people, last night I found the LaTeX "strikethrough" (strikeout) capability I've been looking for. Just use the "sout" tag in the "ulem" package. I don't know why that had to be so hard to find (arghhh).

Here's a list of installer/installation programs that I've seen for installing Java applications:

FWIW, InstallAnywhere seems to dominate the market, but seeing that it's not exactly free, the others might be worth a look.


I've learned something about myself the last few weeks that maybe I didn't know before. While I don't like being tired, these last few weeks have been very trying, with long hours and hard work. The thing that I've learned is that this actually helps me to settle down, and focus on one thing at a time.

I've included the source code for a Stopwatch class here so I won't lose it. It's a good class for benchmarking the performance of certain operations in your code.

I think I found the Java Stopwatch class (shown below) in a book named Java Platform Performance. You can use the class for general performance timings, or make it part of an overall benchmarking system.

I take no credit for this Java code -- I didn't write it, and at the moment I can't find that book -- but I found it on my laptop, and wanted to make sure I have a copy of it laying around for when I need it.

Ahh, Cinco de Mayo, always a good reason for a margarita at OTB ...

In other news, here's a link to a guy that's crazier than I am. He has posted a page with a bunch of sed commands and command options. Although the examples weren't exactly what I needed, I was able to pull enough from his command examples to get some stuff going. FWIW, I was specifically looking for a command that would let me grab a pattern during the "search", and let me use that pattern during the "replace".


I just started working with a product named yGuard. yGuard is a Java obfuscator that can also be built into your Ant build process. My initial experiment using it in an Ant build process has been very successful. I haven't tried decompiling my class files yet, but I can see that several/many of the class files have been renamed, and the app runs fine from the obfuscated Jar file.


Here's a link to a sample 242-page requirements document. This is a real world example, full of use cases, requirements, and a few other things.

The following three links are web site references from Joel Spolsky's book "User Interface Design for Programmers".

Another link I want to remember is I found some useful info here the other day on Windows XP shortcuts.


A co-worked gave me this URL today for low-cost magazine subscriptions. As much as I like to read (and save money) this could be a lot of fun.