(via my java.net blog)
JavaOne is still going on for a few more hours, so a show wrap-up may be premature. But I have to leave early, so it’s time to summarize my experience, at least.
This was my sixth JavaOne. I wasn’t quite sure what to expect this year; I was afraid the conference would be a lot smaller, and that the energy might be low. I’m glad to say it was great. I heard from two sources that the conference was slightly larger than last year, at just over 15,000 attendees.
- There was less swag on the show floor, but the floor was still crowded and interesting. A friend who was an exhibitor said it was fantastic—conference attendees were interested in learning about their product, and excited about finding tools and systems that could help them.
- It’s nice to hear about a focus on the desktop, and fun to read Amy Fowler’s and Hans Muller’s blogs on the topic. My talk on Wednesday was related to Java on the desktop, and I had great turnout and a lot of interest. But the messages are mixed—booths on the show floor were labeled with icons indicating whether they had a focus on mobility, or the enterprise, etc. … but there was no icon representing the desktop.
- Josh Bloch continues to be one of my role models as a speaker. I was only able to catch one of his talks this year, but it was fantastic.
- Sun, O’Reilly, and Collabnet have done a great job with the java.net site, and it’s exciting to see all the activity. Sun still has a long way to go in opening up Java and the process, but this is a great start.
- Duncan is right that the real action happens outside the lecture halls. Conversations in the halls, at the show booths, meals, and evening parties are the heart and soul of JavaOne.
- This conference needs wireless!
- It may just be the crowd I run with, but so far as I can tell Sun continues to misjudge the kind of content that their attendees want to hear. I heard more than one person say that they wish the talks—including the keynotes—were more technical, more geared toward developers. The talks that were packed to overflowing were on very technical topics. Unfortunately, Sun doesn’t collect feedback on speakers at JavaOne, and I’ve heard from more than one source that they don’t feed attendance data back into the following year’s selection process. That, combined with the fact that they don’t pay speakers, keeps the technical quality lower (overall) than it could be.
- Speaking of the JavaOne speaking experience: this year all of the speakers got shirts that we were supposed to wear during our talks. Unfortunately they were hideous, and the only speakers I saw wearing them were Sun employees. I’m not here as a marketing shill, but I did want to take the opportunity to get exposure for my company (after all, that’s just about the only compensation involved) so I just wore my company logo shirt. What were they thinking?
There’s a mix of good and bad there, but I’ve had a great time. Now I have to go hop on my flight to Milwaukee to speak at the Milwaukee Java Software Symposium!
(via my java.net blog)
The first conference I attended after getting my TiBook last year was O’Reilly’s Open Source Convention, and I was amazed to see more Macs than any other kind of laptop there. JavaOne is a slightly different group of folks, of course, and I don’t think Macs dominate here. But they’re in the running. You see them everywhere you look, being used by attendees and presenters. James Gosling is just one example.
How times have changed. Tim O’Reilly is right that the Mac is now the alpha geek’s machine, and with this kind of developer adoption, the great apps for OS X are going to flow ever faster. Part of the reason for Mac uptake among developers is OS X’s BSD underpinnings, and part is just the stability and great networking support. But another important factor is Apple’s commitment to the Java platform. Right here, a couple of years ago, Steve Jobs committed to making OS X the best Java development platform on the planet. Apple is well on the way to fulfilling that commitment.
Why, then, when Jonathan Schwartz emphasized Sun’s commitment to Java on the desktop in Tuesday’s opening keynote, did he mention Linux … but not the Mac?
(via my java.net blog)
I’ve been anticipating this reaction. It was inevitable. But we’re not blogging JavaOne because we’re being told to. I, at least, am doing so because I’m here, it’s fun, and—most importantly—I think java.net is important, and I’d like to help it get off to a good start.
Communities are built by the inhabitants. You can’t just decide to go build a thriving, vital community. But that doesn’t mean you can’t seed one, and cultivate it. To do that, you persuade people to move in, provide basic services, and let them build their own community.
It might be useful to remember Levittown, the first planned suburban housing development. It was sterile and artificial, and there was a lot to criticize about it. But it met a need, and families flocked to it. And they didn’t leave things the way they found them. They took ownership and built a unique community with character and life.
Sun, with the help of some partners, has built the streets and the infrastructure, put up some houses, and persuaded a few of us to move in. There are more houses open. It may feel a little sterile at first, until we can move some walls, slap up some chartreuse paint, and put the flamingos in the lawns. But people are already starting to do that. It’ll be fun to see what java.net feels like by this time next year.
(via my java.net blog)
The “opening act” for this morning’s general session was Don McMillan, a self-described “Engineer/Comedian” who started things off with an insightful, funny, and wonderfully geeky act. (I especially liked his necktie with the periodic table of the elements … I need to get one for my friend Greg Vaughn, who sometimes wears a periodic table t-shirt—complete with radioactive elements that glow in the dark.)
Then came the “serious” segments, complete with demos. That’s when the fun really started. Unintentional comedy is nearly always better than the planned kind.
Three demos—two by Sun, one by SAP—went awry in one way or another. And of course, speakers at events like this never obey the first law of demos (Never say anything more optimistic than “Watch this!”). The unfortunate SAP developer got flustered and never actually pulled his demo off, but the guy with Sun’s “Project Rave” did a fantastic job under pressure, quickly recoding the entire demo application as everyone watched. And it was lots of fun to see Rich Green and another presenter both unable to figure out how to work one of the projectors, only to have the programmer onstage lean across them, touch a button, and bring everything into instant focus.
I know that’s not how things were planned, but it was very entertaining, and it gave us all a chance to root for the underappreciated heroes of such events: the lowly programmers, brought onstage to run the demos while the speaking roles go to someone else.
(via my java.net blog)
This is a long blog entry … you have been warned.
Big conferences like JavaOne are always accompanied by the introduction of new books. This time’s no exception.
I stopped by the JDOCentral booth to visit my friend Patrick Linskey of SolarMetric, and he surprised me with a free copy of Bitter EJB, the new book he wrote with Bruce Tate, Mike Clark, and Bob Lee. I’m very pleased to have it, because early glimpses of some chapters have been posted on The Server Side, and it looks even better than Bruce’s original Bitter Java.
With apologies to Patrick, the first chapter I turned to was Mike Clark’s “Bitter Tunes,” about performance tuning for EJBs. Mike and I have an interesting history. Last year I gave a talk at JavaOne called “Stalking Your Shadow: Adventures in Garbage Collection Optimization,” and about two months later I gave the same talk at a No Fluff, Just Stuff symposium in Dallas. The talk may sound extremely technical and arcane, but it’s actually a “stealth agile” talk, in which I use the complexity of GC interaction and optimization to advocate a tightly iterative approach to optimization—avoiding both premature and “way too late” optimization by developing iteratively and building performance testing into your development process.
In the talk, I recommend using a package called JUnitPerf to automate performance testing and integrate it into your build and test process. In Dallas, I got to that slide and heard “Thanks! I’ll pay you later” from the back of the room. That’s how I met Mike Clark, the author of JUnitPerf. And I’m glad I did, because he’s one of my favorite folks in the industry.
Mike and I independently began delivering the same message: although the hazards of premature optimization are well known, it’s also possible—easy, in fact—to wait too long, and only learn about performance issues at a stage when they’re so deeply embedded in your architecture that it’s all but impossible to eliminate them. JUnitPerf is designed to help with that, making automated performance testing an easy and repeatable task, so that you can find performance problems as soon as they appear and deal with them before it’s too late.
The first antipattern in Mike’s “Bitter Tunes” chapter is “Premature Optimization” (and rightly so, because many developers still need to hear that message). But the solution to premature optimization isn’t to just wait ‘til the end of the project; it’s to wait until you see real performance problems, and then attack them as soon as possible. So the second of Mike’s antipatterns is “Performance Afterthoughts,” and the solution is “Plan Early and Often” (a title I really like). Mike’s advice applies not just to EJB projects, but to all software projects.
I’ve focused here on one chapter of Bitter EJB, but from what I’ve seen, the rest of the book is just as great, and our industry has needed a book like this for quite a while now. You owe it to yourself to buy a copy.