Wednesday, May 31, 2006
Java 1.5 in JSP's on JBoss
If you want to use Java 1.5 features in JSP on JBoss (I can't imagine why you wouldn't!) you need to uncomment one little parameter. Open up /deploy/jbossweb-tomcat55.sar/conf/web.xml and uncomment the compilerSourceVM parameter.
From my personal experience, JBoss 4.0.x works very well with the 1.5 JRE. Also, it works well on Solaris 10 in a zone using smf!
From my personal experience, JBoss 4.0.x works very well with the 1.5 JRE. Also, it works well on Solaris 10 in a zone using smf!
Monday, May 22, 2006
Java DTrace API
A neat feature that was introduced Solaris Nevada build 35. That is a Java API that you can use for running DTrace scripts. As good as D is it isn't the best tool for displaying all that data for humans. With the DTrace API you can use the power Java to produce presentable results. The Chime project is the first example of what can be done. As API's go, the Java DTrace API is very straight forward and easy to use. Looking through the Chime code it didn't take long to figure out how things work.
If you have Solaris build 35 or newer the jar is in /usr/share/lib/java/dtrace.jar and the Javadoc is in /usr/share/lib/java/javadoc/dtrace/api/index.html. If you know Java and Dtrace then check it out, you might find it useful like I did.
If you have Solaris build 35 or newer the jar is in /usr/share/lib/java/dtrace.jar and the Javadoc is in /usr/share/lib/java/javadoc/dtrace/api/index.html. If you know Java and Dtrace then check it out, you might find it useful like I did.
Thursday, May 18, 2006
Chime: visualization for DTrace
I am on a quest to learn DTrace and apply it to my every day work. So I am learning D, which is easy, but learning about all the 42,780 (as of build 39) probes is a different story. One tool Chime, which is part of OpenSolaris, that I have come across really puts the results from DTrace to a nice graphic interface and makes it a little easier. It has all kinds of other cool features like the ability to record data from a run. It even has an interface to search though all of those probes. So if you are new to DTrace like me or just want to visualize your DTrace output, check out Chime.
Monday, May 15, 2006
I [insert heart icon here] Blastwave
Not only is my Sun Blade 100 in the basement my test bed for OpenSolaris stuff but I also use it form playing music during my morning workouts. I rebuilt the machine over the weekend an at 6 am this morning I realized I forgot to reinstall mpg123. Luckily I still had a root console open still from last night's "gmake install" of the latest emacs build. So all I had to do was type "pkg-get -i mpg123" and in no time I had my mp3 player installed! It took me longer to open my workout log in Star Office than it did to download and install mpg123.
Some people don't like some things about Blastwave but for me all of those complaints don't even come close to out weighing those kind of benefits.
Some people don't like some things about Blastwave but for me all of those complaints don't even come close to out weighing those kind of benefits.
Sunday, May 14, 2006
SXCR 39 and ZFS
The latest SCXR release gave me an excuse to re-partition my Sun Blade 100 so I can finally try out ZFS. I couldn't believe how easy it was to create my home directory with as a ZFS filesystem. It took me longer to find the ZFS admin guide (which wasn't that long really) than it did to actually set it up. I hoping that ZFS would give a performance boost since disk I/O is so painfully slow on the Sun Blade 100. But at first glance it seems like that the system might actually be a little slower now. But I have a lot to learn before I can make any real judgements. But one thing I do know, ZFS is very easy to deal with.
Thursday, May 11, 2006
Cool Threads for a Workstation?
It is just too bad that the economics for Sparc workstations don't really make sense for most of us. I would really like to have an efficient workstation with a UltraSPARC T1 in it. For example, my Sun Blade 1000, even though it is several years old, still makes a excellent development platform for my Java work. The problem is that it is noisy and I swear it helps heat my little office up just a bit. It doesn't even break the 1 ghz clock speed but still provides decent performance. That is one nice feature of Sparc processors, they become obsolete at a slower rate. I really doubt a new Opteron power house would be a massive performance gain for me.
I would really like to have nice, quite and compact Sparc workstation. If I was king of Sun I would put a UltraSPARC T1 in an old Sparcstation form factor (aka “The Lunch Box”). Now that would be sweet.
I would really like to have nice, quite and compact Sparc workstation. If I was king of Sun I would put a UltraSPARC T1 in an old Sparcstation form factor (aka “The Lunch Box”). Now that would be sweet.
Tuesday, May 09, 2006
Sometimes You Just Have to Let Go
Last week was one of my most frustrating weeks of programming. At the last minute a serious bug was discovered in one of my pieces of code that built mailing labels. I tested the code in question extensively with Star Office on my Sun workstation but did only a few tests on Windows and Word. However, about half the time Word would crash because the output of was corrupted but it worked every time on Star Office. So I set out to fix the issue thinking it would be an easy fix and I was just an eureka moment from fixing it. I figure I had over a week before we went live to fix the problem so no big deal. However I spent all last week beating my head against the problem with no avail. So yesterday, one day before I went live I started over again, back to the drawing board so to speak. I was able to fix the problem with ease by using a completely different strategy.
I had two problems that caused this. First, was that I was holding on to the old way, since it always worked in the past. I held on to a false solution just way to long thinking I didn’t have time to try it a new way. The other problem with the first solution was that I was programming by coincidence, I didn’t fully understand what I was dealing with and it just happened to work before but only by luck. Lesson learned. But since I have read this and this, I should have known better.
I had two problems that caused this. First, was that I was holding on to the old way, since it always worked in the past. I held on to a false solution just way to long thinking I didn’t have time to try it a new way. The other problem with the first solution was that I was programming by coincidence, I didn’t fully understand what I was dealing with and it just happened to work before but only by luck. Lesson learned. But since I have read this and this, I should have known better.