|
|
||
Ron Hitchens's BlogMay 2008 ArchivesIn With The NewPosted by ronhitchens on May 09, 2008 at 02:46 AM | Permalink | Comments (0)Thursday was an interesting day, but tiring. The third day of a conference always seems to be the roughest in terms of comfort level. One or all of the following is guaranteed to be aching at any given time:
My morning started off with an informative presentation by Alan Bateman, the Spec Lead for JSR-203. JSR-203 is also known as NIO.2, the long-awaited update to the New I/O APIs first introduced in Java 1.4. I naturally have an interest in NIO since I wrote the book Java NIO for O'Reilly a few years ago. NIO hasn't gotten much JDK love in the intervening years but that's finally about to change. The code for NIO.2 has just recently been approved for inclusion in the OpenJDK and is now available on java.net. NIO.2 includes datagram multicast, an extensive new filesystem API (file metadata, tree traversal, change notification, etc) and an asynchronous I/O framework for doing overlapped I/O with (optional) completion handler callbacks. As well as a host of smaller additions and tweaks. Cliff Click's talk about developing lock-free data structures was fascinating. Intense, but fascinating. The secret to the highly scalable, massively concurrent algorithms he described is a rather simple Finite State Machine. By carefully defining how and when changes are made, hundreds or even thousands of threads can safely read and write a shared data structure without fear of reading stale information or clobbering another thread's update - and without using any locks. Read more about it on Cliff's blog. As if that wasn't enough yummy goodness for one day. I met up with several friends for dinner, including Bill Venners who's co-authoring a forthcoming book on Scala. And who does Bill bring along but Martin Odersky himself, the creator of Scala. When Martin learned that I'd written a book on NIO, he perked up and said that Scala (especially Scala Actors) fit together with NIO very nicely. I beleve that Scala could turn out to have a serious impact on the Java/JVM world over the next few years. I'd like to see it getting more attention at next years JavaOne. That's it for now. Time to trundle off to bed to rest my various aching body parts. Hehe, 3-D Stuff Is CoolPosted by ronhitchens on May 08, 2008 at 12:42 AM | Permalink | Comments (0)I don't get to do a lot of whizzy graphical stuff in my day-to-day work. I mostly do the typical back-end, multi-threaded server kind of thing. I spend most of my time thinking about API design, framework architecture, robustness, correctness and so on. I blogged yesterday about some excellent sessions that address those sorts of concerns. But I also like to look into other interesting stuff, even if I don't have a particular need for it. I attended a couple of intriguing sessions yesterday and today that show off Java's ability to do some really stunning 3D visualization. On Tuesday I went to the Project Wonderland talk. Project Wonderland is a virtual world, reminiscent of Second Life, that enables multiple people to interact in a virtual, real-time 3-D environment. It's built on top of Project DarkStar which is a Java-based multiplayer gaming engine. You can simulate a typical office setting, where you move about from one place to another, encountering and conversing with other people as you go. Or you can create entirely synthetic spaces to represent any "information space" that it would be helpful to "get into". Today I attended a very interesting talk about the NASA World Wind project. World Wind is a Google Earth-like earth browser written entirely in Java that makes use of the JOGL library to achieve blistering render speed. World Wind has been presented before at JavaOne, but it's now been packaged so that it's easy to embed in just about any Java application or applet. I was impressed by how easy it is to setup and customize. As I listened to each of these talks my imagination ran ahead, thinking of fun - or possibly even useful - things I could do with these tools. For me, that "What if..." response is always a good sign.
You Are Correct, SirPosted by ronhitchens on May 07, 2008 at 02:56 AM | Permalink | Comments (0)The big announcements today were centered around JavaFX and Blu-Ray, as expected. Neil Young was entertaining (I guess that's not surprising, he is an entertainer after all). There was the usual execu-speak about initiative-this and monetize-that. OK, fine. Whatever. I focused today on fundamentals - specifically code correctness. First up was a talk by Josh Bloch, More Effective Java, which highlighted several new topics from the forthcoming update to his seminal book Effective Java. I had the honor of leading an online discussion of Josh's book four years ago right here on java.net. The book is a must-read for any Java programmer who cares about getting the code right, first time and every time. I'm personally looking forward to the reading the updated edition, Real Soon Now. I also attended Bill Pugh's cleverly titled Defective Java later in the day. Bill is the creator of FindBugs, a scary-good software tool that statically analyses your compiled bytecode looking for known problems. The thesis of the talk is that every coding mistake is a learning opportunity. Rolling those learned lessons back into FindBugs lets others benefit from your effort. If you're not already a FindBugs user, go get it and run it on your code. You will be amazed (and perhaps a little depressed) at what it turns up. Late in the day it was Brian Goetz' talk about concurrency in general and the new fork/join framework that's coming in Java 7 in particular. Brian is the lead author of Java Concurrency In Practice, another must-read for any serious Java Programmer. The proliferation of multiple core machine means that, like it or not, we will all need to deal with concurrency - and get it right - sooner rather than later. The fork/join classes, particularly ParallelArray, will make it relatively easy to automatically apply parallelism to tasks that would otherwise be approached linearly. These three guys are all leading lights in the Java world. They are (a few of) the people that have made Java what it is today and are shaping what it will be tomorrow. Any time you have an opportunity to learn from them, don't let it pass you by.
As the saying goes: if a job is worth doing, it's worth doing right. Make Your NetworkPosted by ronhitchens on May 06, 2008 at 01:00 AM | Permalink | Comments (0)Holy smokes, is it JavaOne again already? Didn't we just do this a few months ago? I work at a fast-paced startup and have only just returned from a two-week vacation. So I feel as though this JavaOne is sort of taking me by surprise because I haven't prepared for it as much as I usually do. And yet I already feel as though I'm right back into the swing of things. The announcements and technical sessions at JavaOne have always had a lot of value, but for me the true value of JavaOne has always been about the people. It's the best venue I know of for making new friends and reconnecting with old ones. Example: This evening (Monday) I drove up to San Francisco to pick up my badge so I would have it for the morning. I met up with a group of folks who are blogging for JavaOne. The group included Daniel Steinberg (an old friend and the former editor of java.net), Chris Adamson (the current editor of java.net whom I've met a few times before) as well as a few people I'd never met before including Josh Marinacci (sleep deprived) and Robert Cooper (beer deprived). We hung out at a local eatery. Talked a little about Java, griped a little about Sun and marveled a little about iPhones. We talked a lot about books and the strange state of the publishing industry (turns out we're all book authors). Basically we sat around enjoying each others company, chatting about whatever came to mind. Friends, old and new, sharing common interests. JavaOne is the place to be for Java people. But there is more to it than just Java. Your interest in Java is what you have in common with the 10s of thousands of other people here. You're among friends -- even the ones you haven't met yet. | ||
|
|