![]() |
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
Conference Tools
|
Rock Star Simon Ritter
Q: You are doing a demo at James Gosling's Toy Show general session on the last day of the Conference. What are we in store for? A: The idea came from some videos I saw on YouTube by Johnny Chung Lee. He took a remote control from a Wii and thought about how to use it literally from a completely different angle. I figured it would be fun to do something similar using Java and JavaFX. The application of the technology they designed will perform in some unexpected ways. I don't want to give too much away as it would spoil the surprise. Fun With DTrace
Q: What should Java developers understand about DTrace and Java technology? A: DTrace is a phenomenally powerful instrumentation system originally included in Solaris 10. With it, developers can find information in new ways by asking almost any arbitrary question about what the system is doing. Although DTrace was originally designed for the kernel and operating system, the approach has since been extended to the JVM as well as scripting languages, MySQL, and other applications. Using DTrace and Java, developers can now slice right through their applications, from code through the JVM, down to the OS to get a clear picture of the application's behavior. Q: Your session on DTrace and Java technology sounds like it will be a good one. You cover how data obtained from DTrace can be visualized in innovative ways and present a proof of concept that uses anaglyph 3D rendering by JMonkeyEngine to display a call graph in three dimensions. Attendees will get to wear special 3D glasses for the demo. Tell us about this. A: My co-presenter, Jon, and I started work on this several years ago, generating a call graph of functions in the kernel, or methods in a Java application. We initially built an application called DAVE (DTrace Advanced Visualization Environment) that allowed you to explore a call graph in terms of flow, timings, number of calls, etc. Last year we came up with the idea of using 3D to visualize more details of the data available, which led us to use JMonkeyEngine and create a 3D rendering that uses the colored glasses like those for 3D films to create a pretty realistic 3D experience. Q: You have a long history of presenting fun demos at JavaOne and other places. What do you like most about demos? And what's the most fun you've had doing one? A: What's best about demos is when they work! I also really like to find various ways of using Java technologies that Sun and other people have created to excite folks. Hopefully, it also gives them ideas of their own about how the technologies can be used. One of the demos I most enjoyed was the blackjack-playing robot I built out of LEGO. It employed many elements such as a tiny Java-like implementation for the original Mindstorms system, Java Speech API for voice recognition and synthesis, and the Java Media Framework for handling image recognition. Having the robot successfully play a whole hand of blackjack was great, although I don't think the croupiers in Las Vegas need to worry about losing their jobs. Q: Complete the following sentence: "Two years from now, JavaFX will ___." A: Be used in a wide range of rich Internet applications. The power and simplicity it provides makes creating these types of applications vastly easier than it used to be. Writing Code
Q: Can you describe the process of writing code? A: To me, coding is very much like working with a jigsaw puzzle. You start with an idea (or if you're lucky, a detailed requirements document) of what the finished product will look like, i.e., its functionality. You then have to decide how to break up the problem into more manageable pieces. Sometimes you can find pieces that other people have produced that you can use in your application; this is where, with luck, code reuse proves to be a reality. For the pieces you don't have, you have to make them yourself and often that involves solving a smaller puzzle within. Then you have to fit all the pieces together, in the right order. Then you have to test it to make sure it all works; this frequently takes longer than the initial design and build phase. It's all good fun, though. Q: What's the next big technology revolution? A: I think that technology that enables us to interact with computers in different ways will be the next revolution. The mouse and keyboard are great, but they seriously restrict how we interact with a device. When we talk to people face-to-face, only about 10 percent of the information we convey is through the words we use. Things like gesture recognition, multi-touch displays, 3D displays, and maybe even speech recognition will all change the way we interact with the devices we use. Q: If you could work on a dream project, what would it be? A: I think I pretty much have the dream job at the moment! If I had complete freedom, I'd love to work on some kind of immersive 3D system using gesture recognition and some sort of artificial intelligence algorithms to change the way we search for information. Q: Can you give us an example of code that you are most proud of creating? A: Back when I first started working for AT&T, I wrote some code that enabled remapping fonts on a PC to provide different character sets for foreign languages. It wasn't a huge piece of code, but it got accepted into the SVR4.2 code base which I thought was pretty cool. Q: Favorite Java book? A: The original Core Java book by Gary Cornell and Cay Horstmann. I used it to learn how to program in Java back in 1996, and I still refer to it occasionally today. Q: What do you do when you feel stumped? A: Take a break. Numerous times, I come back to a problem fresh the next day, and I find the solution within a few minutes. Sadly, this is not a guarantee for success in solving all problems. Q: What recent changes to the platform have made your life easier? A: I like generics for collections; I'm a big fan of strong typing which makes it easier to find problems at compile time rather than runtime. Q: Where in the process of programming do you have the most fun? A: Fixing bugs. I'm a fan of problem puzzles like Sudoku, so it's kind of like doing a puzzle. I also get a real buzz when I finally figure out what it was that was causing the problem. Q: What online resources do you use to keep up with Java technology? A: A combination of java.sun.com and the Sun Developer Network sites are a great source of information. Q: What advice would you give to a programmer new to the Java language? A: Think objects! For More Information
» Simon Ritter's Blog
Simon Ritter will be hosting the following sessions this week: Do you have comments about this article? We welcome your participation in our community. Please keep your comments civil and on point. You may optionally provide your email address to be notified of replies - your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use. |
||||||||||||||||||||||||
ContactUs | About Sun | Privacy | Terms of Use | Trademarks Conference content is subject to change. Copyright 1996 - 2009 Sun Microsystems, Inc. |
![]() |
|