Platinum Solutions Corporate Website


Java

Rumors and mysteries

A company called GemStone Systems, who's focus is enterprise and performance, has a teaser site that's got a few people talking...

Ruby that scales™

http://ruby.gemstone.com/

What are they up to over there? Not sure yet, guess we'll have to wait for RubyConf '08... but it could be interesting.

PDF generation w/ Apache FOP

My current project requires the generation of PDF reports in a web-based J2EE app, using free tools. Everyone knows about Jasper and iText, but our requirements are for a small number of somewhat simple reports, so I thought those would be overkill. Not to mention the fact that my preference is to use presentation technology that is familiar without any custom coding.

Easy toString() Creation

Overriding the toString() method is an all too common Java developer experience. It’s also somewhat tedious: Write out the class name… write out some properties and their values… format it so it doesn’t look hideous… repeat for lots of other classes.

Wouldn't it be better if there were an automatic way to generate decent looking toString() methods?

Apache to the rescue!

New Features in Groovy 1.5

Just over a month ago the Groovy team released the latest version of Groovy, a dynamic programming language built specifically for the JVM (Java Virtual Machine). This version offers a variety of functionality and performance improvements over previous Groovy releases.

Note: The latest version of Groovy is actually 1.5.1 - a bug fix release. All code examples in this post were run using version 1.5.1. Click here to download the source code examples and follow along.

Commons Collections and Generics

I've made extensive use of Apache Commons Collections over the years. It has a lot of really handy wrappers and utilities for doing list and set manipulation that Java doesn't do out of the box. So, in my current project I am using jdk1.6, generics, and all that good stuff. I was using the LazyList class and got the old List is a raw type. References to generic type List should be parameterized warning from Eclipse. So, I thought to myself: "Oh bother.. I bet it doesn't support generics yet." I did some poking around, and confirmed that.

Interesting performance numbers (Java and Scala)

So you have most likely heard of Scala, even if you have never seen a line of code written in it. Scala is a dynamic language written for the JVM... it's statically typed, it's not statically typed... it's OO and it's functional... I think it's confused. But turns out to be quite a performer.

The most surprising thing I've come across are the numbers shown here:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsievebits&lang=all

Yes, the Java 6 server impl may need tweaking to get better numbers, but the fact still remains... Scala (language running on top of JVM impl'd in Java) beat actual Java (THE language for the JVM)!!!

Am I the only one somewhat surprised here? I really need to block some time to take a closer look at Scala. (http://scala-lang.org)

Sunspot controlling servos


Pictures

JPDA is neat stuff

I've been spending some time working with the JPDA - Java Platform Debugger Architecture - and it's pretty darn cool. Using this framework, which is shipped with the basic Java SE JDK, basically allows you to write debuggers.

I hear you ask: Why on earth would you want to do this when there are so many good debuggers already? Eclipse does everything I need!

True. But what if you need one process to monitor the execution of another? And I don't mean to have interprocess communication, I mean for one process to MONITOR THE EXECUTION of the other. Sounds like a debugger to me. Why should Eclipse have all the fun?

Getting Stack Traces is SLOOWWWW

I've recently been doing a lot of work with getting stack traces for a project I'm working on, and I've had what I sometimes call a "BGO" - Blinding Glimpse of the Obvious: getting Stack Trace information in Java is dead slow.

The devil is in the details (Spring+JBoss+Hibernate+Informix)

While I am not going to complain as much as this guy: http://planet-geek.com/archives/001120.html (a little Java rant I find amusing). There are cases where J2EE's level of abstraction and flexibility has its frustrations (as opposed to .NET where stuff just generally works out of the box). I'm working with the technology stack described in the subject line - and when JBoss first starts up, everything works just fine.