Thursday Mar 05, 2009

Vampires, Kill-A-Watt and the Costs of Working Remote

First; sorry for the prolonged absence from postings to my blog - had my head down on a very large project in Canada. We just completed our first release and I have a tiny bit of breathing room. More on that later….

With energy costs skyrocketing and the economy crumbling, people are scrambling to find ways to save money. One topic in the news lately is the talk of vampire sucking devices – I didn’t say it was a new topic, just in the news a lot lately.

There is a device on the market called the “Kill-A-Watt”. There are others, but this one was relatively cheap (around $50, but I was able to find one sub $40). One nice feature is that you can plug in your local KWH rate and get results in actual dollars per year (or month, day, hour, etc). That feature is really handy. It saves time and gets you to the pertinent information at hand. Namely: what is this device costing you per year.

Let me say up front that I used the device differently than the manufacturer suggested. They suggest you plug in a device and let it run for a long period of time. So, for a TV, you would let it run for several weeks or months. It would average out the time a TV is on vs the time it is off. The approach I used was to monitor the device for a much shorter period of time (typically 1 hr) in a steady state mode, eg: either on or off. I then created a spreadsheet whereby I entered the amount of time I though the device spent in the particular mode. Their approach might be more accurate, but mine let me fiddle with the numbers – and made the experiment more fun - if not faster.

Below is a list of all the devices I tested, along with the following attributes:

  • Name: self explanatory
  • 24x365 Cost: that is the cost if the device was left in this mode all year.  This isn't really very useful, but gives you a holistic view of what a device costs.  Think of it as the same as the "unit" price that many food stores now supply alongside the retail price.
  • % time in mode: the true percentage of time I _think_ this device remains in this mode.  This is probably the biggest area for error in this experiment.  The numbers you see here are subject to change as I hone in on what the true percentage actually is.
  • Actual Yearly Cost: the yearly cost \* the percentage of the time the device is on.  This is the actual out-of-pocket cost for this particular device as used in my house. Your mileage might vary. 
  • Unplug: If “y” then this is a device we could consider unplugging (or switching off) when not in use. More on this later.

Measurement Results:

Item Device Name Mode 24x365 cost % time in mode actual yearly cost Unplug or shut off when not using
1 Treo Cell Phone Charger - standby off 0.00 0.750 0.000 y
2 Basement Nightlight on 0.00 1.000 0.000 y
3 Downstairs VCR - on on 26.70 0.005 0.134 y
4 Office TV Tuner - on on 48.60 0.010 0.486 y
5 Hair Iron on 123.00 0.004 0.492 y
6 Gameboy Charger - undocked on 1.56 0.500 0.780
7 Sanyo Cell Phone Charger - charging on 3.85 0.250 0.963
8 Old 24" TV - on on 109.00 0.010 1.090 y
9 Sanyo Cell Phone Charger - standby off 1.56 0.750 1.170 y
10 Plasma Nightlight on 1.20 1.000 1.200 y
11 32" Flat Screen TV - off off 1.56 0.900 1.404 y
12 electric pencil sharpener on 1.56 1.000 1.560
13 Belkin Power Strip/USB Charger on 1.56 1.000 1.560 y
14 wii - off off 3.13 0.500 1.565
15 24 inch external LCD Monitor on 3.13 0.500 1.565 y
16 Gameboy Charger - docked on 3.13 0.500 1.565
17 Under Cabinet Kitchen Radio on 7.84 0.200 1.568
18 Rechargable Flashlight on 1.76 1.000 1.760 y
19 Upstairs DVR - off off 4.70 0.500 2.350 y
20 Treo Cell Phone Charger - charging on 10.97 0.250 2.743 y
21 Downstairs DVD - off off 3.13 0.990 3.099 y
22 Office TV Tuner - off off 3.13 0.990 3.099 y
23 P-Touch Label Printer on 3.13 1.000 3.130 y
24 13W CFL on 21.95 0.200 4.390
25 Wireless Headphone/Charger on 4.70 1.000 4.700 y
26 Kitchen MacBook on 5.75 1.000 5.750 y
27 Downstairs VCR - off off 6.27 0.995 6.239 y
28 Wireless Print Server on 6.27 1.000 6.270 y
29 USB Hub on 6.27 1.000 6.270 y
30 HP 3050 Printer on 7.84 1.000 7.840 y
31 Dell Laptop (printserver) on 10.97 1.000 10.970 y
32 Downstairs DVR - on on 37.63 0.300 11.289 y
33 Downstairs DVD - on on 12.53 0.917 11.486 y
34 32" Flat Screen TV - on on 119.70 0.100 11.970 y
35 Upstairs VCR - off off 25.01 0.500 12.505 y
36 Digital Picture Frame on 12.54 1.000 12.540 y
37 Upstairs VCR - on on 26.65 0.500 13.325
38 wii - on on 28.12 0.500 14.060
39 HP Photosmart 4250 on 15.68 1.000 15.680
40 Old 24" TV - off off 17.40 1.000 17.400
41 32" tube TV - off off 21.94 0.800 17.552
42 Upstairs DVR - on on 36.06 0.500 18.030 y
43 Downstairs DVR - off off 26.90 0.700 18.830
44 Xerox Phaser 3200 on 25.08 1.000 25.080
45 60W Light Buld on 102.50 0.300 30.750
46 32" tube TV - on on 156.80 0.200 31.360
47 Hair Dryer on 2315.00 0.014 32.410 y
48 Internet Camera on 32.91 1.000 32.910
49 Cable Modem/Wireless Router on 37.63 1.000 37.630 y
50 MacBook Pro on 39.20 1.000 39.200 y
51 IBM Laptop on 47.04 1.000 47.040 y
52 100W Light Bulb on 157.00 0.300 47.100
53 Refrigerator on 101.00 1.000 101.000
54 Office Track Lighting on 344.00 0.330 113.520


  • For devices like the wii, printers, DVDs, VCRs, etc – “on” means the device is ready to go, but no one is using it. Sadly, a state many devices in my house share.
  • For devices like the wii, printers, DVDs, VCRs, etc – “off” means that the device has been “told” to shut off, but internally they are still alive and sucking power.
  • Some devices like the wii, DVDs, VCRs, etc it is hard to gauge how often the device is actually “off” vs “on”, but unused. For those devices, I assumed a 50/50 split – this is where the manufacture’s recommendation that you monitor the device for a long, long time pays off, but that would have extended my test for many months.

The two charts below list the items in cost order:

Things Not Measured

  • Anything permanently wired into the house was not measured. This includes the pool heater, dishwasher, boiler, hot water heater,etc

  • Anything used very very seldom. Eg: garage door opener, pencil sharpener while in use, etc

  •  Anything I was too lazy to move or crawl behind.


The key factor to this analysis is the percentage of time in a state I associated with each device. The results are only as good as the value I plugged into this cell. That said; because I used a spreadsheet, I have the opportunity to change this value anytime I want. If you think my percentage values are not realistic, please submit your best guess – along with a reason why your SWAG is better than mine ;-)

Interesting Discoveries:

Lighting: I have 58 incandescent lights in my house. Note: I measured both 65W and 100W incandescent light bulbs. In fairness; I have a mix of 65W, 75W, and 100W bulbs in my house. That said; lets assume I only have 65W bulbs throughout my house - thus allowing for an apples-to-apples comparison to a 13W CLF.  If I swap every incandescent bulb for a CLF I would save $1520 annually.  That's assuming that my estimate of the lights being on 30% of the time is accurate - which I am starting to wonder about.  Even if the number is 15%, that's still a significant savings.  Also keep in mind that, 65W, is on the low side.  For the record; I’ve been doing this for a while and can attest that it is not practical to convert all lights to CLF, more on that later.

Lighting Costs: for the amount of money I spend a year on lighting, I could almost power a single blow dryer on the high heat setting 24 hours a day, 365 days a year.  I didn't say it was a particularly useful discovery.

Home Office: My out-of-pocket electrical costs to run my Sun home office is approximately $375. That includes all the equipment I leave on 24x7 + the dollars for lighting 8-10 hours a day 5 days a week.

Saving Money: If we were disciplined enough to actually turn off or unplug all the devices we are not using, we would save around $320 a year. This does not include the devices that it does not make sense to unplug (eg: TV, DVR, etc)

New Treo Charger: My brand new Treo replacement charger must be Energy Star 5 compliant because, when not charging the phone, it uses zero (zip) electricity.  This was the first device I tried to measure and I thought my Kill-A-Watt was broken.  It's a fact; I ran a test for days and, unloaded, it used no electricity.  I believe it is using some current, but not enough for the Kill-A-Watt to register. 


For all the talk about vampire sapping electronic devices, the cost savings one can achieve by unplugging unused devices is just not worth the effort. Granted, if every American did it, it would be huge for the country. On an individual basis; it’s just not worth the effort. We have started unplugging the “more convenient” devices (like the seldom used pencil sharpener and electronic picture frame), but that will net us less than $100 per year. In the long run, I suspect we will end up forgetting to unplug them.

Over the years I’ve heard people complain that:

working from home is good (great IMHO) and all, but the company does save HUGE bucks in not having to pay for office space, heat, and electricity for “my” needs. Instead “I” do.

While this is true (especially the working from home being great) and the office space cost is probably very high, it turns out that the home office electrical costs are fairly low. If it costs me $400 a year for the privilege of working at home – that aint bad. Plus, I could do a lot to bring these costs down. Things like shutting off the printers when not needed and switching from my halogen track lighting to CLF.  In fact; I have moved some of my devices to a separate power strip that I now routinely turn off.  Word of advice: watch the stand issue laser printer that Sun supplies (manufacture's name intentionally withheld).  It aint cheap to run 24x7.

Where you can save BIG bucks is by switching to CFL in general. That’s huge and easy. I’ve been doing this conversion for the pas 2 years – as lights burn out. I have about 80% CLF in my house (and no real plans to tackle the remaining 20%) There are down sides to CLF, but the savings is measurable and large. Even taking into account the 65W vs 100W and the 30% usage time issues, you are still talking of saving well over a $1000 per year savings.

Downsides to CLFs

There are hidden costs and issues with converting to CLF. First they are more expensive to purchase, but, in theory, last longer.  Some bulbs give off odd hues. Some are slow to warm. There are other issues, like: you can’t use a dinner switch with a standard CLF – and, going from “off” to “on” fast with a dinner doesn’t cut it. So, you either have to swap out the dimmer for a 2 pole switch ($) or purchase dimmable CLFs ($$$). I’ve done both as needed. Also note that newer CLF compatible dimmer switches do not dim as low as older switches.  So, if you are going for that romantic, low light effect, forgetaboutit.  If you try to use an older dimmer switch, the bulb will flicker noticeably while on the low setting.

There are some devices where it just looks plain’ol stupid to put in a CLF. Some of our ceiling fans take 3 small bulbs. Using CLFs screams high-tech red-neck! Same with bathroom fixtures. Basically; anytime the bulb is exposed in an otherwise finished environment, the resulting look is not-so-good. Exposed CLFs in the basement or garage is just me.

Final Suggestion

If you have any older slow-to-warm CLFs, put it in your bathrooms.  During the night, when your eyes are adjusted to the dark, the slow-to-warms are perfect.  They slowly get brighter - allowing your eyes to adjust accordingly. 

Tuesday Apr 08, 2008

Everything there is to know about The World Wide Chess Club

Chess is truly a wonderful game
Teaching it to kids is lofty aim

Playing it online is nothing new
Doing it with 80 kids, well, that is a big to-do

Put half in this country and half in that
The amount they will learn will truly be phat

Do you think you can help with such a design?
Then signing up for my project would be totally fine

If you are familiar with Project Darkstar
Then, on this project, I guarantee you will go far

That’s not to say that a client-server approach
is not something we would not consider or ever broach

A design meeting April 30th is what I’ve arranged
And they said you can’t find a word that rhymes with o’range

With my blogs, interest, I’ve attempted to churn
Now it’s up to you, it is definitely your turn

An LDAP password is something you will need
Otherwise the project description is something you never will read

Did I mention I have 5 volunteer Tee shirts to give away
Signup for the project and I’ll send one your way

Four to the next who signup on line
The fifth to be raffled further in time

What a wonderful incentive
An opportunity with kids to be inventive

Once again the website: Sun’s Global Volunteer Program Tool
My project, other projects, they all are very cool

Enter “The World Wide Chess Club” in the search dialog box
Looking for skilled people who consider themselves programming jocks

The project to be open source
and built with Sun tools from top to bottom of course

Now I’ve more than exhausted my talent when it comes to rhyme
You must act soon, we are almost out of time

Signup for The World Wide Chess Club - today!

The World Wide Chess Club
Signup On Volunteer Tool
We Need Your Help, Now!


Friday Mar 28, 2008

The World Wide Chess Club

Recently I posted a project proposal on Sun’s Global Volunteer Program website.  The proposal is for the development of a classroom specific chess program.  It would be designed to streamline the process of enabling groups of children, in two separate locals, to come together to participate in multi-week chess tournaments.   

As part of World Wide Volunteer Week (WWVW) I would like to conduct a review meeting to discuss the overall project.   If you have a Sun ID, I invite you to log in to the volunteer tool, review the project details, and signup for the meeting. 

URL: https://iecweb.india/php/interview/vol/sunglobal/newvol/SVS/volunteerHome.php

To locate the project, go to the search page and enter World Wide Chess Club as the search criteria.  If you do not have access to the site, but would be interested in attending the meeting, post me a message and I will add you as a guest.

I have also attached the meeting slide deck for your viewing pleasure.

Friday Mar 21, 2008

Is the placement of biometric fingerprint scanner all wrong!?

I think that the placement of the finger print scanner on my laptop (and, presumable, on other devices that are starting to roll out to the public) are in the wrong spot.  Specifically they are being placed right of the keyboard.  This is being done, presumably, because 85-90% of the population is right-handed (reference). 


All computers come configured for right-hand mice – again, presumably, for the same reason.  Most mice end-up placed on the right side of the keyboard – again, same reason. Therefore; it only makes sense that the fingerprint reader is also placed on the right-hand side of the keyboard - right?  I didn’t give it a second though when I received my first computer equipped with a finger-print reader.


After a year of constant use, I have come to the conclusion that this mindset is totally wrong.  My experience has been that, as the year progresses, the fingerprint on my right hand changes.  Yet, during this same period, the fingerprint on my left hand has not changed – at least from a scannability standpoint.  At first I though that the scanner was malfunctioning.  It took a while to realize that my fingerprint (something we are taught is unique and, by association, is invariant) was changing.  Evidently, it turns out, that this is a known phenomenon (reference) in the industry.


How do I gauge this?  Over the course of the past 14 months; I have had to reteach my right-hand index fingerprint three times.  Yet, during this same period, I have been using the same left-hand index fingerprint that I taught it on day one.   During this time a pattern has slowly emerged.  As the season progresses, my right-hand index finger starts to fail the scan more often.  Eventually, the only way I can pass the scan is to switch to my left hand or retrain my right hand.  Note: I might have better luck with other fingers, but the index is the most convenient to use.


Clearly what is happening is that, since we use our dominant hand more often, it is exposed to harsh environments more often – as compared to the passive hand.  Consequently, over time, the unchanging fingerprint becomes distorted by dry and/or broken skin. 


With this knowledge; I think it makes more sense that we should be scanning our non-dominant hand.  Consequently; vendors should be placing their fingerprint scanners left of the keyboard.  What do you think?  Has anyone else had the same experience as me?  If so, let me know. 

Friday Sep 07, 2007

Setting up the Sun JavaCAPS UDDI Server on Ubuntu

This document details how to setup the Sun JavaCAPS UDDI Server on Ubuntu.
  • Download the Linux (Intel x86) version of the JavaCAPS Applications ISO - in this case it was named java-caps-5_1_3-linux_x86.iso.  For those of you who are JavaCAPS literate - this is the disk that contains the Enterprise Manager, logical host, and UDDI Server/Repository.  Note: at the present time [version 5.1.3] of JavaCAPS is not freely available for download.  In the near future this (along with all Sun products) will change.  I do not have insight as to the time frame and/or if the UDDI Server will be broken out from the JavaCAPS application itself.  
  • Open java-caps-5_1_3-linux_x86.iso (the file downloaded above) and extract the stcuddi-Linux_x86.sar to a temporary directory.
  • Open the stcuddi-Linux_x86.sar and extract its contents to another temporary directory.  For example, I called mine UDDItmp.
  • Unbundle the stcuddi-Linux_x86.tar.gx.  This will create a UDDIInstaller directory
  • Open a shell and go to the UDDIInstaller directory and execute the script
For the following steps, you have considerable flexibility.  I will document my settings for you...
  • When prompted, enter the desired installation location for the UDDI Server.  In my case it was /home/kkranz/apps/UDDI
  • For the name of the UDDI Server enter: CAPSUDDI
  • Enter 8190 for the port number.  This will translate to the range 8190-8199, so be sure that range is open.
  • For the user name enter Administrator
  • For the password: adminadmin
  • Verify the password.
The script will then install the UDDI Server.  If successful, you should get a:
        UDDI Server installed successfully.
        Please start the UDDI Server.

To verify the install:
  • Start the UDDI Server (eg: cd~/apps/UDDI;
  • Point your browser to: http://localhost:8190/CAPSUDDI/
  • To publish WSDLs to the repository, point your browser to: http://localhost:8190/UDDIReg

Finally, to complete the installation process, you should create the appropriate rc.init start and stop scripts.

Tuesday Aug 07, 2007

Setting up GlassFish on Ubuntu

This document details how to setup GlassFish on Ubuntu as a non-root user - given Ubuntu does not have a dedicated root user account.  The goal of this text is to install GlassFish on ports 8081/8181 (http/https) with the administrator port on 4848.  In addition, instructions will be given how to configure the /etc/init.d directories so the default (domain1) server automatically starts and stops with the boot process.

As with the other documents in this series, I will assume little GlassFish and only moderate Ubuntu knowledge.


  • start synaptic package manager and download "ant - A Java based build tool like make".  Note: a copy of ant can be found in the GlassFish download, but it doesn't hurt to have the universe version installed.
  • The version of glassfish detailed here requires Java 5.0 (aka JDK 1.5).  Download and install JDK 1.5 then set JAVA_HOME to point to the base directory of 1.5.  Note: if you have installed the Sun Java WebServer then you already have a copy of JDK 1.5 installed.  Details on how to install the Sun Java Web Server on Ubuntu can be found here.
  • (optional) Start synaptic package manager and download "ksh - The real, AT&T version of the Korn Shell" from the Shell Universe.

To set your JAVA_HOME (in this case to the 1.5 JDK within the Sun Java WebServer) via the following commands:
  • cd ~
  • open .profile in your favorite text editor.  Yes, you can use a real one like vi.
  • add the following line at or near the end of the file:
    export JAVA_HOME=/home/kkranz/apps/webserver7/jdk
  • Source the profile: (. .profile) or simply open and use a new terminal window

Installing GlassFish Itself:

  • download your desired glassfish release.  (In my case it was glassfish-installer-v2-b50g.jar)
  • Copy glassfish-installer-v2-b50g.jar to the parent directory where you want to install the server.  (In my case it was ~/apps/glassfish)
  • Go to the parent directory and execute
    java -Xmx256m -jar glassfish-installer-v2-b50g.jar
  • (optional) rename the resulting "glassfish" directory to match your version of glassfish.  Example: glassfish_v2_b50.  For example the fully qualified path to my glassfish install is ~/apps/glassfish/glassfish_v2_b50.  I will refer to this as the [GlassFishHome].  You only need to do this if you too have a swiss cheese brain like me and will forget over time and/or possibly have more than one version of glassfish installed at a time.
  • (optional) change your http, https, and/or admin port numbers if they are already in use by other applications.  For example: oracle is already occupying port 8080 on my machine.  To change the default http port for glassfish, edit the setup.xml file and search for "instance.port".  Change the 8080 value to another port (eg: 8081).  Note: in the section where instance.port is defined, you will see other settings for admin port, admin password, default domain name, etc.  Modify them as necessary.
  • In your [GlassFishHome] execute the following command:
        ant -f setup.xml
  • (optional) Remove the glassfish-installer-v2-b50g.jar file
You may now refer to the standard glassfish documentation.  As a shortcut, to start (and stop) your server execute the following commands:
    cd [GlassFishHome]/bin
    ./asasmin start-domain domain1

If you point your browser at http://localhost:8081/ you should see the ubiquitous "your server is up and running" page (assuming you changed your http - otherwise it will be 8080).  http://localhost:4848 will bring up the administration page.

Setting up the /etc/init.d/GlassFish Files:

If you would like your glassfish server to start at boot time then you need to create the necessary /etc/init.d files - much like you did with the Sun Java Web Server.  The core of the init.d file is shown below.  

case "$1" in
    ${GLASSFISHHOME}/bin/asadmin start-domain domain1
    ${GLASSFISHHOME}/bin/asadmin stop-domain domain1
    ${GLASSFISHHOME}/bin/asadmin stop-domain domain1
    ${GLASSFISHHOME}/bin/asadmin start-domain domain1
    echo $"usage: $0 {start|stop|restart}"
    exit 1

Create the above file using:
    sudo gedit /etc/init.d/GlassFish
Then add execute permissions:
    sudo chmod a+x /etc/init.d/GlassFish
Finally create the necessary run level links to start the server in states 2-5 and to terminate it in states 0,1, and 6.  


If, by now, you are tired of creating the links in the various rcX.d directories and remembering to get the file permissions correct. The following script will do it for you.  In fact, the only thing it wont do is write the start/stop script for you. 



# Author: Ken Kranz - Sun Microsystems, Inc
# NOTE: this script makes use of Korn Shell commands.  You must download "The real,
# AT&T version of the Korn Shell" from the Shell universe.
# creates the proper links from the various rcX.d directories to the TARGET file
# located in the /etc/init.d directory.  It assumes a standard startup config,
# namely the TARGET is started in run states 2-5 and shutdown in states 0,1 and 6.
# For this script to work, the /etc/init.d/TARGET file must already exist.  Once found
# it creats the /etc/rcX.d links back to the TARGET and, for good measure, does a
#    chomd +x
# on the target.
# You can run this script multiple times.  I might complain that the links exist, but it
# continue on.  aka: if you aborted a previous run, you can rerun to complete the link process
# NOTE: if you decide to rerun this script with a different TARGET to NUMBER value, it will
# NOT remove the existing links.  So, be careful, you don't want to be creating duplicate
# start or stop scripts.

USAGE="$(basename $0) TARGET NUMBER"

if [[ $# != 2 ]]; then
    echo $USAGE
    exit 0

if [[ x$TARGET = x ]]; then
    echo missing TARGET
    echo $USAGE
    exit 1
if [[ x$NUMBER = x ]]; then
    echo missing NUMBER
    echo $USAGE
    exit 1

if [[ ! -e /etc/init.d/$TARGET ]]; then
    echo cannot find $TARGET
    exit 1

sudo chmod a+x /etc/init.d/$TARGET

sudo ln -v -s /etc/init.d/$TARGET /etc/rc0.d/K${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc1.d/K${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc2.d/S${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc3.d/S${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc4.d/S${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc5.d/S${NUMBER}$TARGET
sudo ln -v -s /etc/init.d/$TARGET /etc/rc6.d/K${NUMBER}$TARGET

Sunday Aug 05, 2007

Setting up VMWare on Ubuntu

With one hitch (which mainly only effects my machine configuration) the VMWare installation on Ubuntu is fairly straight forward::

  • Obtain a VMWare Server serial number by registering at the VMWare website
  • Add the universe, multiverse and (important) commercial repositories
  • Start Synaptic Package Manager
  • Search for "vmware-server"
  • mark the "vmware-server" for installation. Via dependencies, it should also select the "vmware-server-kernel-modeluesxxx" for installation
  • hit apply
  • when prompted, enter the VMWare server serial number

I had noticed that,sometimes, it seems that the VMs cannot connect to the host via the network. I had experimented with installing Ubuntu several times.  Every so offen, for a given install, none of the VMs would have network connectivity.  It was all or nothing.  Either all the VMs I created (XP, Solaris, Ubuntu) had network connectivity or none did.


I finally figured out what the cause of the problem was.  It revolved around the fact I have two network adapters, but only one is physically connected to the network. It so happens that ln0 was disconnected and ln1 was connected. In my latest reinstallation of Ubuntu, I forgot to disable ln0 before installing VMWare. Consequently, when I installed VMWare it attached to ln0 - resulting in none of my VM's having network connectivity.

I could not figure out how to reroute the VM network in the configuration files. Instead, I disabled ln0 then uninstalled  and reinstalled VMWare. I then pointed to my existing VM images and everything was good.

Unknown if, had I had ln0 connected and ln1 disconnected, would the VM problem arose.  Either way, if you have a network adapter that is not physically connected, it is best to disable it before proceeding with the VM install.  I will, eventually, lookup how to change network adapters on the VM site and detail the steps here.  

Thursday Aug 02, 2007

Installing Sun Java System Web Server 7 on Ubuntu

correction of ln command[Read More]

Setting up Ubuntu to run with the full Sun/Java web stack

I have a need to setup Ubuntu 7.04 for a project I am currently working on. Being new to Ubuntu, I thought it would be nice to document the steps involved. Ubuntu is a little different in that there is no root user per say. If you forget to sudo your installation scripts odd things happen that can get you into a rat hole... especially if you (like me) are new to Ubuntu.

Don't expect super great insights here - just points of interest and general guidance / suggestions. Also, don't expect redocumentation of what is already available. Where documentation exists and is accurate, I will point you to it. Also, don't look here for and insight into older versions of Ubuntu

Who should read this thread? If you plan on installing Ubuntu and you would like to include the full Sun / Java Open Source stack (namely: Sun Web Server, Netbeans, Glassfish, etc) plus some 3rd party applications (eg: Oracle, VMWare) then this thread is for you. I make no assumptions of Ubuntu of Sun experience. In fact; I am trying to target that group of people with little Ubuntu or Sun/Java experience.

Where the process goes smoothly, I will just outline the steps and point you to the right documentation and software to download. Where things get ugly, I will have a bit more to say. Out of the box, Ubuntu has other (default) web applications (eg apache). What that is well and good, I will touch upon how you undo (or not select them to begin with.

Machine Config: the machine in question is a Sun Ultra 40 Workstation configured as follows:

  • 2 - AMD Opteron Model 280 (Dual-core) processors
  • 8 - GB (4 \* 2 GB) DDR-400 ECC memory
  • 3 - 250 GB 7200 RPM SATA Disk
  • 1 - NVIDIA Quadro FX3500 PCI-Express graphics card
  • 1 - DVD Dual
  • 2 - 10/100/1000 Ethernet ports
  • 2 - x16 PCI-Express slots
  • 2 - x4 PCI-Express slots
  • 2 - legacy PCI slots
  • 4 - GB (2 \* 2 GB) DDR-400 ECC memory kit for Sun Ultra 40 workstation
  • 1 - 24.1-inch TFT LCD Color Monitor (27 inch CRT equivalent)
  • 1 - NVIDIA Quadro FX 560 entry 3D graphics card Installation

Goals: Setup a Ubuntu server that is running the full Sun / Java open source web stack in place of the default Apache / MySQL servers. Products to be installed and configured include:

  • Sun WebServer
  • Netbeans (5.5.1 and 6.0)
  • Glassfish
  • VMWare with the following virtual machines:
    • Windows XP
    • Solaris 10
    • Ubuntu - for experimentation
  • Oracle 10g
  • Access Manager
  • Identity Manager
Final point: Much of what you will find here will be (IMHO) fairly mundane. The bottom line is that I need to document what issues I ran into and I figured that I would share them with others so that we might all benefit. Consequently; any feed back is welcome.

Saturday Jan 27, 2007

Rapid Response Utilities - RRTUtils.jar

I am a former member of SeeBeyons’s Rapid Response Team. In order to help other RRT members and SEs “make the sale” I started writing java based utilities that they could reuse in other projects. The effort was called RRTUtils. Eventually this became an open source project with other SeeBeyond employees and clients participating. If some of the code looks familiar within JavaCAPS that is because, on several occasions, development has included parts of RRTUtils within the product.

For a long time this code was maintained on a personal website that I ran out of my house. In December of 2006, I allowed the domain name “” to expire. The site contained many tips and suggestions that focused around our 4.5 product and was, therefore, somewhat outdated. While no longer exists the utilities still do.

You can download a copy of RRTUtils.jar here.

The crux of the website was the RRTUtils.jar file. So, while I no longer maintain the RRTUtils website, the RRTUtils.jar still exists and people still periodically ask for copies. There is nothing proprietary in these utilities. In fact, some of the code is downright sloppy (again: think 2AM on day 4 of a 5 day POC), but there are some good things in it. Don’t look for anything fancy here – RRTUtils is the epitome of POJO. I figured I’d use my first Sun blog to make the code available for others to use.

RRTUtils.jar is actually a rename and offshoot of the com.kkranz utility package I started in the mid 1990’s and brought with me when I joined STC. Consequently; some of the code is old. I believe the oldest code is JExec - which goes back to 1996/1997. Did I mention that this code is sloppy too ;-) Also, some of the code reflects examples I wrote when I was a contributing author for the Unix Companion and, later, for the Java Developers Journal.

Word of thanks: Some of the code is a snatch and grab of code freely available on the net. It was placed in the RRTUtils.jar just to make the process of accessing it at a POC fast and easy – in 4.x, the UI for loading JARs was time consuming and mouse click intensive. I’ve tried my best to make sure I have given credit (and left pointers to) the original owner of any “snatched” code. Any oversight is strictly due to time constraints associated with completing a POC and then immediately moving on to the next one. If you see a place where I missed attributing the code to the true author, please let me know. It is my sincerest desire not to take credit for other people’s work. Again, as a general rule, the messy code is mine – the good stuff is snatched. I would like to say special thanks to Adam Turnbull and Andy Knight (SeeBeyond/Sun UK) for contributing both code snippets and suggestions to the effort over the years.

Finally; the RRTUtils.jar file has not really been updated in well over a year. I am not opposed to (renaming and) continuing the open source project. If you think there is a need for POJO based general java utilities let me know. I could easily be convinced to reevaluate the flavor of the project and resume the effort.




« June 2016