Thursday Mar 09, 2006

Leaving Sun, taking Java and Solaris with me!

Hello all,

Friday, March 10th will be my last day here at Sun. An opportunity has presented itself and I felt I could not pass it up. I've spent almost 6 years at Sun, mostly working with Developer Tools and the Java platform. In this time, I feel that I've learned an immense amount, not only in a technical capacity, but also in business, cultural, and personal capacities. I can easily say that working at Sun has had a massively positive influence on just about every part of my life and I will remember my time here dearly.

Although Sun is a relatively large company, I've always felt that I could approach just about anyone, from my colleagues, managers, all the way up to VPs and above. I think this simple fact is the one thing that I will miss the most about working at Sun.

While I may not be a Sun employee after March 10th, I would like to emphasize that I will still be working with both the Java and Solaris platforms, in some ways even more so than I did during my time at Sun.

With all that out of the way, I'll still be posting over at Come by for a visit. :)

Tuesday Jan 17, 2006

When Apache met DTrace -- meet mod_dtrace

This is one of the coolest and most practical things I've seen in a while. DTrace hooks for the Apache webserver. 'Matty' (Ryan Matteson) over at wrote this up and posted it on the OpenSolaris forums a little while ago. Matty includes the full source code for mod_dtrace here.

Some examples from mod_dtrace,

View HTTP Requests By Method:

  $ -d 5
  Timestamp GETs POSTs HEADs TRACEs
  02:05:59  0    0     0     0
  02:06:04  12   0     0     0
  02:06:09  15   0     0     0
  02:06:14  59   0     0     0
  02:06:19  68   0     0     0
  02:06:24  70   0     0     0

  View HTTP Requests By HTTPD Process:

  $ viewreqsbyproc.d
  Execname  Process  Requests Processed
  httpd     19103       16
  httpd     19152       17
  httpd     19101       17
  httpd     19102       19
  httpd     19104       20
  httpd     19105       20

Reading some of the articles from Matty, it sounds like he's one of those super-uber-sysadmins with amazing multi-OS skills.

Looking for a Solaris hosting provider

I currently run my personal site via which charges me $70/month for a dedicated Linux server on which I have full root access. The service has been great and the connection speed is very good also, but I'm starting to look for greener pastures as I really would like to host my site on a Solaris machine instead. My reasoning is that I'm just more knowledgable with Solaris and would like to have the ability to run zones, dtrace scripts, etc.

I'm looking for a hosting provider who can offer me similar pricing as but uses Solaris (x86 is fine by me). I could even supply my own hardware if I had to, but the monthly bandwidth price has to be reasonable.

Sunday Oct 30, 2005

Banned from NetBeans?

It looks like I've been banned from the NetBeans mailing lists! :(

My personal email server, which has a lot of its infrastructure, went down for a couple of days because of hurricane Wilma. When I finally got my personal email address back I realized that many of the mailing lists that I participate on had gotten bounce backs and disabled my subscriptions. Unfortunately, it seems that the NetBeans lists I was on are now totally ignoring all emails from me. Can someone help me out with this?

Update: I'm getting emails from the nb lists again now...I guess someone fixed the problem.

Tuesday Oct 11, 2005

NetBeans 5 Beta screenshots with JGoodies PlasticLookAndFeel

It looks like my screenshot of NetBeans 5 Beta with JGoodies PlasticLookAndFeel was added to the NetBeans page. I'm so proud. :)

In all seriousness, I initially had some reservations about the UI for NetBeans on OS X. I'm not a big fan of the Aqua L&F, not in Java apps, and not even in the OS itself. The next problem was that NetBeans on OS X seemed to take up too much screen real estate. I work on a 12" Powerbook at 1024x768 so I need all the screen real estate I can get. I fixed all these problems by installing ShapeShifter on OS X with the Gershwix theme, and then using the JGoodies Looks library to provide NetBeans with the PlasticLookAndFeel. I also used the 'small icons' option for the toolbar (second mouse click on toolbar).

The virtual desktop manager you see in the upper right corner is WSmanager

Sunday Oct 09, 2005

I'm not sure I understand

Maybe I'm just in an off mood today, or maybe I'm missing some basic UI concept, but when I login to as a plain ol' user, I'm not sure I understand what exactly is going on.

The "My start page" doesn't really allow me to create a meaningful page for myself. As a site, is pretty useful to me with projects such as Glassfish and Mustang. The problem is that when I setup an account and login as a regular user, I don't seem to get anything for it, not even the ability to create a nice lil' start page with real information on it. I don't want to necessarily go through the process of joining a project, but I would like to be able to monitor certain projects and be notified when updates are made. Oh, and getting around within the Glassfish project page is somewhat confusing also.

I'm sure this isn't the most popular thing for a Sun employee to be writing about, but I figure I must be missing something. Soo...what am I missing? Am I just not clicking the right things here?

Monday Jun 27, 2005

$895 64bit Opteron workstation at JavaOne

The coolest thing I saw at JavaOne today (other than Peter Kessler explaining GC!) was the new Sun Ultra 20 workstation with the 64bit Opteron processor in it. Starting at $895! Sun employees get a further discount..muahhahah! I shall be ordering one this week!

Sunday Jun 26, 2005

On my way to the NetBeans Day event

I woke up a bit late but now I'm on my way to the NetBeans Day conference. I hope I can snag one of the NetBeans Field Guide giveaways!

Tuesday Jun 21, 2005

Reporting from JavaOne 2005

It's that time again folks! JavaOne '05 is next week and I'll be there for most of the week. I'll be taking pictures, posting them, and also reporting on whatever sessions I attend. I'll try to be as honest as possible, if a session sucks, I'll say so. If it's good, I'll sing its praises! :)

Monday Apr 25, 2005

JNDI connections not closing, remember to close those NamingEnumerations!

I just got off a conference call with a customer who had spent a lot of time debugging a JNDI problem where they would call Context.close() but yet they would still see that their connections were left open. The only way for them to get the connections released were by restarting the VM.

The problem was that the customer had a NamingEnumeration in use, and had never closed it. As per the JNDI docs,

If the Context instance is sharing a connection with other Context and unterminated NamingEnumeration instances, the connection will not be closed until close() has been invoked on all such Context and NamingEnumeration instances. []

Now remember, even if you don't do a close, the GC will eventually kick in and clean up the Context and NamingEnumeration, but until then your connections will be open. Plus, that's just wrong, be tidy and close your connections properly.

Thursday Jan 27, 2005

A long time ago in a JVM far, far away

Pretty funny flash 'movie', although I can't make out all the audio. Made by some guy over at MadBean, I'll call him "Bitter Coder".

Wednesday Dec 22, 2004

Do you want your name on Sun bug reports?

I have seen cases where customers find relatively advanced bugs in software. These customers contact the vendor, the vendor acknowledges the bug and provides a fix for it. Now, the question is, should the public BugID refer back to the original customer/company who found this bug? i.e., Should that company get a 'cred' for it?

The reason I ask is because I have seen scenarios where certain customers (usually banks) will find a bug and after its been fixed, they will ask that their information NOT be made public as it relates to that bug. Then we have the flipside where the customer calls in and asks "Hey, so do we get any recognition for finding this bug?".


Should it be:

1.) Let the customer decide
2.) Publish information on who originally found the bug
3.) Hide information on who originally found the bug

Wednesday Oct 27, 2004

How to set JNDI properties the right way

I've found that some developers try to set JNDI properties via environment variables and then wonder why their settings don't seem to hold. For example, a developer might create a Hashmap (env) and set their JNDI property value using Hashmap.put(),

public static final String LDAP_CONNECTION_POOL_MAX_SIZE = "com.sun.jndi.ldap.connect.pool.maxsize";

Now the LDAP_CONNECTION_POOL_MAX_SIZE value is definitely set to 5, but Java/JNDI won't honor it and will allow programs to create as many connections as they want.

The reason for this is that JNDI properties \*cannot\* be set via environment from within Java and must be set as System properties using one of the following methods:

1.) Add "-Dcom.sun.jndi.ldap.connect.pool.maxsize=5" to the java command line when running your application.


2.) Set the com.sun.jndi.ldap.connect.pool.maxsize as a system property from within your code, i.e.,
System.setProperty("com.sun.jndi.ldap.connect.pool.maxsize", "5");

The documentation which verifies this is at:

Section 15.3 Global Configuration

"Connection pooling is configured by a number of System properties at runtime startup time. Note that these are System properties, not environment properties and that they affect all connection pooling requests. "

Monday Aug 30, 2004

New iMac is out...and I'm ordering a Dual G5 2Ghz in the morning.

The new iMac is out. At first glance, I think it's a bit on the ugly side, but the specs are decent and the prices are decent too.

I don't have a desktop right now, so I think I'll be ordering the Dual 2Ghz G5 tower sometime this afternoon. The 20" iMac is somewhat tempting as it would be alot 'cleaner' on my desk...but the lure of Dual G5s is strong.

Much better viewpoint...

Monday Aug 02, 2004

Java (and me) at LinuxWorld

Due to a charitable colleague, it looks like I'll be going to LinuxWorld this week!

I plan to attend at least the following sessions:

Tuesday, August 3rd.
10:15 AM - 11:30 AM S15 How the Linux Kernel Gets Built

Wednesday, August 4th.
1:15 PM - 2:30 PM S24 Java 2 Standard Edition 1.5 on Linux: The Tiger (by Calvin Austin)

Thursday, August 5th.
1:00 PM - 2:15 PM S85 Kernel Instrumentation: A More Manageable Linux

I'll also be posting photos of the expo, if there is anything cool there to take photos of...



« February 2017