Wednesday June 30, 2004 | Jean-Christophe Collet's Weblog Jean-Christophe Collet's Weblog |
|
JavaOne, J2SE 5.0 and Spiderman 2: Go get them Tiger! Who needs sleep anyway? That's what I was telling myself while leaving Moscone center around 11:30pm after presenting at a late BOF and heading for the Metreon movie theatre, a ticket for the 12:01am showing of Spideman 2 in my pocket. I love opening nights of long awaited block buster movies! Sure, the line can be a pain, but it can also be quite a bit of fun. After all, the people around you are probably as nut as you are otherwise they wouldn't be here, would they? And, once you are comfortably installed in your seat, nothing beats the atmosphere in the theatre. You can feel the eagerness of the crowd, and you can't help smiling when the audience bursts into applause for such silly reasons as the lights being turned off or the main title starting. There is also something to be said for a pristine copy of the film (of course, this will no longer be an issue once theatres all have switched entirely to digital projection, but it won't happen overnight). Back to the movie. Peter Parker, and his super-hero alter ego, are back. It's 2 years later and Peter is confronted to a severe case of the "life sucks" syndrome. I won't go into too much details as I hate spoilers and some of the most enjoyable moments of the movie are a lot more fun if you don't know they are coming. I'll just say the opening sequence got the audience, yours truly included, laughing and cheering more than once. And sequences like that abound in this movie. It's refreshing to see a good action/super-hero flick that finds a right balance of action, character development and self derision. Dang, I just blew it! I already told you the movie is good, while most reviewers would wait until the last paragraph before telling you what they really think, forcing you to go through their whole article in the process. Ho well! I guess you can leave now. Doesn't really matter, it still counts as a hit to this page Still here? You know, you got way too much time to waste! OK, you asked for it. It's a fun movie! I could tell you to go and see it, specially if you liked the first one, but it would be a waste, since I know you're going to go no matter what I say! One thing I appreciated is that, as a fan of Spidey when I was a kid, Sam Raimi was able to re-unite me with the feelings I experienced then. Particularly in the "it sucks to be Peter Parker" department. At first, I was a bit uncomfortable with it, thinking it was a bit overdone, but then I remembered that it is exactly what I was thinking back then, while reading the comics. Kudos, at least from me, to the director for sticking with it despite the temptation to tone it down a bit. The actions scenes are top notch, full of energy and, more importantly, they don't feel like you've seen them dozen of times in other movies. They do have a style, a rythm that make them standout. There is a quite a bit of foreshadowing, specially for the upcoming 3rd installment, but it is rather well done and doesn't stick like a sore thumb. It does flow quite well with the story. I have just a couple of minor gripes. The middle section could have been shortened a bit, say 10 minutes or so. Also I was not that impressed with Kirsten Dunst performance. She seemed a bit wooden to me. And, last, I felt that some of Aunt May's speeches (you know the "with great powers come great responsibility" kind) were a tad forced. They just didn't seem to come as natural. But, like I said, these are pretty minor and certainly didn't do any damage to the movie overall. There you have it: Great sequel, can't wait for the DVD, and for once, I'm eagerly awaiting for the 3rd opus hoping they can keep the same level of quality and fun. One last thing, if you were a JavaOne or an Apple WWDC attendee, as were half of the audience last night, you should have a good laugh at the last line of the movie. Let me know what you think! (2004-06-30 10:25:56.0) PermalinkJava: your magic ticket to IPv6 A couple of weeks ago I was in L.A. attending the IPv6 Summit where I was scheduled to make a presentation about Java's support of IPv6. while there, listening to the other presenters I realized something. There is a gap, a disconnect, between application developers and the network infrastructure people. You see, very few attendees were developers, or ISVs, so it felt a bit like most presentations were "preaching to choir" so to speak. Most people in the room were convinced that not only IPv6 was important, but it was also inevitable. It will happen, and, actually it is happening. Many of them were actively involved in making it happen. So how come, when I talk to application developers, they don't seem to care one bit about IPv6 support? Even when their application is heavily networked. I've been pondering that question for the past 2 weeks and I've come up with a few elements of answer. First, and foremost, most developers don't know what IPv6 is all about, and when they do know a bit about it they seem to believe that we don't really need it, what with NAT (that's Network Address Translation in case you didn't know) and similar technologies. Second, to most of them, supporting IPv6 means "porting your application", like supporting a new platform that almost nobody is using. In today's market, it's like a death sentence. But it's also a catch 22 situation. You see, many ISPs says they're not deploying IPv6 because there is no demand for it (at least in the US), and there is no demand for it because there are no application for it either. We got a bit of a deadlock here. I'll get back to that later. First I want to address the first point. Why do we need IPv6? I won't bore you here with all the technical reasons, you can read about it from a number of sources, including at the IPv6 summit website, in particular in the tutorial section, I'll just mention the main 4 ones:
The first one, of course, is the real kicker: with address length of 128 bits instead of 32, IPv6 makes it possible to assign an address to about any device ever conceived and still not run out of addresses. Couple that with auto-configuration and you won't have to worry about IP addresses ever again. Now, I know what you're thinking: "NAT solved that problem already". Not quite so, for one thing NAT creates a lot of problems when it comes to end to end communication (think P2P for example), and already some organizations are running out of "private addresses" as defined in RFC 1918. Also, it is has been estimated that if the developing countries (China, India, etc...) get to the point where a mere 20% of their population has Internet access, then we would need 4 times more addresses than are left available, and that's taking NAT into account! So, we don't know when we're going to run out of addresses, but it could happen almost overnight! That's why Asian countries and the European community are pushing IPv6 very hard. On top of that the U.S. Department of Defense (DoD) as announced that they will switch their whole network infrastructure to IPv6 by 2008 and they issued a mandate that, since Oct. 2003, all IT equipment they will purchase, be it hardware or software, has to be IPv6 enabled or have a clear roadmap proving it will be in time. So, if the DoD is one of your customers you probably should worry about IPv6. Same thing is true when it comes to mobile devices, like cellphones or PDA. So IPv6 is not only needed, it is happening, big time! And, you, developers, should get on the ball! But, what does it mean to port an application to IPv6? Well, herein lies the "bad news, good news" cliche. The bad news is for applications written in C or C++ (or even C#) the porting can range from simple, for client applications on Unix, to total nightmare, for server applications on Windows (you see Microsoft didn't deem necessary to provide a proper dual stack implementation therefore their IPv6 is the only one I know that is not compatible with IPv4). In any case it means source code changes, new binary relying on new libraries, and, of course, new bugs! Bottom line a lot of work. So what is the good news, you ask? The good news is if you were smart enough to write your application in Java, then you don't have to do anything! You're done. I mean, your code is already IPv6 enabled, you don't even have to recompile. That's right: that application you wrote, and compiled, with JDK 1.1 in 1996 will work just fine on an IPv6 system if you run it with the proper VM (1.4+ for Unixes, 1.5+ for Windows). Let me rephrase that: Any java application (as in the exact same bytecode) will run on any platform whether it's IPv4 or IPv6, Linux, Solaris or Windows! You got IPv6 for free! Remember that the next time you have to convince your management that you should use J2EE instead of .Net for instance!
If you'd like more details about IPv6 and Java, I'd point you to the presentation I made at the IPv6 summit. In any case, I'll be at JavaOne, so don't hesitate to look me out and ask me any question. You can catch me at the "ask the experts" booth (don't laugh I didn't pick the name) on Tuesday from 10:30am to 1pm, then at the Technical session TS-2476 on Tuesday from 2:45pm to 3:45pm, and finally we'll have a BOF for Java networking Tuesday at 10:30pm (Esplanade 304/306, Moscone center). I hope to see you there. (2004-06-28 11:14:54.0) Permalink |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||