Virtual Environments for Collaborative Visualization and Experimentation.

Saint Paul College

Preparing Ultra 20 & Ultra 40

Continued preparing the Ultra 20 and Ultra 40 to be cloned for classroom use - copied all Ultra 20 downloads to the Ultra 40 and installed Adobe Creative Suite 4 on both.  (Did not log many hours this week as I had an outside commitment on Tuesday and a final class assignment due Wednesday). 

Progress on GUI

Think I've figured out why default behaivor for JComboBox doesn't select the first item (is my face red!); I set the first item's text to "Select account to remove".  Also, once I attached the JComboBox to the original JButton, rather than to the JPopupMenu (the intermediate step - it appears when the JButton is pushed and causes the JComboBox to appear when one of its options is selected), the JButton showed underneath the JComboBox, so I had to set the JButton to invisible while the JComboBox is visible.  The list in the dropdown menu (the JComboBox) is alphabetical now; I didn't know the Vector class inherited the sort method - it isn't listed in the API as an inherited method.  I suppose I have to look at the Collections API to know the full functionality of a class or interface - I thought it was all included in the Overview.  Added a label and textfield for name to the popup menu which adds single new accounts.  Am now

Strong Passwords: A first defense against intrusion.

The Password.

A lock on your door or a safe at the bank are there for a good reason, they protect property from theives. The passwords on a system are there for the same reason. Using a weak password is the equivalent of having no password at all because anyone can download and use a variety of freely available tools to crack your password while simultaneously hiding their location. A system that uses a weak password is like a bank that keeps all thier cash on a pallet by the front door. (continued)

Progress on GUI

Finally fixed the JComboBox selection problem - automatic selection of the first item is default behavior (don't know why - it would be interesting to know).  Removing the ActionListener before populating the dropdown menu avoids the automatic selection of the first item; then I just add the listener back when the dropdown menu is invoked.  But I couldn't get it to select any item at all once I'd fixed that.  I tried writing an SSCCE so I could submit a question to one of the sites I'd been using for a resource, and found the problem while whittling down the original file - this is a powerful tool for debugging.  I had originally added the JCombo Box to the JPopupMenu that caused it to appear; when I added it to the JPanel that the JPopupMenu was on, everything worked.

Progress on GUI

Added issueCommands method. 

Figured out BoxLayout error - turns out it's a common one - I was setting it as layout for the frame, while it should have been added to the contentPane.  This didn't end up helping me with the layout in general though; the answer to that was that I was using the same component more than once (a blank JPanel with background color, used to hold space).  Each time I added the component to another one, it was removed from the last component to which it had been added.  Had to make blankTopRow1, blankTopRow2, etc. and finally got the layout working the way I'd intended. 

Sun Ray 3 Plus for High Resolution Desktop Virtualization

The newest SunRay from Oracle/Sun.

On March 31st Oracle announced the release of the next generation of Sun Ray thin client device. The new machine has far superior graphics abilities and Gigabit Ethernet ports and fiber optic ports.  Yet it still consumes only 15 watts.  My desktop uses something like 400 watts. 

To the chagrin of it's users the SunRay 2 client only supported USB 1.1, but users will be happy to know that the newest SunRay does support USB 2.0 on all 4 of its USB ports. Very nice.

Realtime Worlds' MMO: APB --->Unreal Engine 3 + Vivox

<--[realtime worlds]-->Realtime Worlds was founded in 2002. It's headquarters are in Boulder, Colorado and it's developement offices are in Dundee Scotland. They have assembled a team of professionals that have worked on such titles as "Crackdown","Lemmings", and "Grand Theft Auto".

Players are immersed in 3D positional audio from Vivox, (this is what Linden Labs and IBM use for their audio). Absent a headset they can still chat with a keyboard. In order to give players a good visual experience and natural character movement AFB uses Unreal Engine 3, perhaps the best physics engine available.

progress on GUI

This was only a three-day workweek for me; Monday was Memorial Day and I took Wednesday off to do some classwork. 

Oracle VM - Part II


When the need for virtualization became very apparent in our server room I did many hours of research. From marketing materials and official documentation to Wiki and blog posts I looked over the alternatives. Of primary importance? Ease of use, efficiency and ubiquity. I don't want a solution that is difficult to use and undocumented. Obviously it must provide efficient use of the hardware. I want something that is useful on my resume as well. If I choose something unheard of, well what use it to me?

GUI for CSCI admin

Have made some progress on the GUI.  The action listeners for the textfields verify adminstrator's userID and password; if invalid, a message is generated; if valid, the textfields are no longer editable, and the processing buttons are enabled (and a different message pops up).  Code for "batch" button pops up a file chooser - problem remaining there is that the file chooser dialog doesn't close automatically after the file is selected - I have to hit the red "close" button to close it.  Code for "single" button pops up a JOptionPane which prompts user to input fields to process a single account.  The problem with the JOptionPanes is that they display "uninitializedValue" instead of the values the user input - other people have had similar problems with the JOptionPane and I've bookmarked some sites with possible solutions to this problem.  I still have to do some research for the remaining code, and the