James Gosling: on the Java Road

« JavaOne, day 2.1 | Main | Kudos to the Ubuntu... »

20060521 Sunday May 21, 2006


JavaOne, day 4+

In the past few years I've managed to do several blog entries a day from JavaOne. This time around, there was just no way. JavaOne this year was way too hectec. Way too packed with cool stuff.

The After Dark party on Thursday was a lot of fun. The Mythbuster guys were a riot to talk to. They helped judge the t-shirt contest this year. First prize went to "Didactic Whoosh": Roberto Diaz, Chris Wilson, Iian Klinghofer, Mike Hollatz and Mitch McCuiston. They built a 6 barreled cannon that was a wonder to behold: solid engineering and (amazingly) no weird parts that couldn't be found at a local hardward store. They used standard sprinkler valves which conventional wisdom says don't have wide enough throats or fast enough opening times to work properly, but they did. It was quite a thundering spectacle when all six barrels fired at once.

Second place went to "Chariot Solutions": Rob Butler, Dmitry Sklyut and Andy Oswald whole slammed together a chainsaw and what was roughly a baseball pitching machine. It didn't work as well as it should have because at the last minute the Fire Marshall made them get rid of the powerful gas chainsaw that they originall built it with and substitute a somewhat wimpy electric chainsaw - the issue was the fumes laden with uncombusted gasoline that the engine spews.

Third place wend to " World Cup Champions": Bruno Souza, Leonardo Galvao and Vinicius Senger. They're from soccer-mad Brazil and produced a launcher what was a performance-art piece. When choosing between the second and third place teams I said to Adam Savage "It looks like a choice between style and mayhem". His answer was roughly "In my book, mayhem always wins".

The contest was great fun. Thanks to all the teams for all the time you put into your entries. It worked really well doing the contest during the party. Beer and mayhem: yum! Think up some great hurling ideas for next year!

I had to duck out of the party early because we were rehearsing the Friday morning keynote during the second half of the party.

The other piece of geek craziness was the slot car racing programming challenge. By Thursday afternoon when it was getting down to the wire for choosing the three finalists, the race track area in the pavillion got seriously crushed with people (it was always pretty crowded). Hackers were getting pretty creative with things like acceleration profiles and inventing antilock breaking algorithms - the name of the game is keeping the tires in static contact with the track, as soon as they start sliding life gets pretty tough. At the end of Thursday the three finalists were Peter Whitfield, Robert Chou and a team of 4 university and high school students: Anna Partheil, Michael Partheil, David Jahn and Georg Wetter (they got to JavaOne by winning a programming contest in Germany). After the pavillion closed, the track was moved to the stage in the main hall and the finalists got some time to practice and tune. When they first ran, all of their cars flew off the track. So they all actually started to carefully detune their entries, since they all wanted to finish the race with no aerobatics. By the time the final race happened, everyone stayed on the track for the whole race. Peter got first place, followed by the German students, and then by Robert. It was a great race: thanks everyone. Thanks especially to Greg Bollella, our lead real time geek, who was the driving force that made it all happen.

It wasn't all fun, I did have some serious work to do. My keynote on Friday morning was all demos with color commentary. The demos were:

  1. Tom Ball showing off the Jackpot refactoring/reengineering engine for NetBeans. It opens up the whole concept of refactoring to all sorts of user-defined transformations. For example, it can be used for eliminating deprecated methods, migrating APIs, doing code cleanup or enforcing coding standards.
  2. Next up were Petr Suchomel and Martin Brehovsky from the NetBeans mobility team who put together a great end-to-center-to-end demo. At one end they connected an RFID reader to an embedded controller running JavaME with the guts of a cellphone for connectivity - even though it's not a "cellphone" NetBeans mobility did a great job of enabling the development of the code. In the center was an app server (in Prague) that implemented a suite of web services for package tracking. At the other end was a cell phone running a couple of apps (written in JavaME using NetBeans, of course) that made it possible to first register interest in a particular package, and second react when notified via push-SMS from the app server when the package was seen on the RFID reader.
  3. This was followed by Nedim Fresco and Hinkmond Wong showing off the cool features of JSR 209, which brings a large part of Swing and Graphics2D to JavaME/CDC. High performance imaging... the ability to use GUI editors like Matisse... multithreading... lovely!

    As an added bonus, Nandini Ramani (with some help from folks at SavaJe) ported the leaderboard app I had written for the slot car race to the SavaJe phone. It was apparently a trivial task, except for a bug (in my code) where I had a timeout in some network error recovery code that was a little too tight for the latency of socket connection through the cellphone network.

  4. Then came Greg Bollella talking about the next generation of our real time VM that incorporates a new garbage collector based on some research from the University of Lund. It gets really interesting when you put an app server (with 5 hours of tweaking to take advantage of a few RT features) on top of it. They did a benchmark where they set up the app server to serve two ports that were identical except that one serviced requests using regular threads, the other serviced requests using real time threads. Then they loaded up the server with a bunch of other tasks to slow things down and turn it into something of a worst-case situation. Here's a graph of the distribution of request response times:

    The red bars are from the real time threads, the blue are normal threads. To be fair to the non-real time numbers, I should point out that the graph was rendered with the red bars on top of the blue bars, and a large number of the non-RT responses are hidden under the red bars. As you can see, the real time server has tightly bounded response times, where the other has a significant number of outlyers. This isn't just the result of a rocket-science garbage collector: paying close attention to RT issues like queueing, scheduling and priority inversion all have a noticable effect. These dramatically great numbers don't come for free: there is a tradeoff between predicable timing and aggregate throughput. Most software optimizes for throughput, and this is generally the right thing to do. But sometimes, timing is more important.
  5. Next came the slot car race, which I've already mentioned.
  6. Lastly, I finished with a tour through Tommy, the DARPA Grand Challenge vehicle build by Paul Perrone of Perrone Robotics. It's a lovely piece of work about which much has been written. A clean architecture... AI and device control all in Java on three processor boards.
Afterwards I rushed off to a 2nd grade art fair at my youngest daughters school. My apologies to folks from The Press who were at the press conference with Scott and I after my morning keynote: no one told me about it until just after my keynote, as I was rocketing out of the room.

After over a month of not getting more that 4 hours sleep a night, I finally got home and slept... Permalink Comments [2]

Comments:

The RTSJ-based server looks impressive from the graph.

So if RTSJ is fully compatible with JLS, there is no reason why RTSJ will take over as the standard Sun's distribution of JVM in JDK/JRE in the future... Right?

Posted by Alex Lam on May 25, 2006 at 11:09 AM PDT #

激情小电影 走光 自拍 成人电影 色情电影 激情电影 黄色电影 成人论坛 人体艺术 黄色网站 成人色情 成人文学 色情 黄色网站 x365x 18dy pp点点通 走光 成人贴图 成人论坛 成人小说 黄色小说 成人电影 激情视频 激情电影 色情小说 情色电影 性教育电影 成人图片 激情小电影 性爱电影 色情图片 本能2 终极一班 xiao77 99bb pp点点通 人体艺术 视频艳舞 色情网站 网友自拍 小电影 激情小电影 成人网站 激情小电影 网友自拍 激情小电影 走光 成人电影 黄色电影 色情电影 成人文学 激情小电影 pp点点通 性感美女图片 美女内射 免费小电影 日本av电影 韩国电影 人体艺术 乳房图片 阴部图片 美女写真 冰菊舞 成人论坛 恶魔在身边 成人色情 免费黄色电影 色妹妹口交 丁字裤 明星露点写真 强奸图片 三级片 bt电影下载 露点图片 做爱图片 a片下载 情色视频 成人书库 成人性爱 明星走光图片 激情小电影 成人小电影 色情小电影 黄色小电影 sm论坛 偷拍偷窥 视频聊天室 黄色网站 成人贴图 色情电影 成人电影 x365x 18dy pp点点通 三级片 成人小说 性教育电影 色情小说 黄色小说 成人贴图 成人论坛 激情视频 自拍 走光 明星裸体写真 性交 美臀 性爱 情色电影 艳舞 黄色电影 激情电影 性电影 性交图 黄网 成人文学 自拍 艳情小说 色情文学 色情图片 性电影 情色电影 艳舞 激情电影 黄色电影 激情小电影 成人贴图 色情电影 成人电影 x365x 18dy pp点点通 三级片 走光 网友自拍 成人网站

Posted by fgghkljmklsdf on May 26, 2006 at 06:21 AM PDT #

Post a Comment:

Comments are closed for this entry.