<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Janice J. Heiss&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/" />
<modified>2008-04-07T09:52:54Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/hiheiss/185</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2008, hiheiss</copyright>
<entry>
<title>Java Champion, Adam Bien, on Java EE</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2008/04/java_champion_a.html" />
<modified>2008-04-07T09:52:54Z</modified>
<issued>2008-04-07T09:52:32Z</issued>
<id>tag:weblogs.java.net,2008:/blog/hiheiss/185.9487</id>
<created>2008-04-07T09:52:32Z</created>
<summary type="text/plain">Better Programming With Java EE: A Conversation With Java Champion Adam Bien</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: Java Enterprise</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Please check out my java.sun.com <a href="http://java.sun.com/developer/technicalArticles/Interviews/community/bien_qa.html">interview</a> with Java Champion and Java EE expert Adam Bien, who says:</p>

<p>* "There are three big fallacies. First, believing that J2EE is complex; second, believing that Java EE 5 is easy, and third, believing that distributed programming could be simpler."</p>

<p>* “The best advice I know is: ‘Don't distribute’.”</p>

<p>* “Large-scale IT projects are inherently inefficient. It’s a misconception to even talk about a large-scale project.”</p>

<p>* "Most of the Javadoc comments in projects are worthless. They<br />
redundantly describe information that can be easily obtained from the method's signature."</p>

<p>See what you think as this QA has caused a bit of a buzz over on <a href="http://www.theserverside.com/news/thread.tss?thread_id=48925">theserverside.com</a></p>]]>

</content>
</entry>
<entry>
<title>The Story of Ruby, JRuby, and Rails at Sun</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2008/03/the_story_of_ru.html" />
<modified>2008-03-27T23:50:59Z</modified>
<issued>2008-03-27T23:50:51Z</issued>
<id>tag:weblogs.java.net,2008:/blog/hiheiss/185.9436</id>
<created>2008-03-27T23:50:51Z</created>
<summary type="text/plain">The Ruby landscape is turning into a gem, fueling the move to Web 2.0.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>In a new article <a href="http://java.sun.com/developer/technicalArticles/scripting/jruby_nb6/">NetBeans, Solaris, GlassFish: The Ruby's Red Slippers Fit</a> just up on java.sun.com, yours truly covers the Ruby/JRuby landscape. I got to adventure into new territory and learn a bit about Ruby and accompanying technologies that share some of Ruby's glitter. Those who have not wandered in Ruby land might take a look -- a lot is happening.</p>

<p>* <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">The TIOBE Programming Community index</a> which gives an indication of the popularity of programming languages, ranks Ruby 10th in popularity with 2.66% of programmers.</p>

<p>* As is well known, much of Ruby’s recent growth is tied to the popularity of the <a href="http://www.rubyonrails.org/"> open source Ruby on<br />
Rails framework</a>, known as “Rails,” which is used for database-backed web applications based on the Model-View-Control pattern. Rails empowers web site construction by analyzing database structures, comprehending table relationships, and automatically creating object-relational mapping code. Rails fits the new Web 2.0 framework nicely and is popular among younger developers.</p>

<p>* Sun is making Ruby and Rails faster and enhancing functionality through JRuby which allows Ruby to enter enterprises where Ruby and/or Rails have never entered as Ruby developers gain access to the Java APIs and the Java community.</p>

<p>* Support from NetBeans, Solaris, GlassFish and more makes for a complete develop and deploy environment.</p>

<p>* Finally, as other applications and languages evolve, Sun is very open to enhancing their value through the flexibility, interoperability, and sheer power of the Java platform.</p>]]>

</content>
</entry>
<entry>
<title>QA with Java Champion, Cay Horstmann</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2008/02/qa_with_java_ch.html" />
<modified>2008-02-23T02:11:32Z</modified>
<issued>2008-02-23T02:11:22Z</issued>
<id>tag:weblogs.java.net,2008:/blog/hiheiss/185.9259</id>
<created>2008-02-23T02:11:22Z</created>
<summary type="text/plain">Java Champion Cay Horstmann, a computer science professor and author of noted books on Java programming, discusses needed platform improvements, developer challenges, and ways to inspire students.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JavaDesktop</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Check out my <a href="http://java.sun.com/developer/technicalArticles/Interviews/community/horstmann_qa.html">interview</a> with Java Champion Cay Horstmann on java.sun.com if you want to know:<br />
 <br />
* Why it never pays to optimize code until after you profile.<br />
 <br />
* What's wrong with the JavaServer Faces library implementers, and the app server implementers <br />
 <br />
* Where JSF programmers go wrong. <br />
 <br />
* The problem with threads.<br />
 <br />
* The case for closures. <br />
 <br />
* The biggest mistakes computer science teachers make.<br />
 <br />
* Why we have too many scripting languages.<br />
 <br />
He's provocative and fun! Tell me what you think, please.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Project Darkstar&apos;s New World of Online Games</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/10/project_darksta.html" />
<modified>2007-10-23T02:05:19Z</modified>
<issued>2007-10-23T02:05:07Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.8471</id>
<created>2007-10-23T02:05:07Z</created>
<summary type="text/plain">Is Sun&apos;s Project Darkstar, now freely available for download under open-source licensing, changing the rules of the game business?</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Anyone interested in game development, please take a look at my <a href="http://java.sun.com/developer/technicalArticles/Interviews/kesselman_qa.html">interview</a><br />
with Sun Lab's Jeff Kesselman. </p>

<p>Here's the basic story: There appears to be a huge market for massive multiplayer online games (MMOGs) that scale to thousands of users, but the technical and economic challenges have been -- until now -- enormous. They require expertise in multi-threaded programming, distributed computing, and transactional processes, along with deep pockets to sustain back-end processing resources.</p>

<p>Kesselman claims that the open-source release of Sun Labs <a href="http://projectdarkstar.com/">Project Darkstar</a> -- which offers Java technology–based infrastructure software designed for MMOGs -- has the potential to change the industry and eliminate the risks of dupe bugs, rollbacks, disasters and more. Of equal importance, developers should be able to create more dynamic, fun and interesting games. <br />
</p>]]>

</content>
</entry>
<entry>
<title>Becoming a Better Programmer</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/10/becoming_a_bett.html" />
<modified>2007-10-12T00:59:27Z</modified>
<issued>2007-10-12T00:59:22Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.8418</id>
<created>2007-10-12T00:59:22Z</created>
<summary type="text/plain">Dr. Heinz Kabutz, Java Champion and creator of the Java Specialists&apos; Newsletter, discusses the importance of design patterns and unit testing, the 10 laws of Java concurrency, and life as a developer on the island of Crete.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Have a look at an <a href="http://java.sun.com/developer/technicalArticles/Interviews/community/kabutz_qa.html">interview</a> I conducted with Java Champion Dr. Heinz Kabutz who frequently sets up shop with his laptop on the beach in Crete where he lives. Kabutz is the creator of the <a href="http://www.javaspecialists.eu">Java Specialists' Newsletter</a>, which, after 150 issues, now has an audience of some 30,000 programmers in 114 countries.</p>

<p>Heinz makes interesting points:</p>

<p>* The java.util.Arrays class is a good example of bad code.</p>

<p>* The biggest misconception about Java concurrency he calls “The Law of Greek Driving.” Like driving in Greece, the Java Memory Model rules are not always enforced or obeyed by the JVMs. So concurrent code may seem correct and may test out on all available JVMs and hardware but might still be incorrect.</p>

<p>* Developers make a major mistake when they fail to unit test.</p>

<p>* His reaction to open sourcing the platform: The greatest "Huh?" of his professional life.</p>

<p>I'd love to hear what you think...</p>]]>

</content>
</entry>
<entry>
<title>Java Finalization&apos;s Memory-Retention Issues</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/09/java_finalizati.html" />
<modified>2007-09-17T22:46:57Z</modified>
<issued>2007-09-17T22:46:51Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.8258</id>
<created>2007-09-17T22:46:51Z</created>
<summary type="text/plain">How to avoid memory-retention problems when working with third-party classes that use finalizers. </summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JavaDesktop</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>I recommend taking a look at <a href="http://java.sun.com/developer/technicalArticles/javase/finalization/">"How to Handle Java Finalization's Memory-Retention Issues,"</a> by Sun's Tony Printezis on java.sun.com.</p>

<p>Finalization allows you to perform postmortem cleanup on objects that the garbage collector has found to be unreachable. It's normally  used to reclaim native resources associated with an object. Tony describes how finalization is implemented in a JVM; he identifies problems where memory can be unnecessarily <br />
retained by finalizable objects, and offers solutions, plus advice on when and when not to use finalization.</p>

<p>If the topic intrigues you, check it out. </p>]]>

</content>
</entry>
<entry>
<title>Simon Phipps on Open Source</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/09/simon_phipps_on.html" />
<modified>2007-09-06T22:33:39Z</modified>
<issued>2007-09-06T22:33:34Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.8195</id>
<created>2007-09-06T22:33:34Z</created>
<summary type="text/plain">The meanings and motivations of open-source communities from a JavaOne &apos;07 tech session given by Simon Phipps that I attended.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Please tell me what you think of Sun chief open source officer Simon Phipps's analysis of open source communities that I've summarized in an <a href="http://java.sun.com/developer/technicalArticles/javase/opensource_phipps">article</a> on java.sun.com. Simon has overseen the open sourcing of the Java platform for Sun since his arrival in 2000 -- he's very thoughtful. (Here's Simon's <a href="http://blogs.sun.com/webmink">blog.</a> </p>

<p>Some brief points:</p>

<p>Now that software communities are easy to create and showing up everywhere, for most software projects open collaboration is more fruitful than closed. The economic model has changed so that support and training are key. Open source developing involves leveraging the value of the community and allowing your own skills to be leveraged in return in order to prevent "regression test hell".</p>

<p>Btw, the article has created a small buzz on <a href="http://www.javalobby.org/java/forums/t100897.html">JavaLobby</a> where Simon himself clarifies some issues.</p>]]>

</content>
</entry>
<entry>
<title>Meet Tom Marble, OpenJDK Ambassador for Sun Microsystems</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/07/meet_tom_marble.html" />
<modified>2007-07-31T02:39:15Z</modified>
<issued>2007-07-31T02:30:38Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7944</id>
<created>2007-07-31T02:30:38Z</created>
<summary type="text/plain">Tom Marble, Sun&apos;s OpenJDK Ambassador, 
discusses recent hacking with OpenJDK, 
performance benchmarking tools, the 
importance of copyright law for 
developers, tae kwon do, and more. 

</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JDK</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Please take a look at my latest <a href="http://java.sun.com/developer/Meet-Eng/marble/"target="_blank">"Meet the Engineer" Q&A</a>. Tom's job is to facilitate the growth of the OpenJDK community in an effort to promote Java technology ubiquity, compatibility, adoption, and innovation. He's busy serving as a bridge with the OpenJDK community by articulating the objectives of external developers to internal Sun teams, <br />
and by explaining Sun's interests to the community. </p>

<p>If anyone has information that needs to go in either direction, pleaselet Tom know.<br />
 <br />
Tom has interesting things to say about the latest OpenJDK hacking, benchmarking, copyright law, and tae kwon do (he's a black belt candidate).</p>]]>

</content>
</entry>
<entry>
<title>Open Source --- Then and Now</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/07/open_source_the.html" />
<modified>2007-07-18T23:34:32Z</modified>
<issued>2007-07-18T23:34:25Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7877</id>
<created>2007-07-18T23:34:25Z</created>
<summary type="text/plain">In this java.sun.com interview, Ray Gans, manager of the OpenJDK and Mobile &amp; Embedded community programs at Sun, explores the challenges involved in open sourcing Java SE.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JavaDesktop</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[I'd be curious what you think of this java.sun.com interview I did with Ray Gans 
titled <a href="http://java.sun.com/developer/technicalArticles/Interviews/gans_qa.html" target="_blank">"Open Source -- Then and Now: A Conversation With Ray Gans of the OpenJDK Community Program"</a>.
Ray's been about as close to Sun's open 
source process as anyone over the years and has a long history 
working with Java compatibility and now manages the OpenJDK and 
Mobile and Embedded community programs. I found his 
perspectives interesting with regard to the evolution of open 
source at Sun, the challenges currently 
faced, the surprises, and where it is all headed. 
What do you think?]]>

</content>
</entry>
<entry>
<title>Project Sonia, a Java-powered AUV at JavaOne 2007</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/05/project_sonia_a.html" />
<modified>2007-05-17T19:57:06Z</modified>
<issued>2007-05-17T19:56:59Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7440</id>
<created>2007-05-17T19:56:59Z</created>
<summary type="text/plain">Join me for a swim with SONIA, a Java-powered AUV
that made waves at JavaOne 2007.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[Would love it if you'd check out 
<a href="http://www.youtube.com/watch?v=XBr94l-Sa_4" target="_blank">YouTube</a> where, with a SONIA demo
in the background at JavaOne 2007, yours truly talks with David Mercier, an engineering student at 
Ecole de Technologie Supérieure (ETS) in Montreal, Quebec, Canada. David is technical 
lead of a team of more than 20 volunteer engineering students that created SONIA, a Java-powered 
autonomous underwater vehicle (AUV) that can autonomously pass through a gate, detect a flashing light, 
find and connect with a docking station, locate a pipe and drop material into a bin — all underwater and 
with no communication with the team. David's team has successfully demonstrated the power, versatility, 
and portability of Java technology by building AUVs that continuously rank among the top three in the world.

Have a look and let me know what you think. Thanks!]]>

</content>
</entry>
<entry>
<title>Looking Back at JavaOne 2007</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/05/looking_back_at.html" />
<modified>2007-05-17T19:46:48Z</modified>
<issued>2007-05-17T19:46:43Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7438</id>
<created>2007-05-17T19:46:43Z</created>
<summary type="text/plain">Another JavaOne under my belt. The event always seems to
go by so fast. Here&apos;s a run-down of what I remember most about it.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Looking back on JavaOne 2007</p>

<p>The 2007 JavaOne Conference is over. As always it’s a bit <br />
of a blur, but buried within the blur are nuggets of knowledge, or at <br />
least, moments of clarification where things fall into place. Since <br />
my focus was mostly on open source this time around that’s where <br />
I learned some things. </p>

<p>From Simon Phipps (TS-7498 Liberating Java) Sun’s chief Open <br />
Source officer (look for an article shortly after JavaOne <br />
Conference) I got a better grasp of the motivations and processes <br />
that drive open source. </p>

<p>* Open source developing is not so much about altruism or using <br />
free software so much as creating a work that brings value to the <br />
developer and sustaining it by leveraging the network of other <br />
developers in the community. It’s about avoiding regression testing <br />
hell. </p>

<p>* End users love open-source software because it gives them <br />
control. </p>

<p>* The Apache Software Foundation told Phipps that they looked at <br />
their 10-year history and have not seen a single example of <br />
someone forking an Apache code base and continuing the fork <br />
without contributing code back in the end. Everyone either gives <br />
up or gives back -- there is no third way.</p>

<p>Open Source Developers</p>

<p>The essence of open source software says Phipps: “Open source is <br />
not about using software you have got for free; it is about creating  <br />
a work that brings value to you and sustaining it by leveraging the <br />
network of other developers in the community. You are not <br />
abusing them; you are simply collaborating with them in co-<br />
maintaining and co-developing software you are working on. It’s <br />
about avoiding regression testing hell.”</p>

<p>According to Phipps, software always starts with a creative <br />
individual who will be creating a piece of software that will be <br />
meeting a particular need perhaps for a client or for their own <br />
business. They use that software to create a free source commons. </p>

<p>Then someone else looks at that software and realizes it’s a perfect <br />
starting point for their project. They modify it, fix a few bugs and <br />
solve their business problem. The new guy realizes that every <br />
change he makes has a life of its own and will need sustaining. As <br />
changes flow through from the commons each change he has made <br />
will need regression testing; as the code commons builds, every <br />
change he has made will need refactoring and maintaining within <br />
the context of a larger body of code. </p>

<p>As the code commons changes, new skills are required and he <br />
realizes he needs all of the skills in the community in order to <br />
maintain the improvements he’s made against the open source <br />
code commons. He realizes that that is a recipe for bankruptcy: <br />
forking a code commons leads to regression test hell. So instead of <br />
keeping these changes to himself, he is going to contribute them <br />
back not because he is an altruist or a philanthropist, but because <br />
he realizes the best way to produce great software is to contribute <br />
back. This is the key dynamic in the open source community. Open <br />
source is not about using software you have got for free; it is about <br />
creating  a work that brings value to you and sustaining it by <br />
leveraging the network of other developers in the community. You <br />
are not abusing them; you are simply collaborating with them in <br />
co-maintaining and co-developing software you are working on.</p>

<p>Why End Users Love Open Source -- Control</p>

<p>End users love open source software, not because they love to have <br />
6 million lines of extra source code – they love it is because they <br />
don’t have to buy a bundle any more. They don’t have to buy the <br />
glossy box with all the stuff in it. They don’t have to buy a <br />
software license and are told it comes with indemnity and <br />
installability and documentation and training and support. Then <br />
when they make a claim on any of those things, they find that <br />
many are illusory and require payment further down on the value <br />
chain. OS software lets end users decide what they are going to <br />
pay for. There will be some things that are critical to the business <br />
and are beyond the skills of the staff for which you will need to <br />
buy a service from a vendor. There are other things that are woven <br />
in the scope of the skilled staff you hire. You hire in to have the <br />
work done. There are some things of no value anyway and if the <br />
problem arises you will buy what you need. You can choose to <br />
take a risk on those expenses</p>

<p><br />
Why Open Source Won’t Fork the Java Platform</p>

<p>The Apache Software Foundation told Phipps that they looked at <br />
their 10 year history and have not seen a single example of <br />
someone forking an Apache code base and keeping going with the <br />
fork without contributing code back in the end. Everyone either <br />
gives up or gives back; there is no third way. And so the process <br />
continues with more and more people deploying and improving, <br />
developing the software, fixing bugs in it, and ultimately <br />
contributing to the community, not because they want to give away <br />
stuff, but because contributing back reduces their costs and allows <br />
them to leverage the network effects of the community. </p>

<p>This helps me understand why James Gosling and other Java <br />
luminaries say that they do not worry about open source leading to <br />
forks in the Java platform. And why Ray Gans, Manager of the <br />
OpenJDK Community for Java SE__ tells me that there is a <br />
consensus among the developers he knows that other developers <br />
do not want the platform to fork. </p>

<p>Question: Will – and Should – Open Source Developers be Paid by <br />
Sun?</p>

<p>Jonathan Schwartz and Rich Green addressed this at the <br />
CommunityOne keynote. </p>

<p>First Schwartz: “The folks who write the New York Times are their <br />
employees, but on the Web the market for user-generated content <br />
is growing. YouTube doesn’t employ any of the people who create <br />
the content that they distribute across the world. So there is a <br />
dichotomy between those who employ everyone who create their <br />
content, and those who employ no one. We look at that and say <br />
that it cannot be sustainable… At Sun we’ve gone from employing <br />
all the people who create the content that Sun delivers to the <br />
marketplace to a situation where open source developers make <br />
contributions. We can’t expect everyone to always do this from the <br />
benevolence of their hearts.”</p>

<p>Rich Green: “A lot of people are creating innovation that other <br />
organizations are benefiting from. I think this is unfair and <br />
unsustainable. It’s Robin Hood backwards. We are stealing from <br />
the poor and making other people rich and this seems very bad. <br />
Humans will not do this, nor should they have to. We have to look <br />
closely at working with those who contribute to the open source <br />
but whose contributions generate revenue for Sun and share that <br />
wealth. I’m sure we are going to do that.”</p>

<p>So if Sun financially incentivizes open source developers, how will <br />
that affect the community? We are in new territory. Sun is now the <br />
biggest open source company in the world. What happens next?...</p>

<p>Upbeat Stats</p>

<p>Let me close with some more upbeat stats not included in previous <br />
blogs:</p>

<p>2,100,000,000  Total Java enabled  Handsets ; new shipments: 976 <br />
M by end of CY07<br />
(Ovum, March 2007)</p>

<p>By the end of CY 2007, About 85% of all handsets shipping will <br />
be shipping Java <br />
(Ovum, March 2007)</p>

<p>2,500,000,000 total shipments of Java Cards </p>

<p>180 operators deploying Java-based content/services</p>

<p>4 Million Total Java-enabled Blu Ray devices</p>

<p>436,000,000  JRE downloads  </p>

<p>8,750,000 Total Java SDK downloads (SE, EE, ME)</p>

<p>6,300,000 Java SE JDK downloads </p>

<p>720,000 Java SE JDK downloads/month</p>

<p>7,270,000 Million downloads of Java EE from July 04 - May 07</p>

<p>2,500,000 GlassFish downloads (includes RI/GlassFish)</p>]]>

</content>
</entry>
<entry>
<title>JavaOne 2007 Countdown</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/05/javaone_2007_co.html" />
<modified>2007-05-04T19:38:27Z</modified>
<issued>2007-05-04T19:38:23Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7226</id>
<created>2007-05-04T19:38:23Z</created>
<summary type="text/plain">Various thoughts as this writer prepares for and gets jazzed about her 8th JavaOne conference and her first and THE first CommunityOne conference.</summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Just a few more days before the 2007 JavaOne commences and I’m definitely feeling a mix of anxiety (writing deadlines) and excitement (the event itself). This is the eighth JavaOne I’ve covered  -- does that make me a veteran? -- and it’s intriguing to reflect on how everything’s changed. Sun’s software culture is undergoing a sea change as it opens up to the larger open source communities. While this has been happening gradually over the last couple of years, JavaOne offers a time to take note of it.</p>

<p>This year we’ll have a .org pavilion with a host of community representatives from OpenJDK, GlassFish, Codehaus, Hyperic, Betavine, OpenLaszlo, Greenfoot, Woodstock, PostgreSQL, JavaDB, Apache Software Foundation, Free Software Foundation, Zimbra, Funambol and more scheduled to share code and ideas.  </p>

<p>And the first CommunityOne conference takes place the day before JavaOne with NetBeans software, OpenSolaris, GlassFish, OpenJDK, the Mobile & Embedded communities and all manner of startups and others present. </p>

<p>I sense an atmosphere of expectation, hope, and tentative adjustment as people reconfigure their roles and as Sun tries to get it right. Developers are concerned about licensing issues, the availability of implementations, and other matters. I’m somewhat  surprised at how few people seem concerned about forking; there appears to be consensus among developers that most folks want  one Java platform. </p>

<p>I’m told that Sun engineers who once worked exclusively with their teams are now encouraged to work with people outside of Sun and to actively listen to their ideas. Some people are learning to communicate more effectively and manage their time so that they can work with the community and still work on their code and <br />
assignments. It's a real cultural change and like everything technology-wise, it's happening so fast! </p>

<p>I’ll be covering CommunityOne, parts of which are more of an unconference than a conference, plus introducing this year’s Java Rock Stars and blogging all over the place about sessions and events on the floor.</p>

<p>I’ll close with a few fun stats that tell a story about how far we’ve come. Here goes:</p>

<p>6 Million  Java Developers Worldwide</p>

<p>6.5 Million Lines of Java SE code open sourced under GPL v2</p>

<p>5,000,000,000  Total Java enabled  Devices; 1.83 billion installed  CY 2007 to date</p>

<p>800 Million Total Java Desktops </p>

<p>7 Million Total Java enabled set-top boxes….</p>

<p>I could go on a lot longer and spend the rest of the day trying to comprehend the realities that these stats represent. More info is on the way, so stay tuned! </p>]]>

</content>
</entry>
<entry>
<title>The Bug Story</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/04/the_bug_story.html" />
<modified>2007-04-18T20:02:44Z</modified>
<issued>2007-04-18T19:59:08Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7085</id>
<created>2007-04-18T19:59:08Z</created>
<summary type="text/plain">Brian Harry, a.k.a. the &quot;bug guy,&quot; talks at length 
about bugs on java.sun.com </summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JavaDesktop</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>Brian Harry, a.k.a. the "bug guy," talks at length about bugs in a java.sun.com article by yours truly, <a href="http://java.sun.com/developer/technicalArticles/Interviews/community/harry_qa.html" target="_blank">Getting the Bugs Out: A Conversation With Bug Fixer Brian Harry</a>. Harry, winner of a <a href="http://www.sun.com/smi/Press/sunflash/2006-05/sunflash.20060515.2.xml" target="_blank">Duke's Choice Award</a>, fixed Java SE 6 bugs numbering into the hundreds. His method: he scanned Sun's openly available bug database for intriguing bugs, primarily in the Swing user interface code, printed them out, and put the bug reports on a stack beside his computer. Then, he fixed them one by one, submitting them through the standard JDK Community contribution process.<br />
 <br />
The interview gives the details:<br />
 <br />
* He points out that fixing bugs is a great way to understand<br />
 how the code works. To James Gosling's bug rule, “If you don't<br />
 see the bug where you're looking, perhaps you're looking in the<br />
 wrong place.” Brian adds: "The place where you find bugs may not<br />
 be the right place to put a fix in".<br />
 <br />
* His basic advice: “First, always acquire the test that’s attached<br />
 to the bug report... Next, ask yourself if it’s really a bug... Also, <br />
consider writing different solutions... As to writing unit tests, look <br />
at what the patched code interacts with.”<br />
 <br />
* Swing tip 1: "Try to be comprehensive in testing the patch with different <br />
LAFs (Look and Feels)."<br />
 <br />
* Swing tip 2: "Make sure that the test case is running on the EDT<br />
(event dispatch thread). If it isn't, you may not have a bug, but<br />
instead just have bad programming."<br />
 <br />
* "If you’re doing a Java code fix, don't just look at the current version of <br />
the platform. I’ve routinely tested out bug tests on 4, 5, and 6 to investigate <br />
when a problem started and stopped. See if you can find why something started."<br />
 <br />
IMHO, there's lots more of value. Have a look please and tell me what you think...</p>]]>

</content>
</entry>
<entry>
<title>Sun&apos;s Java compiler tech lead speaks out</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/04/suns_java_compi.html" />
<modified>2007-04-12T20:07:00Z</modified>
<issued>2007-04-12T20:06:43Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.7042</id>
<created>2007-04-12T20:06:43Z</created>
<summary type="text/plain">Peter von der Ahé, Sun&apos;s tech lead for javac, 
discusses the Kitchen Sink Language, the Java Compiler API, and new ways of 
thinking about generics, reification, type inference for local variables, etc. </summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: Java Tools</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[<p>An interview, <a href="http://java.sun.com/developer/Meet-Eng/vonderahe/"Meet the Engineer" " target="_blank">Meet Peter von der Ahé, Tech Lead for Javac at Sun Microsystems</a>, I did with Peter, Sun's tech lead for javac, discusses the <a href="https://ksl.dev.java.net/"target="_blank">Kitchen Sink Language</a>, the <a href="http://jcp.org/en/jsr/detail?id=199/" target="_blank">Java Compiler API</a>, and new ways of thinking about generics, reification, type inference for local variables, and lots more. If you want to experiment with javac, check out the Kitchen Sink Language.</p>

<p>Peter has a lot to say:</p>

<p>-- Learning to use the Java Compiler API (JSR 199) "will provide a lot of <br />
indirect benefits" to Java developers. Danny Coward commented: “For those <br />
of you deafened by your screaming inner geek, roll up your sleeves and give <br />
it a try."</p>

<p>-- Regarding generics: "Rather than trying to provide<br />
reified types for all instances, why not simply accept that some<br />
instances do not have reified type information, because they are<br />
compiled with a 1.4.2 compiler, or for other reasons? This turns reification <br />
into a best-effort problem: if you use a raw type, then no type information <br />
is reified, but if you avoid raw types, you can take advantage of the additional <br />
reified type information."</p>

<p>-- His proposal for an alternative to type inference for local variables <br />
involves having the compiler provide the static factories.</p>

<p>Hope this triggers some interest.</p>]]>

</content>
</entry>
<entry>
<title>Why Writing Dumb Code is a Smart Idea</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/hiheiss/archive/2007/03/why_writing_dum.html" />
<modified>2007-03-02T23:33:13Z</modified>
<issued>2007-03-02T23:33:08Z</issued>
<id>tag:weblogs.java.net,2007:/blog/hiheiss/185.6730</id>
<created>2007-03-02T23:33:08Z</created>
<summary type="text/plain">Sun technology evangelist Brian Goetz explains why writing dumb code is a smart idea. </summary>
<author>
<name>hiheiss</name>

<email>janice.heiss@sun.com</email>
</author>
<dc:subject>Community: JDK</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/hiheiss/">
<![CDATA[A new interview I did with Sun technology evangelist Brian Goetz, 
<a href="http://java.sun.com/developer/technicalArticles/Interviews/goetz_qa.html" target="_blank">"Writing Better Code: 
A Conversation With Sun Microsystems Technology Evangelist Brian Goetz"</a> 
explores several areas of his considerable expertise. He addresses 
concurrency issues; the problems Java developers have in identifying 
performance problems (think architecture, not coding); the importance 
of writing clean "dumb code" and trusting the JVM; the overuse of XML; 
the  problems C programmers have in learning Java programming; the 
distinctive improvements in J2SE 5.0 and Java SE 6; the myth of 
expensive object allocation; and the as yet unsung virtues of JSR 223 -- 
scripting integration.
 
He clearly thinks that Java developers, in some 
areas at least, have got it wrong. Anyone think he's got it wrong? ]]>

</content>
</entry>

</feed>