Saturday, May 26, 2007

Crew cases, part one

One of my summertime projects is to modify two computer cases to bear a likeness to the Columbus Crew soccer team's home and away jerseys. I already had the black case and components so there wasn't much effort involved there. The yellow case, however, needs to be painted; transforming it from beige to yellow.

Safety first, always paint in a well-ventilated area with proper protection.

The beige case has already been wet-sanded with 600 grit sandpaper and had it's primer coat.

Here is the case after the first coat of yellow.

I've already done part of the black case. To the left of it is the guts of the yellow case.

What's left to do? I need to create a mask or stencil so I can spray paint "Columbus Crew" in Copperplate font on one of the removable drive panels. I need to find two Crew logo stickers, about an inch high, to put above that. On the other side of the logo I'd like to do the Lamar Hunt (LH) patch. I'd also like MLS logo stickers for the bottom.

Thursday, May 24, 2007

BEA JRockit on Ubuntu

I've decided to play around with Ubuntu again today using 7.04 (Feisty) desktop running VMWare Server with a 6.06 LTS server running as a guest. I wanted to get Tomcat working and was able to do so with the Sun JDK6. I also tried to get the examples to work under BEA's JRockit accelerated Java VM and here is how I installed it:

sudo -s
chmod +x jrockit-R27.2.0-jdk1.6.0-linux-ia32.bin
./jrockit-R27.2.0-jdk1.6.0-linux-ia32.bin -mode=console

I answered the following to the prompts


Next, I created a symbolic link for the JRocket folder (Ubuntu does this for the Sun Java and GCJ alternatives). I also updated all the "alternatives" used by Debian systems.

ln -s /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0 /usr/lib/jvm/java-6-jrockit
update-alternatives --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/appletviewer 64
update-alternatives --install /usr/bin/apt apt /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/apt 64
update-alternatives --install /usr/bin/extcheck extcheck /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/extcheck 64
update-alternatives --install /usr/bin/idlj idlj /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/idlj 64
update-alternatives --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jarsigner 64
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javac 64
update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javadoc 64
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javah 64
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javap 64
update-alternatives --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/java-rmi.cgi 64
update-alternatives --install /usr/bin/jconsole jconsole /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jconsole 64
update-alternatives --install /usr/bin/jdb jdb /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jdb 64
update-alternatives --install /usr/bin/jps jps /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jps 64
update-alternatives --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jrunscript 64
update-alternatives --install /usr/bin/jstat jstat /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jstat 64
update-alternatives --install /usr/bin/jstatd jstatd /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jstatd 64
update-alternatives --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/native2ascii 64
update-alternatives --install /usr/bin/rmic rmic /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/rmic 64
update-alternatives --install /usr/bin/schemagen schemagen /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/schemagen 64
update-alternatives --install /usr/bin/serialver serialver /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/serialver 64
update-alternatives --install /usr/bin/wsgen wsgen /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/wsgen 64
update-alternatives --install /usr/bin/wsimport wsimport /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/wsimport 64
update-alternatives --install /usr/bin/xjc xjc /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/xjc 64
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/java 64
update-alternatives --install /usr/bin/keytool keytool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/keytool 64
update-alternatives --install /usr/bin/orbd orbd /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/orbd 64
update-alternatives --install /usr/bin/pack200 pack200 /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/pack200 64
update-alternatives --install /usr/bin/policytool policytool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/policytool 64
update-alternatives --install /usr/bin/rmid rmid /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/rmid 64
update-alternatives --install /usr/bin/servertool servertool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/servertool 64
update-alternatives --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/tnameserv 64
update-alternatives --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/unpack200 64
update-alternatives --set appletviewer /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/appletviewer
update-alternatives --set apt /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/apt
update-alternatives --set extcheck /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/extcheck
update-alternatives --set idlj /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/idlj
update-alternatives --set jarsigner /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jarsigner
update-alternatives --set javac /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javac
update-alternatives --set javadoc /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javadoc
update-alternatives --set javah /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javah
update-alternatives --set javap /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/javap
update-alternatives --set java-rmi.cgi /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/java-rmi.cgi
update-alternatives --set jconsole /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jconsole
update-alternatives --set jdb /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jdb
update-alternatives --set jps /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jps
update-alternatives --set jrunscript /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jrunscript
update-alternatives --set jstat /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jstat
update-alternatives --set jstatd /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jstatd
update-alternatives --set native2ascii /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/native2ascii
update-alternatives --set rmic /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/rmic
update-alternatives --set schemagen /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/schemagen
update-alternatives --set serialver /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/serialver
update-alternatives --set wsgen /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/wsgen
update-alternatives --set wsimport /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/wsimport
update-alternatives --set xjc /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/xjc
update-alternatives --set java /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/java
update-alternatives --set keytool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/keytool
update-alternatives --set orbd /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/orbd
update-alternatives --set pack200 /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/pack200
update-alternatives --set policytool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/policytool
update-alternatives --set rmid /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/rmid
update-alternatives --set servertool /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/servertool
update-alternatives --set tnameserv /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/tnameserv
update-alternatives --set unpack200 /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/unpack200
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jar 64
update-alternatives --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/rmiregistry 64
update-alternatives --set jar /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/bin/jar
update-alternatives --set rmiregistry /usr/lib/jvm/jrockit-R27.2.0-jdk1.6.0/jre/bin/rmiregistry

I'm sure there are other things I still need to do like all the environment variables and a path but this is a good start and everything I've tried under Tomcat has worked.

Wednesday, May 23, 2007

Oracle SQL Developer on Ubuntu

This is for Ubuntu 7.04 (Feisty) desktop and hasn't been throughly tested (i.e. I got connected to our Oracle boxes, queried some data, did a happy dance, then disconnected). This assumes you are installing from a CDROM with the .rpm in a directory called Oracle and all of your SQLNet .ora files in Oracle/network/admin (tnsnames.ora and possibly others):

sudo -s
aptitude install rpm sun-java6-sdk
rpm -i --nodeps /media/cdrom/Oracle/sqldeveloper-
tr -d '\r' < /media/cdrom/Oracle/network/admin/tnsnames.ora > /etc/tnsnames.ora
tr -d '\r' < /media/cdrom/Oracle/network/admin/sqlnet.ora > /etc/sqlnet.ora

Note that rpm will issue a warning about Application not being a valid desktop category but that can be ignored, SQL Developer will be in Programming on the Gnome desktop menu. The 'tr' is used just in case your tnsnames.ora and sqlnet.ora came from a Windows environment (which will cause SQLPlus and SQL Developer to not recognize entires in them).

Monday, May 21, 2007

Oracle instant client, Ubuntu, and ORA-12154

I've been pulling my f'ing hair out for a couple hours trying to figure out why I couldn't connect to our Oracle databases from an installation of Oracle's instant client for Linux on Ubuntu 7.04 (although this should apply to other installations). No matter what environment variables I set or where I placed tnsnames.ora I would always get a ORA-12154 could not resolve service name error. Here was the problem (thanks to Rajesh Jayaprakash's Linux tricks and how to's): the tnsnames.ora and the sqlnet.ora files were created on Windows and had the extra carriage returns in them. Removing the carriage returns solved the problem.

How f'ing stupid. For those that want quick installation instructions assuming you have the installation files on the root of a mounted CDROM:

sudo -s
mkdir /opt/oracle
cd /opt/oracle
unzip /media/cdrom/instanclient-basic- (etc.version.blah.blah)
unzip /media/cdrom/instanclient-sdk- (etc.version.blah.blah)
unzip /media/cdrom/instanclient-sqlplus- (etc.version.blah.blah) optional
ln -s instantclient_10_2 client
cd client
ln -s
ln -s
tr -d '\r' < /media/cdrom/tnsnames.ora > /etc/tnsnames.ora
tr -d '\r' < /media/cdrom/sqlnet.ora > /etc/sqlnet.ora

To use SQLplus from a shell you need to add the ORACLE_HOME=/opt/oracle variable and add /opt/oracle/client to variable LD_LIBRARY_PATH to the /etc/bash.bashrc (for example).

Wednesday, May 09, 2007

eBay, spoofs and spam

For the first time in probably over five years I decided to make some purchases off of eBay. I am in the process of building my "Fortress of Nerditude" in the basement and wanted a small wide screen LCD to serve as secondary PC display, TV, DVD screen, etc. A while ago I was looking at Dell LCD displays and since Dell no longer sells them I found some reasonably priced on eBay. So I make a bid for one but I'm outbid. Then came the flood of spoof mail and SPAM. On that single item alone I have received 17 (and counting) bogus mail messages from people claiming to the be the "seller" offering a second chance to buy the item or mail addresses to use to buy the product directly from them. This was the first time I had encountered this phenomenon but it infuriated me. Most were designed to look like authentic messages from eBay and all seem to be generated by the same program (all contain similar spelling errors). Some attempts were pathetic, in broken English. What is sad about all this is this was only one bid from a user ID that has never bid on anything else. What kind of message is eBay sending by allowing people who use the eBay system to send this crap? (I read they were changing the bidding system to hopefully eliminate this). I have a thick skin and a little tolerance for this crap but how could I recommend the eBay experience to family if getting assaulted by spoofs and spam is the result?

It's been a long time

How does that Boston song go? Oh well. It has been a long time since I've used the therapeutic power of writing to help me through life. It's not like my life has been boring and uneventful. Last month my girlfriend of almost four years (close to six if you count online and times I drove up to see her) left me to return home. She filled up a 24 foot moving truck, a couple cars and a van with stuff and headed north with her son and dog. After one weekend of feeling miserable I reversed my attitude and was determined to stay positive through the whole situation. I started looking for people and started contacting friends that I had either lost track of or simply just didn't talk to much. My search found someone who is now moved in with me and renting one of the bedrooms of my house. I have started the sizable cleanup effort inside the house and have a couple of the rooms ready to repaint. I have plans for my deck off to the homeowners association and hope to start real work on that soon.