Recently, I faced a couple of unpleasant XML translation tasks and found the Scala XML library to be a pleasant and powerful alternative to (groan) XSLT or (ugh) the JavaSE XML library. If you ever need to write a program that tweaks a bunch of XML files, give Scala a try!
Today, a tantalizing announcement by Mark Reinhold about closures in Java 7 has made its way through the twittersphere. On the same day, Neal Gafter updated his closures proposal. Here are some use cases and my unbiased opinion on this proposal. No lambdas have been harmed in the writing of this blog article.
When you need to produce lots of fairly straightforward graphs, Java2D is your friend. In this blog, I show you how you can render simple images as crisp-looking PDF or EPS files, provided you can draw them on a Graphics2D object.
Recently, I had to draw a bunch of simple images, such as this one
or this PDF
Of course, you can do these drawings in Illustrator or Inkscape. But if you are a coder...
On May 23, I gave a presentation at Sun about computer science students, and how a company can engage with them. Here are some of the questions that I was asked, and the answers that I gave (or wish I had given), and a question that I wish I had been asked.
Day 4 of Java One is over. Even without huge announcements or great
surprises, it was a great conference. Here are my impressions from the cool
stuff keynote and my takeaway what it all means.
My day 3 at Java One ranged from the Nimbus UI and the future of JSF to interesting discussions about closures and Scala. Details below.
Last year, Java One Day 0 was Netbeans Day, in a cozy hotel. This year, the Java One week started much more grandly, with Community One, at the Moscone Center. My mind wandered during the keynote speech, but I was enchanted by the enigmatically named EclipseLink and robots that had cockroach reflexes and were programmed in GreenFoot.
A recent column on Java generics drew a collection of decidedly blue-collar comments, which made me think how hard it is to design a blue-collar language.
There has been much discussion on whether Java programmers are becoming dinosaurs, on an evolutionary dead end and overtaken by more nimble mammals. Bruce Tate has long abandoned Java for greener (or redder) pastures. Bruce Eckel has embraced Flex , Bill Venners favors Scala. Python is making inroads in college curricula. What is a Java programmer to do? In this blog, I argue that we need to focus on less on syntax and more on the pain points of Java programming.
I got myself (and another deserving child somewhere out there) a "One Laptop Per Child" for christmas. Here is my experience with Java on the device, followed by some year-end musings what this all means.
I had to render a set of presentation slides in HTML Slidy format into images. This blog entry shows how to carry out this task with the excellent Flying Saucer XHTML renderer and concludes with some ramblings about infrastructure.
The discussion about properties had reached a fever pitch in the last
weeks, and there is a great deal of dissent about the nature of
properties. Are they meant for tools, are they the tool of the devil to
seduce us away from the goodness of OO, or are they just an irrelevant
preoccupation of programmers who have no tolerance for boilerplate? In
this blog, I would like to argue that properties are legitimate design
features, and that it is the job of a programming language to allow
faithful mapping of design intent to code.
Jacob Hookom has been vocal about doing properties right rather than simply generating getFoo/setFoo methods. Of course, you still want the JavaBeans introspector to work correctly. I thought it would be interesting to run with this idea and see where it gets.
There has been a flurry of recent blogs on native property syntax, much of it rather emotional. This blog tries to get past the emotions, hoping to garner interest in the real issues that need to be solved for native properties.
I used Java Web Start as a "poor man's installer" for a
Java client app that allows students to check their homework assignments.
The app needs "all permissions", so I simply signed it with a worthless
self-signed certificate. The Web Start security dialog is complete
gibberish to 99% of end users, which works in my favor. Something is wrong
here. Should the JNLP API be less convoluted, so that it is easier to live
in the sandbox. Should it be less of a hassle for an individual to get a
These are my notes for building Mustang on Ubuntu 6.06. Amazingly enough, this works with just a small number of easily fixed issues. This is good news if you want to tinker with the JDK on Ubuntu. Even if you don't, it is comforting to know that the Mustang build process is robust enough to allow the tinkerers to use it on their favorite platform, so that you can benefit from their labors.
Nobody likes to write properties boilerplate--the getter, the setter, the Javadoc for the getter, the Javadoc for the setter, you know the drill. Ok, you say, Eclipse writes it for you. But you still have to read it. Pages and pages of it in many real life classes. My graduate student Alexandre Alves implemented a Mustang compiler extension to remove the drudgery. We want to get this feature into Dolphin and need your help. Try it out and let us know what you like and what needs work!