Another JavaOne has finished. Here are my impressions of the final day, touching on community, impatience, coffee makers, and German rhinos), as well as my thoughts about the conference as a whole.
It's the third day of Java One. No keynote today, but I write about the thrills of the Script Bowl, alternative languages for Java EE, OpenEJB, and the GreenFoot and BlueJ projects for computer science education which I hope Oracle will continue to fund.
Today I report on another keynote, plans for JDK 8, my thoughts on Java FX and why it's important and why a JSR should start now and not in a year or two, and about kittens.
Day 1 brings a painful/exciting keynote, an awesome performance by Scala God Paul Phillips, news about Lambda and Jigsaw, and the Tragedy of the Commons.
Once again, I got a blogging pass to JavaOne—my fifth year as the intrepid reporter at JavaOne. I'll be reporting what I find interesting and surprising, and I'll obnoxiously point out when something turned out the way I predicted in prior years as intrepid JavaOne reporter. Here are some initial impressions from the pre-conference day.
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.
<p>I am working on rewriting a set of labs for our intermediate students at
SJSU. Version control is something that everyone with a CS degree is pretty
much expected to know these days. But instead of revising my old Subversion
lab, I decided to plunge into Mercurial. Of course, for team work, we need a server. I installed Mercurial onto a
donated Sun server running OpenSolaris and GlassFish. Installation was a bit
off the beaten track, so here are the directions.</p>
The next edition of my CS1/Java book is going to print soon. At the last minute, we decided to put the real estate of the inside covers to good use and include a “cheat sheet” with the most important Java control structures and libraries. Since it would be particularly embarrassing to have a typo here, I am hoping to enlist the aid of the community.
PDFs for the inside covers are...
The latest version of Alice, now in beta, can be programmed in Java. In this blog, I describe the process that I use for producing Alice assignments for my CS1 class. Students program in Java using Netbeans, and instead of seeing boring console output, they bring the Alice characters to life.
When I first heard about composite components in JSF 2, I asked "How do I make a date picker that yields a java.util.Date? I was told that can't be done without a custom component and lots of icky code. Not so--it is actually pretty easy. Here are the details."
A few weeks ago, Ed Burns posted a link to a blog on the JSF expert group mailing list, commenting “A nice one, but it doesn't mention JSF 2”. Ever the curmudgeon, I pointed out that it wasn't so nice that the blog's sample code used the JSF API in beans when it wasn't necessary—as does in fact a lot of sample code, even in the official Sun tutorials. Ed's response: “Cay, a blog comment by such an eminent citizen as yourself would certainly be noticed.” So, here is the curmudgeonly eminence's advice on how to stay away from the JSF API.
As I happily wrote about new features of JSF 2.0, my coauthor David Geary kept asking me how to run the examples in Tomcat 6. I kept putting it off—hunting down those JAR files and web.xml fragments is like eating soup with a fork. I finally got around to doing the research and thought that others might benefit from the (unhappy) results, if only to realize that this may be the time for switching to GlassFish.
Java EE 6 has three different ways of defining “beans” that are “managed” in one way or another. In this blog, I go over them and ask if we really need @javax.faces.bean.ManagedBean or should just use @javax.inject.Named.
In the relentless fight against configuration boilerplate, JSF and Glassfish have taken yet another small step forward. As of Glassfish v3 build 68, you no longer need to declare the faces-servlet in WEB.XML.
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</...
I just learned how to make Flash screencasts on my Linux system and deliver them (with GlassFish) on a server that the computer science department received as a donation (thanks Sun!!!).
Why am I doing this? My publisher wants me to develop screencasts for my books, and I thought it could be useful for my students if I record my lectures. I use a smart board for the lectures, and a screencast...