I just had a frustrating hour or so with Subversion. No, it's not that I have problems with its functionality (well, I actually do, but today isn't time to talk about that.) It's the lack of craftsmanship that bothers me.
Ever wonder how LCD Text actually works? Or how it uses the RGB striping on LCD monitors? Or what it has to do with Seurat and the pointillist movement of the late 1800's? Check out my new article "LCD Text: Anti-Aliasing on the Fringe" on java.net.
Joshua shows an interesting editor that he wrote
in a few hours to generate stacked image diagrams.
Beginning with a late report of JDIC at JavaOne 2005, this article takes an exploration of missing features in the scope of desktop/Java integration and solicits inputs to prioritize them to enable deeper desktop/Java Integration.
Plastic look and feel looks great but by using some options it can look even better.
Next time, instead of bundling multiple differently-sized versions of the same icon with your application, why not create them with Java2D on the fly?
A really great Internal JFrame hack I ran across.
This is my final JavaOne 2005 report. It's about the final desktop session
on the final day of the conference in which I finally became acquainted with
Bruno Souza and a Puppet named Juggy.
Joshua discusses his experience at the Java One regarding Swing Hacks, free hacks you can download, and the trials of printing books.
With a Standard MBean, you define the management interface of the MBean using a Java interface. Getters and setters in the interface define attributes, and other methods define operations. But the only information extracted out of the interface is the names and types of the attributes and operations, and just the types of the operation parameters. Although the JMX API allows for textual descriptions to be associated with attributes, operations, and parameters, when you use a Standard MBean these descriptions have meaningless default values. Parameters also have default names like p1, p2, etc. Here's how you can use subclassing and annotations to overcome these limitations.
Yesterday I mentioned some ways in which you can clean up after resources which are no longer referenced. Here is a way to combine WeakReferences and Dynamic Proxies to reduce the amount of application-specific code you need to write.
A frequent way of using MBeans is to connect an MBean to another Java object that represents the resource being managed. When that resource goes away, we want the MBean to go away too. One way to achieve that is to create a "weak" MBean that detects when the resource is no longer referenced. That's not necessarily the best way.
Occasionally you might have to deal with more than one version of the same class, and with different serial forms for each version. This is tricky, but possible. Here are some tips.
The short answer is: you can, but you probably shouldn't. Here's why.
Java Web Services and XML
One of the readers asked how did I get to the bottom of the socket/XML interaction issue that I explained in my last entry. Here's how.
Yesterday, one of the JAXB users sent me an e-mail, asking for how to solve the problem he faced. It's a common problem people face when they use XML with a socket, so I decided to explain what's going on.
IBM and OpenLaszlo are offering up a new choice in Rich Internet Applications.
Crazy Couple of Months - Prague, GlassFish, eBay and JavaOne - Oh my!
We're not going to sue you - and I'll give you the Jim Driscoll Guarentee (tm) to prove it.