The Source for Java Technology Collaboration
User: Password:



Janice J. Heiss's Blog

Performance Archives


RTSJ and the JavaOne Slot Car Challenge

Posted by hiheiss on April 07, 2006 at 02:04 PM | Permalink | Comments (0)

I recently conducted an interview with Sun's Greg Bollella that debunks some myths about the difficulties of Real-Time Java and touts the coming Slot Car Challenge at JavaOne, which will give developers a chance to write some RTSJ code and see if can guide a slot car around a track with speed and accuracy -- it should be fun. Greg believes that "The Slot Car Challenge at the 2006 JavaOne Conference will prove that anyone can program with RTSJ,” and insists that programming in Real-Time Java is "more like bicycle science than rocket science". Anyone want to ride the bicycle?

Conscientious Software

Posted by hiheiss on March 30, 2006 at 03:35 PM | Permalink | Comments (1)

Conscientious Software: Part One of a Conversation with Sun Microsystems Laboratories' Ron Goldman Here's a rich IMHO interview with Sun's Ron Goldman by yours truly. Ron's a senior staff engineer at Sun Labs who is working with Richard Gabriel to envision a new software model. As we move into a world of massive software interdependence where standalone apps are on the way out, Ron wants to develop ways to make "large systems more robust, stable, and better able to take care of themselves." He wants software to start using cpu cycles "to actively monitor its own activity and environment, to continually perform self-testing, to catch errors and automatically recover from them, to automatically configure itself during installation, to participate in its own development and customization, to pay attention to how humans use it and become easier to use over time, and to protect itself from damage when patches and updates are installed." Are you enticed by his vision?...

Seeing Shouldn't Be Believing or the World According to Josh Bloch

Posted by hiheiss on March 13, 2006 at 03:18 PM | Permalink | Comments (1)

Please check out the interview

http://java.sun.com/developer/technicalArticles/Interviews/bloch2006_qa.html

I had the pleasure to do
with Google Java architect,
Joshua Bloch, in which he
discusses his latest book,
"Java Puzzlers," written with
Neal Gafter. He models puzzlers
on optical illusions; you look
at a piece of Java code and
see one thing, but then on
closer inspection you realize
your mind has deceived you. The
idea is to trick the mind into
making a mistaken assumption
about code; you see your
mistake and will hopefully
never make it again. With optical
illusions, Bloch claims, understanding
how the illusion works does not change
the illusion. But if you understand
how a "code illusion" works,
you can stop making that mistake,
and spot it in future code that you review.

Bloch claims that most
of the puzzlers were derived
from real experiences of developers
and that the biggest problem for
developers is unwarranted optimism.

Speaking of unwarranted optimism,
it's fascinating that they fell into
their own trap in one of the solutions
to a puzzler that turned out to be broken;
they had to include an errata in their book
correcting it. Bloch argues that no one is immune.

Josh also makes some interesting comments about
language design decisions.

I totally enjoyed interviewing him.
Besides being super smart, he's an
all-around great guy.



Meet the Engineer Q&A on java.sun.com

Posted by hiheiss on March 10, 2006 at 04:54 PM | Permalink | Comments (0)

Please check out this Q&A:

http://java.sun.com/developer/Meet-Eng/ohair/

I did with Kelly O'Hair, senior staff
engineer in JDK (Java Development Kit) Core Serviceability.

He was really fun to interview.

Asked if he ever feels a sense that he's
created something beautiful when
he writes code, O'Hair said,
"Well, more like 'not ugly.'
There's a gray zone between ugly
and beautiful. Simple is beautiful."

Kelly is a java.net blogger so check out his blog
too to get to know him better if you haven't already.



Putting the Server in Your Pocket

Posted by hiheiss on June 29, 2005 at 11:07 PM | Permalink | Comments (5)

At the June 29, Wednesday morning Platinum session, held from 8:30 to 9:15, Nokia Chief Technology Officer and Senior Vice President Pertti Korhonen provided a vision of the future that promises to take Sun's motto "The network is the computer" to another level, by putting the server in your pocket.

Steve Meloan does a really good job of covering the technical moves Nokia and the industry are making to enable this here:

http://java.sun.com/javaone/sf/sessions/general/nokia_wednesday.j sp

so that allows me to wax philosophical :) in this blog.

It's a remarkable all-too-implicit vision of a world where extraordinary access to information and communicative power are available anytime, any place. Anyone can contact anyone and information about anything is at your fingertips. That is where we are headed. In another year or so mobile Java devices will be in the hands of a billion people, absolutely awesome. The "power of Java everywhere" is no hype; it's fast becoming real. There is no question that in many domains of life, from medicine to meter readers to industry to friendship and love, it's great. But I remember Jon Krakauer's book, Into Thin Air about a disastrous climb of Mt Everest in which many people died. What was almost unbearably poignant was the story of the leader of the climb, an Australian who found himself stranded at the peak in a severe blizzard at which he had the capacity to speak to his wife in Australia by cell phone, but was unable to get down from the summit before freezing to death. Technology could enable this man to talk to his wife as he was dying but it could not overcome the dubious risk-taking judgment that led to disaster.

It's tempting to make this story symbolic of something or other - I don't really know what. Maybe something like the story of the pilot of the plane who doesn't know where he is going but is proud of the fact that he is breaking all speed records. It's all happening so fast, and there is always the law of unintended, unforeseeable consequences.

I found myself wanting Korhonen, and everyone else, to get specific about how this technology can help us. The vision can't just be technological, but one that looks more deeply into the nuances of the implications for human life.

But perhaps that's what the theme of this conference is hinting at with its emphasis on the word, share.

Exposing Java Technology Performance Myths

Posted by hiheiss on June 29, 2005 at 10:48 PM | Permalink | Comments (4)

Here I am at TS-3268, "Java Technology Performance Myths Exposed," with Cliff Click, of Azul Systems. Azul, founded in 2001, advertises itself as pioneering "the industry's first network attached processing solution, designed to unbound compute resources for virtual machine based applications. Without any application level modifications, binary compatibility requirements or operating system dependencies, this fundamentally new approach eliminates the need to capacity plan at the application level and dramatically lowers the cost and complexity associated with the traditional delivery of computing resources."

Click enumerated six performance myths. What follows are the basics.

Myth One: The notion that you can add the "final" key word and your code will run faster. The assumption is that by adding the "final" key word I allow the JVM to inline and do the right thing. Not true. "Final" won't make your code run faster.

Myth Two: Try/catch blocks are free or they're very expensive. Google gives both bits of advice - that it was free or kills performance. Both are wrong. It is both very cheap and very expensive - depending. Advice: Don't put try/catches in very tight array loops. Otherwise it's more or less free.

Myth Three: Use RTTI - Run-Time Type Info. Compared RTTI versus instance-of if-tree versus virtual call. RTTI makes for really ugly code - it is fast though, so only use it if you're desperate for that last bit of performance.

Myth Four: Synchronization is very expensive. The truth is synchronization is not free, but it's no longer so expensive. It's gotten a lot cheaper over the years.

Myth Five: Object pooling works. The idea is that we can reuse objects by pooling them on and off free lists instead of using new and letting the garbage collector pick them up. Once you have more than one thread going off the pool, you need a synchronized free list, which has costs. If the list gets hot and contended, you can get scaling bugs. It gets complicated too fast and is not worth it for small to even moderate sized objects. Use it only for large objects.

Myth Six: The cost of the revisions to Java Platform Standard Edition 5.0 are substantial. Not true. Enums, autoboxing and varargs are mostly free.

Cliff wrapped up his session with a few final observations:

GC is getting cheaper and pretty efficient, and less intrusive. There are still scaling problems with large heaps.

Object pooling will remain viable for largest objects with high costs. Small objects will get even cheaper.

Click closed with one piece of advice: "If you take away only one thing from his talk, it would be that modern JVMs favor common usage patterns and clean code."



A Cool MP3 Player at the SwingLabs Exhibit

Posted by hiheiss on June 29, 2005 at 10:19 AM | Permalink | Comments (1)

I’m at Exhibit #1111, Swing/Labs JDesktop Network Components (JDNC). It’s a Sun Microsystems project that allows experimentation with extensions to existing Java Foundation Classes/Swing API components, new JFC/Swing components and various desktop related technologies like Java 2D, AWT. I’m talking now with Sun’s Roman Guy, who explains, “We experiment with a number of projects containing JDNC and Swing components, all of which sit on top of Swing and add extra features, like transparency or animation. There are data-aware components that make it very easy to find data from a database or an XML file, directly to the UI. You have almost nothing to do -- everything is done for you in the code. You just choose the source of code and – that’s it.”

The source code is available on java.net, (http://www.java.net/) as part of the LGPL license. The idea is to explore new ideas in Swing components that may one day be part of the JDK, like various filtering, highlighting and searching features. “It’s a playground for the Swing team,” explains Guy.

Next to Roman, is Sun’s Richard Bair, operating a SwingLabs desktop network component demo, who explains, “We’ve created a music player that reads the music libraries of a very popular music player and will play any MP3 file that you have in your library. The interesting thing we’ve done is show off some of the cool features in our Swing X project, especially the data binding. First, you see the finished project, a nice music player with ‘play,’ ‘previous,’ and ‘next’ buttons and a search field. We have a lot of music and custom cell renderers and so on. On Thursday, June 30, this will go public as: joplin.dev.java.net – Joplin, as in Scott Joplin, is the name of our music player. We have a list of music and a collapsible panel -- you click a button and the music screen comes down as an animated effect. As you select different songs, you notice that the title, album, and artist genre info get updated.”

The screen displays a cool album cover.

“It looks fancy for a demo, but a lot of it is stock components from the Swing X project we put to use here,” says Richard. “We have a JX image panel component, which is nothing more than a component that knows how to extract the image art from an MP3. It’s pretty simple stuff. This table is a normal JX table and a little browser that lets you walk in 3D through all of the album covers in your music library. It’s all implemented in Java 2D, very fast. Once you get your song, you can listen to it. Another screen was written in Java 2D, we call Zoomy; this panel can be retrieved from another open source project on java.net that is called ping.dev.java.net. A search field enables you to filter by artist, album, genre and song. This will be part of James Gosling’s keynote on Thursday.”

Neat – I got a sneak preview.

Great work! Let’s hope it finds its way into the JDK. And don’t forget Gosling’s Thursday morning keynote.



Celebrating Java Technology Through Art

Posted by hiheiss on June 29, 2005 at 10:14 AM | Permalink | Comments (3)

It’s so inspiring to watch gifted artists at work. Their art is alive with color and imagination. Sun brought six gifted artists to the 2005 JavaOne Conference with the goal of raising $5000 for the Foundation for a College Education (FCE) of East Palo Alto, California, which Sun has supported for ten years, about as long as Java technology has existed. All during that time, Sun employees have volunteered their time tutoring students to help them become the first of their families to graduate from high school or college. This year, silent auctions take place until noon every day of the JavaOne conference through Wednesday and then Wednesday night the live auction occurs at the After Dark party from 7:45 to 8:15 in Hall A prior to comedian Dennis Miller’s performance.

What exactly is Java-inspired art? The idea is that Java developers are also artists who call upon inspiration and the creative imagination in creating their code, an insight that Sun’s Richard Gabriel has articulated as well as anyone. (http://java.sun.com/features/2002/11/gabriel_qa.html) The presence of the artists at the 2005 JavaOne Conference implicitly confirms what Gabriel says:

’Writing software should be treated as a creative activity. Just think about it -- the software that's interesting to make is software that hasn't been made before. Most other engineering disciplines are about building things that have been built before. People say, "Well, how come we can't build software the way we build bridges?" The answer is that we've been building bridges for thousands of years, and while we can make incremental improvements to bridges, the fact is that every bridge is like some other bridge that's been built. Someone says, "Oh, let's build a bridge across this river. The river is this wide, it's this deep, it's got to carry this load. It's for cars, pedestrians, or trains, so it will be kind of like this one or that one.’ They can know the category of bridge they're building, so they can zero in on the design pretty quickly. They don't have to reinvent the wheel.”

Gabriel points out that we’ve only been building software for 50 years and each time we do it, it’s fairly new. Gabriel says we should train developers the same way we train painters and poets. Sounds good to me.

The artists:

Tim Gaskin of San Francisco(http://timgaskin.homestead.com/index.html) said this about his work: “Besides the fact that I am first and foremost a colorist, my paintings are about how celebrities stand at premieres wearing hundreds of thousands of dollars worth of clothes and jewelry and get their picture taken in front of logos which are then sent out all over the world. They represent brands, and even become them because they are so overexposed."

Graffiti artist VULCAN, from the South Bronx area of Manhattan, has work exhibited in the Graffiti Hall of Fame (http://www.graffitihalloffame.org/) in New York City.

New Yorker Eric Orr, (http://www.bravemind.com/ericart/ericartindex.html) also a noted graffiti artist, got his start painting graffiti on the New York subway system. Orr, who has made a name for himself as a graphic artist designing logos for entertainers, boasts an impressive list of clients, including Afrika Bambaataa, The Cosby Show, Public Enemy, Fat Joe and Jive Records.

From crayons to krylon, Leon “Tes One” Bedore (http://www.tesone.net/main.html) has been creating art on walls for the majority of his life. Tes One became a serious street artist in 1992, painting murals and graffiti art throughout the Tampa Bay, Florida, area. In 1999, expanding on his natural artistic abilities in line with the computer age, he began to develop compelling graphic design and web pages for a number of clients. Now, he combines all that he knows from his street-art roots and his digital design profession to create art that accurately reflects his perspective on the world around him.

Brian Ermanski or “BE” of Manhattan, often described as a naïve/ignorant/outsider artist and downtown living NYC legend, has sold more than 70 of the 110 paintings he has produced to date.

Casey O’Connell, currently of San Francisco by way of Florida, recently came to the attention of John Doffing, curator of The Start SOMA Gallery in San Francisco, where all of the paintings in her first group show sold.

Come watch artists in the midst of their creative process. I'm really tempted to bid on some of this art myself.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds