I finally got to go to the
JavaOne convention this year. I took a lot of notes on a variety of topics. Here they are, unadulterated, and hopefully entertaining for geeks and non-geeks alike.
5:30 a.m. Wake up on the couch. Slept downstairs because Hosanna has the flu and I didn't want her to have to suffer my early wake up. Also decreases the chances of waking Aria up. I'm going on just a little over five hours of sleep. Nice.
6:05 a.m. After a quick breakfast and a glance at the paper, I'm out the door, just five minutes after my planned time of 6 a.m. For me, being only five minutes behind schedule is a grand achievement. Usually I'm doing well if I make it out the door 30 minutes late.
I listen to the KNBR morning show most of the way. A healthy discussion about Barry Bonds is going on. He's only ten home runs away from Hank Aaron's record. Yawn.
Ah... I forgot my camera. I should have known. Getting out of the house on time nearly always means I've forgotten something. If I'm supposed to meet you somewhere, and I'm late, you can rest assured that I will show up with all the stuff I'm supposed to have with me. But if I'm on time, I probably forgot that CD I was supposed to bring for you, or the diaper bag, or my wallet, or my head.
8:15 a.m. I'm ridiculously on time. Can't believe it. I get registered over an hour before my first scheduled session. I proudly walk the halls, feeling snarky in my "Thinking so you don't have to" t-shirt. So happy to be out of my work clothes for a change. I buy a coffee and a bagel for nearly $7. Hey, I've earned it for getting up so frigging early.
I wander down the escalator to where a few dozen colorful beanbags are splayed out in front of a huge video screen. A sound system pumps inspirational tunes - not quite smooth jazz, not quite alt-rock: smooth alternative? A big sign says "This area is being videotaped for fun and may be displayed publicly!" Right, because nothing projects technical confidence like a bunch of people slouching in bean bags while checking their email.
8:30 a.m. I follow a big group of people into the main theater area, where a high chief mucky-muck from Oracle is about to give a presentation. I take a seat far enough back so I can barely see him on the podium. Not to worry, his image is projected on two giant movie screens at the front of the room. When they introduce him, a flurry of stage lights flash, and the music pumps! It's a rock show! Except it isn't. It's a technology demo. The rock star angle just feels weird.
He starts into some dealio about creating a Netflix-ish application using all the latest bells & whistles. Oh, how clever! They've put The Matrix in their shopping cart. Why? Wait for it... Wait for it... because The ORACLE is in it. Oh, you marketing whizzes! Nice catch!
8:45 a.m. My coffee cup has a leaky lid. I have dribbled coffee all over my snarky (and white, I might add) t-shirt. Sigh. This is what happens to me any time I dare to think I'm hip. Maybe I can hide it with my big JavaOne badge? Nope. Argh.
9:00 a.m. I Sneak out of Oracle guy's presentation to go to the car and grab a sweater to hide my coffee stains. I avoid eye contact on the way out.
While at the car, I stuff a couple water bottles into my laptop bag. It is starting to feel more like a diaper bag now.
9:30 a.m. A huge line has formed to get in to the "Java Generics and Collections" lecture with Philip Wadler. The line reminds me of the line at the Apple store in the mall when a new version of OS X came out. The same people look like they're in it.
Wadler starts his show with this joke: "Before we start, a show of hands: Is there anyone here who doesn't want to be more productive?" Soft chuckles. He starts talking VERY FAST about Java generics. Jesus, how much coffee has this guy had? It's like he just drank a case of
Bawls. I have a hard time keeping up. (This will be a theme from now on. All the presenters speak VERY quickly. But not to worry if you miss any of it - they have a sign language interpreter.)
9:45 a.m. Fifteen minutes into my first real lecture at JavaOne, and my cell phone buzzes. Someone from work is calling. I don't believe this. Nobody needs to call me. Why are they calling me? I lose about ten minutes of content in the lecture while I fret about this.
10:30 a.m. Mr. Wadler leaves us with the p.s. that the booksellers "talked him into" a book signing after the lecture. He doesn't look very bashful as he says this.
In any case, I leave the lecture very satisfied. 75% of it was over my head but it was the exposure I wanted. I decide that I like generics. I also decide I should get the book, but I don't think I'll bother getting it signed.
I immediately get in line for the bathroom. The bathroom is as packed as the ones at an A's game. In fact, the only apparent difference between this crowd and the baseball crowd is the clothing's a bit nicer and there is no beer.
10:40 a.m. Check voice mail. It was a client wondering what the xxx is up with yyy. I call up someone else on my team and punt it to them. I know, I know, in my year-end review we went over how I punt issues too much. But come on, I'm at JavaOne here. You'd probably punt too.
10:55 a.m.There is an even bigger line to "Effective Java Reloaded" with Josh Bloch. Now it starts feeling like waiting to buy tickets for a show that will sell out.
Josh Bloch wastes no time and pulls no punches, but is entertaining too. He gets big laughs with his newest invention, the "Typesafe Heterogenous Container, or THC for short." (Note: he gets way more laughs for this joke than Wadler's productivity joke got - apparently Java programmers are way more interested in pot than productivity.)
Josh Bloch is awesome. I am impressed. I have so far to go in this field, so much to learn.
11:55 a.m. JavaOne may be the only place in the world where the line to the men's restroom VASTLY exceeds the line to the women's.
12:10 p.m. Lunch time. I don't feel like standing in the huge line for food yet, so I head back to the bean bag loiter zone. A fight nearly erupts over a free beanbag.
12:30 p.m. I head in to lunch. It's very orderly considering how many hundreds (thousands?) of people are here. They even have two lines for vegetarians.
The vegetarian food consists of:
- Salad, both dressed and undressed. (Predictable, but very good. thumbs up.)
- Vegetarian lasagna. Slightly spicy. It actually tastes like something besides just gobs of cheese. Nice! Thumbs up.
- The old standby, "big pile of misc steamed vegetables." UGH. Note to caterers: NOBODY WANTS THIS. Vegetarian does not equal "I live on nothing but soggy, tasteless vegetables."
1:00 p.m. I realize I haven't signed up for anything from 1:30 - 2:30. I check the schedule online. All the sessions are full. Crap! I spy a session that sounds partially interesting - it's about Ruby on Rails, Ajax, and SAP. It has nothing whatsoever to do with my work, but it might be interesting anyway. There are two lines: one for enrolled, one for unenrolled. I take a seat on the floor, second in the unenrolled line. The lady at the door looks at us, kinda rolls her eyes, and says "just come on in."
1:30 p.m. Presenter Dan McWeeney (yes, real name) starts by taking a picture of his audience. "Well, you're going to take pictures of me!" He explains.
Despite the unfortunate name, McWeenie's show turns out to be the most interesting presentation of the day so far. He has humor (self-deprecating, natch) and the technology is really cool. My expectations were quite low, which probably helped.
2:15 p.m. I leave McWeenie and enter the vendor pavilion. Have 15 minutes to kill before next presentation.
They have a place where you can try to program a slot car to race on a track. Guy in front of me is giving it a shot. He's just compiled his code. The lady presses the "go" button. His car sputters a bit, then goes full bore and speeds off the track. Whoops.
Next to the race track is a robot arm that is busy drafting... something. I don't know what it is drawing. But it's doing it fast. Looks impressive. I guess?
There is also a "wheel of fortune" kind of game where you play for schwag. What's a convention without schwag? I get in line, only a couple minutes later I discover that to play the schwag game you have to answer questions gleaned by going around to different booths. I have missed the point. So the question: Will I sell my soul for schwag? Better investigate the schwag display shelves. Hmmm... coffee mugs. A good mug might be worth my soul.
2:45 p.m. I'm in the room with plenty of time to witness the legendary Cameron Purdy do "The Top Ten Ways to Botch Application Scalability, Performance & Reliability." Cameron Purdy is detouring from the usual pseudo-smooth-jazz-alt-rock for Joe Satriani's "Surfing with the Alien." The guy next to me is humming along. We talk Satriani for a minute.
Cameron Purdy's lecture is awesome. Again, I learn lots. I am glum when he points out at least five HUGE mistakes I have made in my own code / design. But he wraps it all in a nice bow by saying "You're not alone. We all mess things up." Awww.... it's gonna be ok, little developer! Now go fix your single points of failure!
3:45 p.m. After stopping by the main auditorium to pick up my free backpack, I have some time to kill. Now that I have been sitting on my ass on hard chairs for most of the day, those bean bags are sure looking good. Hey, one's free over here! I stand next to it. Guy gets up to leave. Wait a minute! Some lady swoops in and steals my friggin bean bag! "I was waiting for it over there on the floor," she explains. Uh-huh.
Luckily it doesn't have to come to fisticuffs, because another lady sees me waiting and says "I was just leaving."
I sit down, and plug in to charge my laptop battery. I'm next to the vendor pavilion in there. The vendors are barking their wares like the peanuts or cracker jack guys at the ball game. The Motorola guy is especially annoying. I decide I am no longer interested in selling my soul for schwag.
4:00 p.m. Time for... uh... "Effective concurrency using the Java platform." I'm not sure I'm ready for that one. I'm getting kinda sleepy.
4:30 p.m. I run, nearly screaming, out of the Effective Concurrency lecture. It was really crowded, there was some high-pitched whining noise that was driving me crazy, it was really hot, I'm really sleepy, and on top of all that the subject was shamefully, painfully, horribly over my head. I really need a remedial class in threading.
5:00 p.m. I'm back at the car. I'm so bummed because I'm really hot but I can't take my stupid sweater off because of the coffee stains on my shirt. But wait... I open up the schwag backpack and what do I find? A free t-shirt. Get this. It's coffee colored. HOW do they KNOW?
5:20 p.m. After a break in the car I'm ready for dinner. The elation from discovering the free t-shirt is somewhat mitigated as I realize I have lost my sunglasses somewhere. I'm REALLY SKILLED at losing (or breaking) sunglasses. It's a real talent. I may be the best in the world at it.
6:00 p.m. Dinner at Chevy's. Margarita, please. On the rocks. With salt. Ahhhhhhhhhhh.
6:30 p.m. "Tips & Tricks with NIO Using the Grizzly framework." Don't know what to expect here. The Grizzly team rolls with Pink Floyd, post-Waters era ("Learning to Fly"). Not making a good impression so far.
The Grizzly guy is dry as a bone. He throws a t-shirt into the audience, then says "you can tell we have a lot of fun up here." Ack.
7:30 p.m. The largely confusing NIO lecture is over. I'm disappointed because they spoke nothing of using NIO for file reading & writing, which is why I went in there. Instead it was all about http & sockets and building your own web server. Which, it turns out, is what Grizzly is. So a better title for the lecture might have been "Check out these cool things were learned about NIO and sockets while we built Grizzly." Because I can't imagine this stuff was relevant for 95% of the audience. Oh well.
8:00 p.m. I wander through the bookstore. Its employees REALLY want to go home now. Wadler's book on generics is sold out. He must have signed them all. I guiltily buy the other guy's book on concurrency programming. The one whose lecture I skipped out of because it was too hot & over my head. Maybe I'll understand it better later when I don't have time to read the book. Ha.
8:30 p.m. As I get in the car, I discover I left my sunglasses up on the dash board. Nice! I'm back on the road and back with KNBR. The Warriors throw the game to the Jazz in the last two minutes of regulation. They were up by 5 and then missed four straight free throws. A trip to the NBA finals does not look in their future as they are now done 2-0 in the series. Bummer.