La Question du Jour

1 min read

javaI'm looking for ways to create password protected Zip archives using Java. If you have any suggestions let me know.

javaHenri has some interesting Ant tidbits.

javaMy partner asked me the following question yesterday:

I am trying to get the indexOf a header column regardless of it's case.

This is how I do it case sensitive:

    int pos = data.indexOf("Custom List 2");

But I also want to find the case where it's "custom list 2".

The answer? Simple, make everything lowercase:

    int pos = data.toLowerCase().indexOf("custom list 2");

But I can definitely understand how puzzling it could be to someone who doesn't write code for a living.

javaSomeone on the Java-Dev mailing list asked about getting the MRJ JavaDiddler to run under OS X. I suggested giving BeanShell a try instead.

macThe July 2002 Mac OS X 10.2 Developer Tools and the August 2002 Update are now available for free download by all ADC Members.

I was able to compile the latest Jikes CVS snapshot once I applied the update.

macNew Web Page: Mac OS X Server Resources For Developers.

macNew Internet Developer Article: Installing Perl 5.8 on Jaguar.

newsCyberlaundry: eSuds. What will they think of next?

linuxYet another try at a Linux Desktop Edition.

newsParis remembers Diana five years on.

Smokey Joe

1 min read

newsAlexa Top 500 websites.

javaJava Recipe of the Day: Performance Timing.

newsRSS 0.9.4 draft specs.

windowsTightVNC 1.2.6 has been released.

javaSitraka is offering a seminar on Assuring Maximum Performance in J2EE Systems in Seattle on September 4th. I've registered for it but I'm not sure if I will actually attend.

usWe're going to go help Vicki' sister, Flora, pickup a Smokey Joe for her new house this afternoon. We're supposed to have a barbecue at her place on Sunday.

Random OS X 10.2 Observations

1 min read

My observations (and fixes) on Jaguar upon installation:

/usr/local/bin is no longer in the $PATH.
  To fix, execute:
    echo "source /usr/share/tcsh/examples/rc" >> ~/.tcshrc
    echo "source /usr/share/tcsh/examples/login" >> ~/.login
NcFTP has been removed.
  See my previous installation instructions or get it here.
/usr/share/init/tcsh/aliases is gone.
  To fix, execute:
    echo "source /usr/share/tcsh/examples/aliases" >> ~/.tcshrc
You might also want to look at this article.
FTP access is turned off.
  Needs to be turned back on via the Sharing control panel.
Printer Sharing is now available in the Sharing control panel.
  It's about time. Very cool!
However USB Printer Sharing with computers running OS 9 is only supported through Classic. Does not seem to work with 10.1.5 or Windows either.
The Finder command-option shortcuts have been changed to command-shift.
  Takes some time getting used to.
The locate/whatis databases are not rebuilt.
  To fix, execute:
    sudo /private/etc/weekly
The Address Book LDAP implementation is useless.
  Returning the name, email address and phone number is just not good enough.
Windows File Sharing is not as straight forward as it looks.
  I was able to mount a shared folder from a Windows machine, but not the other way around. Still working on that one.
[Update] Resetting my password did the trick. Thanks Mike.
The Finder open window zooming effect is annoying.
  How do I turn the damn thing off?
An ODBC Administrator is included in the Utilities folder.
  I haven't tried it, but should prove to be useful.
A Terminal window can now be split into horizontal panes.
  Sweet!
This new cursor Busy Cursor is way too fat.
  And I don't mean pretty hot and tempting.
command-option-click to hide current application.
  Just like it has been since System 7. option-click is still supported too. Great!
Interface Sound Effects are turned on by default.
  Can be turned off in the Sound control panel.
The ability to Replace All items when copying/moving files has been added.
  Thank God! No smart folder replace like Windows though.
VNCDimension 0.7.10 no longer works.
  Thankfully VNCThing still works.
Unfortunately this annoying problem has not been addressed. At least there is a way navigate thru the elements of open/save dialogs using the tab key.

Jikes & OS X (II)

1 min read

linuxI upgraded the server to bind 9.2.1 release 1.7x.2 last night.

musicI voted for Kelly, again. I'm just so predictable.

linuxIs Red Hat the Microsoft of Linux?

musicRIAA promotes file sharing.

windowsMicrosoft: XP SP1 "Within 10 Days"

newsShop till you drop. Size does matter.

windowsMicrosoft Publishes 272 Windows APIs.

javaSome problems with Jikes 1.1.6 have been fixed and are available via CVS. Here are the steps I used to compile and install the latest snapshot under OS X 10.1.5:

cvs -d :pserver:[email protected]:/usr/cvs/jikes login
cvs -d :pserver:[email protected]:/usr/cvs/jikes checkout jikes
cd jikes
./configure
sudo make install
rehash
cd ..
rm -rf jikes

blankThe first cvs command will prompt for a password, simply enter "anoncvs".

Someone has made a patch for Jaguar, but I haven't had a chance to tried it, yet.

javaThe Jakarta Commons BeanUtils version 1.4.1 has been released.

javaVersion 3.4 of the NetBeans IDE has also been released.

Java Programming Challenge

2 min read

usWe watched the season finale of Witchblade last evening. Season 2 was pretty good overall. I think I liked the first season better though.

javaLate last nite I received this letter from Javalobby:

Dear Friends in Javalobby,

I've got a simple favor to ask you. I'd be personally grateful if you would go participate in a Java programming challenge on Wednesday night at OTN to show your support for Javalobby and your goodwill to our sponsor, Oracle, who is hosting the challenge. Oracle has treated Javalobby really well, and their sponsorship and support helps us continue to deliver Javalobby as a free resource for the whole Java developer community. I hope you'll agree that participating in their Java programming challenge is a reasonable way to acknowledge their valuable support, and you may even have fun in the process.

Visit http://www.oracle.com/go/?&Src=1075780&Act=11 for the details and to register.

You won't win any money or a new BMW or a trip to the stratosphere in a Mig- 25, but I will personally send the names of the winners to everyone in Javalobby. You'll be known by your peers in the Java community as the best of the best, and you'll be entitled to brag. I know a lot of you are seriously good Java coders, and I'd bet many of you are better at it than you think. Please take the time to go over to Oracle's OTN site and try your hand at some of their "practice arena" questions. You'll get to preview their interactive challenge environment and you'll definitely hone your skills at coding under pressure. If you enjoy yourself, then go ahead and enter the contest and do your very best to win.

The challenge begins Wednesday, August 28 at 6:30 p.m. Pacific Time. The practice arenas are open around the clock from now on. I understand you should try to show up for the challenge on Wednesday a little early so you don't miss out. If you're late, then you can't participate. Of course, the competition is totally FREE and there is no obligation to buy anything (I don't even think you CAN buy anything!)

Again, visit http://www.oracle.com/go/?&Src=1075780&Act=11 to register and try the practice arenas.

Thank you in advance for your support, and I hope this will be fun for everyone who shows up and helps make the event a success. I genuinely appreciate your help, and you can be sure that your participation will help Javalobby.

Warm regards,

Rick Ross
[email protected]

macOracle 9i for OS X. Took them long enough.

windowsExpert demonstrates yet another Microsoft hack.

macSwitch to Mac? Too funny!

javaJava Recipe of the Day: Dynamic Class Loading.

windowsMozilla 1.1 terrorized my machine.

I inadvertently hit return when asked to change the default browser. No big deal, I thought. Boy was I wrong…

It didn't take long to figure out that version 1.1, like its predecessors, does a pretty pathetic job at rendering most web pages. So I promptly un-installed it. From that point on, Internet Explorer started to refuse opening URLs. I went thru hell and back trying to re-install IE. Everything is hopefully back to normal now. Reader beware.

NcFTP, wget on OS X

1 min read
If you liked The Professional and La Femme Nikita, you'll probably want to see The Transporter. I know I will. A new preview version of my favorite java-based editor, jEdit, has been released. Version 1.4 of Jakarta Cactus, a server-side unit testing framework, has also been released. NcFTP and GNU wget are a couple terminal-based file transfer utilities I find quite indispensable under OS X. The antiquated NcFTP 2.4.3 is installed by default under 10.1.5. NcFTP 3.x, which was first introduced in 2000, sports numerous new features. Most notably bookmarks management and file name competition. To download, compile and install NcFTP 3.1.4, open a terminal window and issue the following commands:
curl ftp://ftp.ncftp.com/ncftp/ncftp-3.1.4-src.tar.bz2 -O
bunzip2 ncftp-3.1.4-src.tar.bz2
tar xvf ncftp-3.1.4-src.tar
cd ncftp-3.1.4
./configure
sudo make install
rehash
cd ..
rm -rf ncftp-3.1.4*
If bzip2 is not available on your system, look here for instructions. By default, NcFTP 3.1.4 is installed in /usr/local/bin and will not overwrite the old version located in /usr/bin. I use wget to retrieve files over HTTP or FTP. It is very similar to curl, but quite easier to use. To download, compile and install wget 1.8.1, open a terminal window and type:
curl ftp://ftp.gnu.org/pub/gnu/wget/wget-1.8.1.tar.gz -O
tar zxvf wget-1.8.1.tar.gz
cd wget-1.8.1
./configure
sudo make install
rehash
cd ..
rm -rf wget-1.8.1*
By default, wget is installed in /usr/local/bin. "Will I use iChat? Not until it is redesigned to work better for those who have large user lists and use chat as a part of their work routine. Power users need more options…" -- I completely agree with Rob. We heavily use AIM for internal communication. iChat in its current bloated implementation will simply not cut it. Lots of noise on the Java-Dev mailing list regarding the availability of Java 1.4 on OS X. Allen Denison, Apple's Java Product Manager, offers some answers. The fact still remains that it has been over a year since Sun released the first public beta version. That's what I call dropping the ball.

Jikes & OS X

<1 min read

According to reports on the Java-Dev mailing list, the Jaguar dev tools installation still comes with Jikes 1.15 and there are issues with compiling the latest version. Be sure the build Jikes 1.16 under 10.1.5 prior to the 10.2 upgrade. Here are the steps I used…

Open a terminal window, then type:

curl ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz -O

to download bzip2 which is required to expand the Jikes archive. You could also manually download the source and use StuffIt Expander to extract it. If you do, you may skip directly to the compilation steps. Otherwise, type:

tar zxvf bzip2-1.0.2.tar.gz
cd bzip2-1.0.2
setenv CC cc
sudo make -e install
rehash
cd ..
rm -rf bzip2-1.0.2*

which will decompress, compile and install bzip2. Note that you'll be prompted for your password after the sudo command.

To download the Jikes source code, type:

curl ftp://www-126.ibm.com/pub/jikes/jikes-1.16.tar.bz2 -O

To uncompress the archive, type:

bunzip2 jikes-1.16.tar.bz2
tar xvf jikes-1.16.tar

To compile and install Jikes, type:

cd jikes-1.16
./configure
sudo make install
rehash
cd ..
rm -rf jikes-1.16*

The make command will take a while. Feel free to go grab a snack or something. :-)

By default, Jikes is installed in /usr/local/bin, but some applications may still look for the older version in /usr/bin. Renaming the old version and creating a symbolic link to the new version will circumvent the problem:

cd /usr/bin
sudo mv jikes jikes-old
sudo ln -s /usr/local/bin/jikes .

Yes, the last sudo command ends with a period. Do not forget it.

Finally, you can verify that the proper version of Jikes is active by typing:

jikes -version