+ 7 - 6 | § ¶Wednesday JavaOne sessions - mostly Desktop
I've spent most of the day in room 135, the Desktop room. There's been a lot of good stuff here, but there aren't any outlets to make sure my old Dell can stay online. Actually, there is one outlet, but the union folks keep telling us not to use it. Oh well.Building Native-Looking, Great-Feeling Applications with JavaTM Foundation Classes ("J.F.C./Swing") APIs presented some of the changes that the NetBeans team made from 3.5 (which is widely regarded as ugly) and 3.6 and 4.0 (which are a lot better). The best message from the meeting is that we shouldn't misuse components. They had a great image of a coffee-toaster; take a toaster, wrap it in saran wrap, then pour in the grounds and the water. Sure, you can do it because a toaster makes things hot like coffee needs, but it's still not a good idea. The biggest example of that in NetBeans is the overuse of SplitPanes. The showed a new windowing toolkit they are preparing for 4.0 and beyond that will be able to handle windows much better. The also had specific recommendations like setting borders to BorderFactory.createEmptyBorder() instead of a null Border because the L&F could interpret null as an invitation to do what it wishes. There were a lot of such useful tips, and I'll be referring to the presentation in the future.
How to Build a Cool JavaTM Foundation Classes ("J.F.C./Swing") Technology Application was the first Kartsen Lenztsch session I attended today. After talking about his BOF last night, I know I sound like a fanboy, but I'm simply impressed by his ideas with Swing, and by the improvements his FormLayout allowed us to make in our code. Karsten made the interesting statement that this session was less important than his Improving a JavaTM Foundation Classes ("J.F.C./Swing") Technology User Interface session I attended later, and really this would be better after the Improving session. Improving showed how to take your application from a really ugly GUI to a functional GUI, and "Cool" showed how to add some Swing animations, transparency, and other neat tricks. Of course, you should try these tricks unless you've taken care of the bigger problems first. "Cool" was better-attended, and that might be because it was "Advanced" and Improving was "Beginner." Also, Improving seemed to be a replay of Karsten's session on FormLayout in 2003. So, the information was very valuable, but it was too much of a review for me. You can get a lot of the information from the JGoodies site.
Project Looking Glass: A JavaTM Technology-Based 3D Desktop Environment was a very popular session, but much of it was already covered in demos in the pavilion. I'm still not convinced that Project Looking Glass will be anything more than a toy, but it does look very cool. They also discussed the architecture a bit, and asked for help with tools, downloads, and ideas.
Monitoring and Management of the JavaTM 2 Platform, Standard Edition (J2SETM) was the first session not part of my Desktop day. Other bloggers have covered this well, so I'm not going to try to recall everything. However, there are a lot of interesting tools that I'll have to use when we transition to Tiger.
Developing Outside the Container was the other non-Desktop session I saw today. The speaker was from BEA, and he had a lot of hints about Mock Objects, Inversion of Control, and Factories. These are great ideas, but they weren't anything new. We've done most of that, plus using the Locater pattern and a J2EE RI jar outside the container to be able to use EJBs without our appserver running. Of course, the BEA guy wouldn't have said anything about that, so I shouldn't have expected anything.
+ 7 - 0 | § ¶Tuesday BOFs - Swing Data-Binding and Testing Large Heterogeneous Projects
At 7:30, I attended Karsten
Lentzsch's JavaTM Foundation
Classes (JFC/Swing) Technology Data-Binding Techniques.
Kartsen knows Swing probably as well as anyone here, and he's spent a
lot of time thinking about Swing in all areas, from how to create
cross-platform
forms easily to better data-binding approaches. This
session was focused on the latter. He started with an overview
of the history leading to MVC, then he talked about the MVC variant
Swing uses. He then discussed his proposal for a replacement
for the MVC approach within Swing. In order to keep the Model
and View in line without synchronization issues, he recommends a
PropertyChangeAdapter that sits between the model and view,
translating the PropertyChangeEvents to bean calls on the model.
It seems an interesting approach, but I'll need to play around with
it a bit myself before I could recommend it further.
Interestingly, Karsten explicitly warned us not to run out and apply
his pattern. He emphasized that developers should study the
pattern before use, and each team needs to have one expert on the
pattern. Maybe I'll be that expert, and maybe Scott
will.
Next, I went to Sun's 10,000 Classes, Five Databases,
Three Operating Systems: Techniques for Multiplatform Enterprise
JavaTM Technology Testing BOF with
a couple teammates. The session what almost identical to what
one of my teammates
submitted (Scott Gelb is the one wearing the yofoshizzle
shirt). I guess Sun gets priority. Our system is a bit
smaller, but it's more complex. We have 1500 classes, three
databases, three operating systems, and three app servers. The
presenters didn't have the complexity of multiple app servers because
they worked on the Sun Application Server team. I'm not sure I
envy them for that or not.
Their approach is similar to ours
in many (seemingly obvious) ways: keep the coding workspace in source
control, make sure the workspace works on all platforms, have a
logical irectory structure for your workspace, etc. There were
a couple things we found curious, though. They packages their
test suites (15-20 tests apiece) in ears for nightly testing.
That means about 1500 ears generated nightly. We just don't
bother with packaging all that test overhead. Also, they have a
set of core tests that take 15-20 minutes to run, and they require
developers to run that set (the "Pulse Tests") before every
single commit. Well, we follow the philosophy of many small
commits, so this would kill 2 or three hours of productivity for all
our developers every day. We'd like that for blogging time, and
it would probably help keep bugs out, but I'm not convinced they're
on the right side of the balancing act.
It was frustrating
being at a session we essentially proposed and could have presented.
Oh well
+ 6 - 4 | § ¶Tuesday Sessions - JDNC and Groovy
Today I went to High-Performance XML Processing: Techniques & Tips With the JavaTM API for XML Processing (JAXP) 1.3,Desktop Application Architecture II: Using Threads Correctly and Effectively, JDesktop Network Components (JDNC): Simplifying JavaTM Desktop Client Construction, Deploying Rich Client to the Masses, and The Groovy Programming Language. The XML and Rich Client sessions were pretty boring, so I don't have much to say here (I don't do enough XML for the first really to ring home with me, and Rich Clients focused more on configuration details than I care about). (more)
+ 6 - 1 | § ¶Tuesday General Session at JavaOne
Scott McNealy did a pretty good job this morning. Strngely, he complained about CEO pay, as though he were making no money compared to those in the conference hall. Now, I know that developers make a lot of money compared to the national mean, but I really doubt that he got much sympathy from the crowd.One of the interesting parts of the presentation was an announcement from Infinium Labs. Thy revealed their new Phantom Gaming system, a new competitor to Sega, PS2, Xbox, etc (in fact, the CEO was part of the initial XBox team). The system is built wholy on Java. They will give away the hardware, making their money on a two-year service contract. Jonathan Schwartz mentioned the same kind of model for automobiles whle presenting with Siemens yesterday; he claimed that automakers would give away cars for free if they could charge users $220/month for entertainment, information, and other OnStar-like services. There seems to be a big move to the "free hardware" movement, which is a bit surprising at a conference thrown by a hardware company.
Scott ended his presentation with three rants he called "Where's the Outrage".
- Stock Options. He urged us to lobby our legislators to "save stock options". I know I'm not the expert on stock options, but my sense is that stock options should be expensed because they can turn out to be a huge expense, but I don't know how the accounting should work.
- Viruses. He called all the worms, etc. out there "Microsoft Viruses," and he claimed that no one has ever written a Java virus. I guess he's right, but it's reall apples and oranges.
- Open Sourcing Java. He ridiculed the open letter sent by Rod Smith of IBM urging Sun to open source Java. Scott claimed that Sun has opned more code than anyone, even before releasing Java 3D and Project Looking Glass, and that IBM should release their IP before calling on Sun to do more.
+ 5 - 2 | § ¶Social time at JavaOne
Sunday night, I got in around 7 and met up with my co-worker, Scott Delap. I got signed in, and headed over for a free beer at Moscone. There we met a couple guys from ExpressScripts in St. Louis, Mike and Andrew. We went to Jillian's, where the infamous Guinness float came out again. You might not think that ice cream in beer is a good idea, but it works really well in a think beer like Guinness. Stir the ice cream in, and you have a nice dessert.Last night, after the sessions, I went to the Thirsty Bear to meet up with the Java Blogs people. I had signed up with Java Blogs only yesterday, so I didn't really know anyone, but it was good to meet new people. One of those was Jonathan Schwartz, the President and COO of Sun. He started his blog last night, despite concerns he expressed about the possible legal ramifications. I met him briefly, crashing his circle of Sun employees, but he seemed to have a nervous enthusiasm about joining the blogging world.
Then, I met up with my friend Rich Unger, whose presentation I reviewed yesterday, and a couple of my co-workers. Since Rich lives in the bay area, he led us to Steps of Rome, a great little Italian restaurant in North Beach. The food was great, and the recommended Coppolla Sirah was high-quality. I highly recommend that restaurant for other attendees here.
Then I returned to the Thirsty Bear to see Scott Delap and the bloggers again. It was nice to talk to Sam Dalton and Simon Brown from JavaBlogs. I was surprised that Simon recognized my name, but it was due to the success I had at the Cattle Drive on JavaRanch, where Simon is a moderator, not because of anything I've said so far on this nascent blog.
More fun tonight, possibly including Fahrenheit 911.
+ 5 - 2 | § ¶Technical Sessions on Monday
At 2:15, I went to Fast Track to the JavaTM 2 Platform, Standard Edition (J2SETM) v1.5. I was really looking forward to the session for tips and tricks in getting my application to work in Tiger/1.5/5.0. That wasn't really what I got. Essentially, that session was an overview of changes in Tiger, a survey of the changes that are going to be discussed in detail in later sessions. That goal is fine, but there was nothing in the session that earned it an Advanced rating. The first part, the overview of language changes like Generics and Enhanced For Loops, wasn't really any diferent than what was covered in the morning general session. Fortunately, later discussion on Monitoring, Management, and other tools introduced concepts that were new to me. I now know what the BOFs and Technical Sessions will give me, but I didn't need to go to that one.At 3:30, I went to Desktop Application Architecture I: Using the NetBeansTM Platform Application Framework to Create a Rich Client Application. I wasn't really interested in the topic, but a friend of mine, Rich Unger, was presenting. Rich and I went to college together, and it was good to see him again here. The session was actually pretty interesting. They were trying to sell the idea of creating rich clients on the NetBeans platform. Not using NetBeans as the IDE, but using its components and modules. My project uses a rich client, so leveraging the work already done for NetBeans would probably have been a great idea, but I think we're too far into the process now to redo our windowing system.
Right now, for the 4:45 session, I'm in Concurrency Utilities in JDKTM Software Version 1.5: Multithreading Made Simpler. It's a very popular session, and Brian Goetz is doing a good job presenting the new APIs. Of course, he gave almost the exact presentation last year on Doug Lea's concurrency utils.
+ 6 - 1 | § ¶JavaOne first day keynotes
Jonathan Schwartz's keynote was a nice pretty presentation, but there wasn't much new. Like last year, he talked a lot about the amazing number of Java developers, the amazing number of Java installations, and the amazing number of ringtones. Studi Creator was previewed, and it didn't crash, which was an improvement over last year.Today's entry in Gosling's t-shirt toss contest was impressive. The VisiComp made a nitrogen cannon run from a web server. Very powerful. Very fun.
The presentation on Tiger wasrather dry, but informative, and not just because they brought a baby white tiger on stage. The details on tiger weren't new for someone who came here last year or has been using the beta, but it was a good overview. The most interesting thing is that Tiger has been renumbered to 5.0. So, the next version of Java will be J2SE 5.0. I suspect that'll lead to confusion.
The Borland talk started as fluff, and then was a sales job on JBuilder. I'm too happy with IntelliJ to care.
+ 1 - 6 | § ¶Phish Alpine Valley 6-25-2004
I took a day off work Friday to drive up to Alpine Valley, Wisconsin to see my last Phish concert. Since 1994, I've been lucky to see eleven shows, and this one show would be my last before the band breaks up. It was a great show. (more)+ 0 - 7 | § ¶Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture by Martin Fowler
+ 2 - 5 | § ¶Election Projections - a fun way to waste time
A lot of websites have joined the fun of predicting the 2004 presidential elections based on current state and national poll results, 2000 election results, and whatever else is determined relevant. Some use simple polls, and some use complex formulas. Some leave any close states as undecided, and some will predict a state on the basis of a 0.01% lead for one candidate.Despite the differences, they all pretty much say that the election is much too close to call on June 22. (more)
+ 6 - 1 | § ¶My favorite Linux distro
After working in a few different Linux distros the past few days, I have decided on a favorite: Xandros Open Circulation. As a converted Windows user, I found that Xandros was a very natural environment for me. Installed on a dual-boot system, Xandros easily identified my Windows partitions, and created entries in /etc/fstab for each seamlessly. For example, my C: drive was mounted as /disks/C, and it even shows up in the Xandros File Manager as a base drive (and the File Manager looks a lot like Windows Explorer - too much like the fancy XP Explorer for my tastes, in fact). Xandros also recognized my printer (a used Lexmark Z43) and CD-ROM drive flawlessly, a problem with some of the other distros. (more)+ 5 - 2 | § ¶Not travelling this week - I'll be geeking
My wife's job is, in some ways, much more interesting than mine is. This afternoon, I'm taking her to the airport so she can fly to Hamburg, Germany. She'll be there for a couple of days working on some testing, and then she heads to Nice, France, for a few days for a conference. She returns next weekend. Meanwhile, I'll play on my computer. (more)+ 3 - 4 | § ¶DNC and RNC Convention Schedules
I recently received in my email the agendas and schedules for both the Democratic and Republican National Conventions this summer. It's amazing what they will show about the nature of America and our two leading parties. (more)+ 7 - 0 | § ¶Tide turning to the Democrats?
From 2000 to 2003, it seemed that every major contested election went to the Republicans, from Bush to Schwarzenegger. My conservative friends saw this as evidence the country was moving to the right; I hoped it was simply that the Republicans were simply winning more ties than Democrats.Stephanie Herseth's victory in a special election for the South Dakota House seat may point to a turning tide.
(more)

