Skip to main content

Sessions for JavaOne

The last few months at work have been packed. We've been working to get a preview release of the next version of JDeveloper out to customers in time for JavaOne. Since we're planning to cut the final build within the next few days, some of the pressure will be off next week, and I can hopefully enjoy a few interesting technical sessions and BOFs at the conference.

I was fortunate enough to have the opportunity to speak at the conference for three years in a row, but it's a bit of a relief not to be speaking at JavaOne this year. Speaking at the conference is great fun, and I hope to do it again in the future. But this year, it will be nice just to be an attendee for a change and not be stressing out about speaking the whole time...

Here's the list I've signed up for so far - certainly won't make all of them, but I'll do my very best ;)


TS-1742 - Cool Things You Can Do with the Groovy Dynamic Language
TS-3942 - JSR 269: The Swing Application Framework
TS-2294 - Closures for the Java Programming Language
TS-2800 - OpenJDK Project Report
BOF-2400 - Modularity in the Next-Generation Java Platform, Standard Edition (Java SE): JSR 227 and JSR 294
BOF-3349 - Advanced Swing Drag-and-Drop


TS-9555 - Quick and Easy Profiling with Integrated Tools
TS-2689 - Effective Java Reloaded: This Time It's for Real
TS-6475 - Fast, Beautiful, Easy: Pick Three -- Building Web User Interfaces in the Java Programming Language with Google Web Toolkit
TS-3548 - Extreme GUI Makeover 2007
TS-2388 - Effective Concurrency for the Java Platform
BOF-9587 - Pimp My Java Application: Applying Static Analysis Tools to Boost Java Code Quality
BOF-3603 - Build Real-World Applications by Usnig Swing and JIDE


TS-2401 - Java Language Modularity with Superpackages
TS-1419 - Best OSGi Practices
TS-3316 - Why Spaghetti Is Not Tasty: Architecting Full-Scale Swing Apps
TS-2318 - JSR 277: Java Module System
TS-6889 - Java Technology-Powered Microsoft Ajax
BOF-3487 - @Plugin World: Creating Your Own Lightweight OSGi-Based Framework for Building and Managing Pluggable Swing Applicatinos
BOF-3478 - Easy Test-Driven GUI Development


TS-3414 - Bringing Life to Swing Desktop Applications
TS-3631 - Writing Testable Desktop UIs
TS-3165 - Filthy-Rich Clients: Talk Dirty to Me
TS-3833 - Debugging and Optimizing Swing Applications


  1. Make sure you write reports on the OSGi sessions! Thanks.


Post a Comment

Popular posts from this blog

Java Blooper #2: Must be a Better Way...

It's Monday, which means it's time for another blooper... What's wrong with this code? boolean hasThing( List things, Thing thing ) { for ( int i=0; i < things.size(); i++ ) { if ( thing.equals( things.get( i ) ) ) { return true; } } return false; } Update: Minor edit to add missing parenthesis from if statement that got "lost in translation" en-route to the blog :)

Configuring Mac OS X Terminal

I recently installed Leopard (Mac OSX 10.5) on a new mac. There are a few factory settings I usually change on a new installation, although by far fewer than I do typically with Windows. One of them is the default keyboard configuration for Ctrl+Left Arrow, Ctrl+Right Arrow, Page Up, Page Down, Home, and End in Terminal. The default settings drive me a bit potty since I'm used to using Linux and emacs every day at work.Changing them is easy, fortunately. Just visit Keyboard under Settings in Terminal->Preferences, and modify the following keys, so that their action matches the value shown. You can edit the keystroke for an item by double clicking on it, selecting "send string to shell", and typing the indicated keys.KeyActionKeystrokescontrol cursor left\033bESC bcontrol cursor right\033fESC fend\005CTRL+ehome\001CTRL+apage down\026CTRL+vpage up\033vESC v

Java Blooper #2 Solution: Must be a Better Way

Sorry for the delay in this week's blooper solution. On Monday we saw this code: boolean hasThing( List things, Thing thing ) { for ( int i=0; i < things.size(); i++ ) { if ( thing.equals( things.get( i ) ) ) { return true; } } return false; } Can we simplify this? Sure. It pays to know the class libraries well, and the collections framework in Java in particular: boolean hasThing( Collection things, Thing thing ) { return things.contains( thing ); } As well as being more compact, this idiom is safer if the collection is a synchronized wrapper (as pointed out by reader alex in the comments). We were also able to specify the things parameter as a Collection rather than a List, following item 34 in EJ ("Refer to objects by their interfaces"), since we no longer need the ability to iterate items in the collection by index, which may well have been inefficient depending on whatever implementation of list was passed to us.Blog readers jeff and Mike Ka…