Today was a bit more subdued during the day but if you could stand the lines it looks like the annual After Dark party was a big hit. Here's a synopsis of the sessions I went to on Day 4 of JavaOne week (or day 3 if you don't count NetBeans day):
Java in the trenches, the Eclipse Way. Erich Gamma and John Wiegand tag teamed the audience with their rendition of "How do do a project milestone every 6 weeks". Some interesting news about Sun and Eclipse cooperating on something came out as well. See my articles here and here for more details. (John, please tell your wife I spelled your name right this time.)
Scaling up a real application on Azul. Cliff Click of Azul systems walked us through his experience optimizing a real customer application by a factor or 45x. The Azul box is a 384-way monster Java machine with 128GB of shared memory. To get the speedup he cranked up the thread pool, used a larger heap, "cracked" two hot locks, turned down logging, and used java.util.concurrency in a few places. One lock was cracked by using AtomicLong instead of a synchronized counter, and another by chunking up work to do more per lock acquisition. A job that used to take over a week on a P4 started out running slower on Azul, but went down to a few minutes after 3-4 days of tuning.
Ajax smackdown! Representatives from Dojo, Flash, DWR, JSF, and Java SE faced off in this disappointingly friendly matchup of who had the superior framework for rich Web applications. The Google guys were invited but unfortunately they declined. Questions that came up included:
Q: Can we take JS seriously as a language?
A: (Christophe Coenraets:) Yes, as long as you don't think it's Java.
Q: Should you write your own components?
A: (Alex Russell:) Why re-invent the wheel?
and Q: Why is swing so difficult to use?
A: (Chet Haase:) We think the API doubles as an IQ test.
IP convergence makes content key. In their keynote, Motorola predicted that in the next couple of years pervasive always-on high speed IP, Linux, and Java would combine to put the mobile phone at the center of consumer's lifestyle, not to mention making the technology affordable to a billion new customers. They outlined their efforts to help unify platform technologies and develop clear go-to-market channels for developers to get their wares in customer hands. One interesting tidbit that came out of this was that a typical Motorola phone nowadays contains between 4 and 7 MILLION lines of code, mostly Java. Another one is that the latest OTA data standard (HSDPA) is offering sustained data rates of about 3.6Mbps. See opensource.motorola.com to learn more about what they're doing to make writing phone software easier.
Thanks, I already know how to cut-n-paste. I took a lab that was supposed to teach me how to program NetBeans plug-ins but in reality it only exercised those few brain cells involved with cutting and pasting unexplained code from a web page into NetBeans. Where is Tim Boudreau when you need him? And how come Escape doesn't make dialogs go away, what's the problem with keyboard navigation and focus, and why is that filter string in the library module dependency box so funky?
Slot Racing! The highlight of the day was unquestionably watching the slot car races. Imagine up to 100 people standing around or sitting on the grandstands watching driverless cars whir around the track, cheering the successful runs and groaning over the wild crashes. I just wish I had had time to program one myself. I find real time and robotic programming fascinating, but don't have the patience for the hardware side, so this kind of event where all the hardware is taken care of looks quite fun. I took some pictures and movies that I'll try and get uploaded for you soon. The winners will be announced Friday.
After Dark. I only dropped by for a few minutes, and while the food smelled great and the entertainment and games were promising, I just couldn't take those lines. Alternate food recommendation: Mel's diner; burger and fries and little table juke boxes, what could be better?
Take-away quote for the day: "What is this line for?" - me