<?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>David Herron&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/" />
<modified>2008-05-02T20:14:43Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2008, robogeek</copyright>
<entry>
<title>OpenJDK Regression Test Harness, also known as jtreg, now available as open source</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/05/openjdk_regress.html" />
<modified>2008-05-02T20:14:43Z</modified>
<issued>2008-05-02T20:14:35Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9669</id>
<created>2008-05-02T20:14:35Z</created>
<summary type="text/plain">Go to openjdk.java.net and scroll your eyes down to the Tools section of the navigation bar. You will see a link that&apos;s been there a long time, jtreg harness. There is new stuff behind that link now available. Today we...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>Go to <a href="http://openjdk.java.net/">openjdk.java.net</a> and scroll your eyes down to the <i>Tools</i> section of the navigation bar.  You will see a link that's been there a long time, <a href="http://openjdk.java.net/jtreg/index.html">jtreg harness</a>.  There is new stuff behind that link now available.  Today we have made this harness open source under the GPL+Classpath license combo.  (<a href="http://blogs.sun.com/jjg/entry/jtreg_4_open_source">Jonathan Gibbons' announcement</a>)</p>

<p>The OpenJDK Regression Test Harness, also known as jtreg, is the test harness used in the OpenJDK for running unit and regression tests.  Jtreg is a wrapper around <a href="https://jtharness.dev.java.net/">JT Harness</a> which simplifies its use.  Documentation is on the <a href="http://openjdk.java.net/jtreg/index.html">jtreg harness</a> home page.</p>

<p>How is this important?  Previously jtreg had been available under the most liberal closed source binary license you could imagine.  The license said you can do essentially anything you want with the binary jtreg distribution.  No matter how liberal that binary license, it interfered with the ability of some Linux distros to make use of the unit and regression tests.  I wish to thank the project members of these Linux distros for explaining the importance and distinction between the most liberal binary license you can imagine and a proper open source license.  Once I groked the distinction it deepened my understanding of the open source culture.</p>

<p>In the end what is important is that OpenJDK builds are as high quality as possible.  Enabling the distro's to run the unit and regression tests help them have comfort in knowing the tests passed.</p>]]>

</content>
</entry>
<entry>
<title>Open media and open screens</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/05/open_media_and.html" />
<modified>2008-05-01T19:40:23Z</modified>
<issued>2008-05-01T19:39:55Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9656</id>
<created>2008-05-01T19:39:55Z</created>
<summary type="text/plain">On an earlier blog posting a commenter asked: &quot;I would like to know how to use the VLC media player stack as the media handler for OpenJDK..&quot; so, yeah, I hear you, there are many asking for better media support...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>On an <a href="http://weblogs.java.net/blog/robogeek/archive/2008/04/on_hacking_the.html#comments">earlier blog posting</a> a commenter asked:  "<i>I would like to know how to use the VLC media player stack as the media handler for OpenJDK..</i>" so, yeah, I hear you, there are many asking for better media support in the Java platform.  It's with interest that I read Adobe's <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200804/050108AdobeOSP.html">announcement</a> today of the <a href="http://www.adobe.com/openscreenproject/">Open Screen Project</a>.  Hey, cool, if you dig around there are documents describing the byte level details of the SWF and FLV and F4V formats.  I feel as <a href="http://epistemologicalengineering.blogspot.com/2008/05/swf-spec-is-now-less-restrictive.html">Nick Main does in 'SWF Spec is now less restrictive !'</a>  I've also thought it would be great to have a SWF player implemented in Java and using the newest graphics improvements in the latest JRE's.  And, hey, the documents are right there that says in details what the SWF/FLV/etc formats are, especially as they are saying "<i>removing restrictions on use of the SWF and FLV/F4V specifications</i>".</p>

<p>We should be clear, however, that this appears not to be an open source announcement despite Adobe's use of the word 'Open'.  Not being a lawyer the following is my best understanding - the documents are under a restrictive license that allows you to print the document once, and you cannot redistribute those documents.  So the specification is openly published, as they say, but not open source.  I couldn't find any software source code, FWIW.</p>]]>

</content>
</entry>
<entry>
<title>Java 6 for OS X</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/java_6_for_os_x.html" />
<modified>2008-04-29T23:44:53Z</modified>
<issued>2008-04-29T23:43:45Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9637</id>
<created>2008-04-29T23:43:45Z</created>
<summary type="text/plain">It&apos;s been how long? Thank you Apple for getting this out! Anyway, Java for Mac OS X 10.5 Update 1: This Java for Mac OS X 10.5 Update 1 adds Java SE 6 version 1.6.0_05 to your Mac. This update...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@Sun.COM</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/robogeek/">
<![CDATA[<p>It's been how long?  Thank you Apple for getting this out!  Anyway, <a href="http://www.apple.com/support/downloads/javaformacosx105update1.html">Java for Mac OS X 10.5 Update 1: This Java for Mac OS X 10.5 Update 1 adds Java SE 6 version 1.6.0_05 to your Mac. This update does not replace the existing installation of J2SE 5.0 or change the default version of Java.</a></p>

<p>Oh, and, 13949712720901ForOSX </p>]]>

</content>
</entry>
<entry>
<title>On hacking the OpenJDK</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/on_hacking_the.html" />
<modified>2008-04-29T01:28:21Z</modified>
<issued>2008-04-29T01:28:14Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9624</id>
<created>2008-04-29T01:28:14Z</created>
<summary type="text/plain"> I&apos;m giving a session at JavaOne this year titled &quot;Hacking the OpenJDK&quot; and it&apos;s been very interesting sitting with this topic these last few months. Much of the presentation is an overview of the developer guide, source repositories and...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p><a href="http://java.sun.com/javaone"><img src="http://java.sun.com/javaone/images/2008/170x93_Speaker_v4.gif"></a></p>

<p>I'm giving a session at JavaOne this year titled "<i>Hacking the OpenJDK</i>" and it's been very interesting sitting with this topic these last few months.  Much of the presentation is an overview of the developer guide, source repositories and other infrastructure on <a href="http://openjdk.java.net/">openjdk.java.net</a> which anybody 'hacking' the OpenJDK will need to get started.  All that is pretty straightforward and obvious what to cover and how to present it.  What's been interesting is what might be some common hacking scenarios with the OpenJDK code.  </p>

<p>My co-presenter is the one preparing the demos, and while we have some interesting demos lined up he wanted to know if y'all had any thoughts on "hacks" you'd like to see.  The comment box below is available for y'all to leave us ideas.  And please remember that we have 50 minutes for the session, 30 minutes will be taken with me talking through the OpenJDK project overview, leaving 20 minutes for demos and questions.</p>

<p>The most interesting and most controversial idea in the session is: how to remove CORBA.  I thought it's obvious, the most common change people want in the Java platform is to ditch CORBA.  That is, unless you're one of the two people who actually use CORBA, I suppose.  Feedback from colleagues was a "<i>are you sure it's our party line to suggest making incompatible changes</i>?"  While that's a fair criticism I a) wanted to make it clear the OpenJDK is an open source project and any change is fair game, and b) that some changes create incompatibilities and that there is value in maintaining compatibility with the platform spec.  In any case it's not too hard to hack the OpenJDK to remove CORBA, but I'll leave the details until my session at JavaOne.</p>

<p>The session ID is: TS-5230 </p>]]>

</content>
</entry>
<entry>
<title>Interplanetary migrations</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/interplanetary.html" />
<modified>2008-04-25T18:13:12Z</modified>
<issued>2008-04-25T18:13:01Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9609</id>
<created>2008-04-25T18:13:01Z</created>
<summary type="text/plain">I&apos;ve been subscribed to Planet Classpath and Planet JDK for a couple years. This blog has been aggregated into Planet JDK for a long time, and Planet Classpath was always a &quot;them&quot; aggregation. But, yeah, as Mark Reinhold says, we&apos;ve...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>I've been subscribed to <a href="http://planet.classpath.org/">Planet Classpath</a> and <a href="http://planetjdk.org/">Planet JDK</a> for a couple years.  This blog has been aggregated into Planet JDK for a long time, and Planet Classpath was always a "them" aggregation.  But, yeah, <a href="http://blogs.sun.com/mr/entry/when_planets_collide">as Mark Reinhold says, we've been working closely together</a> for awhile and as <a href="http://gnu.wildebeest.org/diary/2008/04/25/what-planet-are-you-from/">Mark Wielaard said we now have an <a href="http://robilad.livejournal.com/30463.html">ambassador from Planet Classpath</a> in the Planet JDK team.  As odd as it is to see my blog being aggregated into Planet Classpath, I welcome this change.  May it lead to greater harmony in the movement to Free Java.</p>

<p>Maybe all the Doctor Who episodes I've been watching recently has something to do with this interplanetary exchange.  </p>]]>

</content>
</entry>
<entry>
<title>OpenJDK 6, tastes great, less filling!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/openjdk_6_taste.html" />
<modified>2008-04-25T02:04:43Z</modified>
<issued>2008-04-25T01:51:47Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9602</id>
<created>2008-04-25T01:51:47Z</created>
<summary type="text/plain">It seems the java world is in a bit of an uproar right now with a bit of news which I&apos;ve seen blogged and newsed about in several places. First, Ubuntu Hardy Heron (8.04; not &apos;Hardy Herron&apos; as some have...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>It seems the java world is in a bit of an uproar right now with a bit of news which I've seen blogged and newsed about in several places.  First, <a href="http://www.ubuntu.com/news/ubuntu-8.04-lts-desktop">Ubuntu Hardy Heron (8.04; not 'Hardy Herron' as some have been spelling it, sigh) was released this morning</a>, and it <a href="http://blogs.sun.com/mr/entry/in_hardy_heron">does include the OpenJDK</a>.  This is part of a larger effort to have several of Sun's products integrated with Ubuntu, and <a href="http://blogs.sun.com/roumen/entry/java_and_netbeans_on_ubuntu">Roman Stroble wrote about it in 'Java and NetBeans on Ubuntu 8.04'</a>.  It's really cool to see it there.  Even though we've now had <a href="https://jdk-distros.dev.java.net">DLJ derived bundles in Ubuntu's Multiverse for 2 yrs now</a> having real honest to goodness open source derived builds is so much better, and is a nice result to get to after the last two years of work since the initial announcement at JavaOne 2006.  The goodness doesn't stop there as <a href="http://gnu.wildebeest.org/diary/2008/04/20/fedora-9-preview/">Fedora is still planning to include OpenJDK derived builds in Fedora 9</a>.  And there are some hints other distros are beginning work on OpenJDK builds.  Perhaps it will be a <a href="http://cgwalters.livejournal.com/14310.html">tsunami</a> as cgwalters suggested?  I just think that with the opportunity now for any open source operating system to pick up the OpenJDK, that Java has a bright future in the open source world.</p>

<p>"??Less Filling??" .. that's modern flotsom that popped into mind as I thought about the encumbrance issues.  We are on the cusp of having the binary encumbrances cleared.  While the OpenJDK represented a huge chunk of open source code, it was only 95% open source.  The remaining bits coming from source we hadn't been able to open source.  In the months since we've been working on replacement code or on gaining the rights sufficient to open source those encumbered pieces.  And the last of those is on the verge of being resolved.  </p>]]>

</content>
</entry>
<entry>
<title>6u10beta is available.. please test it..!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/6u10beta_is_ava.html" />
<modified>2008-04-17T00:52:29Z</modified>
<issued>2008-04-17T00:52:18Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9554</id>
<created>2008-04-17T00:52:18Z</created>
<summary type="text/plain">Recently we made Java SE 6 update 10 available for beta testing. Beta testing is a period in product release cycles where testing is taken to people outside the product team, and those &quot;external&quot; testers bang on it with their...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>Recently we made <a href="http://java.sun.com/javase/downloads/ea/6u10/6u10beta.jsp">Java SE 6 update 10 available for beta testing</a>.  Beta testing is a period in product release cycles where testing is taken to people outside the product team, and those "external" testers bang on it with their applications and let the product team know what's wrong (or not).</p>

<p>There is a lot of exciting stuff in 6u10 (formerly known as 6uN) .. there is a lot more here than the typical update release.  Unlike most update releases where the work is limited to critical fixes, for 6u10 the changes are pretty dramatic, will be affecting a lot of things, which leaves us wanting to hear about regressions or other kinds of bugs we may have created along the path of getting to 6u10.</p>

<p>(um.. before the wags get ahold of what I just wrote -- any time you write new code it's common to write some bugs as well)</p>

<p>Let's go over some of the new features:-</p>

<p><a href="http://java.sun.com/javase/downloads/ea/6u10/deploymentToolkit.jsp">Java Deployment Toolkit</a>:- hooboy the description is pretty hairy but says a few interesting things.  "<i>allows developers to easily deploy applets and applications to a large variety of clients with JavaScripts.... makes it possible to automatically install Java Platform for Java Plug-in applets and Java Web Start applications. The script exposes a single object, named deployJava</i>" and the deplyJava object has a buncha useful functions to reduce the complexity of deploying an applet across multiple browsers.</p>

<p>The Java Kernel (<a href="https://jdk6.dev.java.net/6u10faq.html">FAQ</a>) makes for a tiny Java platform which can be more quickly downloaded & installed while still allowing the full Java SE platform to be available, requiring downloads of missing pieces as required.</p>

<p>The <a href="http://java.sun.com/javase/downloads/ea/6u10/plugin2/index.jsp">next generation Java plugin</a> looks really cool and ought to drastically improve applet and javawebstart functionality and behavior.  It is a ground-up reimplementation of the venerable plugin which uses a more intelligent architecture which immediately fixes several outstanding glaring bugs and problems.  I think that while in most cases incremental improvements and bug fixes are good, there are times where it's better to just start over from scratch and that this is one of those times.</p>

<p>The most critical part of 6u10 to test is this new plugin.  </p>

<p><br />
</p>]]>

</content>
</entry>
<entry>
<title>re: Into the light</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/04/re_into_the_lig.html" />
<modified>2008-04-08T23:15:55Z</modified>
<issued>2008-04-08T22:35:53Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9497</id>
<created>2008-04-08T22:35:53Z</created>
<summary type="text/plain">I think &apos;Into the light&apos; is the name of an album by Ian Anderson, who is also the a band that&apos;s too old to rock&apos;n&apos;roll and too young to die. Anyway it is also Dalibor&apos;s way of announcing something really...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>I think 'Into the light' is the name of an album by Ian Anderson, who is also the a band that's too old to rock'n'roll and too young to die.  Anyway it is also <a href="http://robilad.livejournal.com/30463.html?view=75775#t75775">Dalibor's way of announcing something really kewl</a>.  I am so tickled to have the opportunity to work with him more closely, so here's a few thoughts ..</p>

<p>In the pre-open source days .. the old days, back when we were arguing it wasn't necessary to open source the Java implementation .. to be honest I thought of Dalibor as a bit of a nuisance.  Always asking embarrassing questions and I also thought the name 'Dalibor' had to be one of these made up screen names, and always wondered what his real name was.  However over time we made our open source the Java implementation announcement.  That made his questions less embarrassing, and I grew to know Dalibor, I learned that's his real name and I learned that he is a really nice guy with what I think of as an amazing approach to manifesting his vision for the world.</p>

<p>Dalibor, welcome to the team.  I predict great fun.</p>]]>

</content>
</entry>
<entry>
<title>Duchesses, FOSDEM, International Womens Day, and diversity</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/03/duchesses_fosde.html" />
<modified>2008-03-07T19:42:28Z</modified>
<issued>2008-03-07T19:41:47Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9328</id>
<created>2008-03-07T19:41:47Z</created>
<summary type="text/plain">Has it already been two weeks since FOSDEM? Gosh. Anyway, I had a great time there and I will probably post another blog entry based on my recollections. I want to mention specifically one of the sessions, the presentation by...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p><img src="http://jduchess.org/wp-content/themes/clara/images/javaduchess3.png" align="right">Has it already been two weeks since FOSDEM?  Gosh.  Anyway, I had a great time there and I will probably post another blog entry based on my recollections.  I want to mention specifically one of the sessions, the presentation by the <a href="http://www.jduchess.org/">Duchesses</a>.  They made a very interesting presentation about under-representation and diversity.</p>

<p>Clearly women are under-represented in software development jobs.  What I did not know is that women are even more under-represented in open source software development.  This is a little surprising given that Free and Open Source Software (FOSS) stems from a yearning for freedom, but at the same time the FOSS community seems overly stereotyped to a male-dominated environment.  They claimed that only 3% of open source developers are female.  A bit of yahoogling turns up <a href="http://www.genderit.org/en/index.shtml?apc=---e--1&x=93204">We assume FOSS benefits all equally. But does it really?</a> and <a href="http://www.archive.org/details/onlinux_womeninopensource">Ontario Linux Fest 2007 - Women In Open Source, Angela Byron (2007)</a> and <a href="http://www.itmanagersjournal.com/feature/20990"> Opening doors to open source for women</a> and <a href="http://linuxchix.org/">linuxchix.org/</a> and <a href="http://women.debian.org/home/">Debian Women</a> and <a href="http://www.awid.org/go.php?stid=1580">Bridging the gender digital divide in FOSS</a> and <a href="http://lxer.com/module/newswire/view/45774/index.html">LXer Feature: Survival Tactics For Women In FOSS, part 1</a> ...etc...</p>

<p>Why is this important?  I think the clearest answer is one they gave -- diversity.  Diversity of experience should probably lead to better solutions than if the people involved have a narrow range of experience.  Diversity means having people of all kinds within an organization, of all races, genders, intelligence levels, interests, sexual orientations, etc.  </p>

<p>It's also kind of a strange situation -- there's nothing I can think of which makes men more suitable for software development than women.  It's not a matter of upper body strength nor who can pee standing up.  It's a matter of people possessing intelligence, the ability to conceptualize abstract thingymajobs, and describe those abstractions in software.  Of course women are capable of these things.  </p>

<p>This reminds me of a <a href="http://langel.wordpress.com/2007/09/28/xkcdcom-comic/">blog posting by Lillian Angel</a> last fall ... how are women supposed to feel comfortable entering this male dominated field knowing they'll just be hit on because they're the only woman in the room?  Lillian was sitting in the room and it was funny when Mark, the Classpath project leader, recounted how some Classpath project members just assumed Lillian was a guy.  Ah, shades of Neo meeting Trinity... ("<i>You're Trinity..<b>the</b> Trinity?  I always thought you were a guy... Most guys do</i>")</p>

<p>However there was an interesting angle to their presentation.  The statistics presented were about percentages of software developers in software projects.  However as in any endeavor there is more involved with creating a software project, whether it's FOSS or not, than just writing the software.  Some critical pieces to a successful software project is documentation, testing, quality, marketing, graphics, logos, etc.  Their claim is that while Women are under-represented in software development, they do tend to hold other jobs inside software org's like QA and documentation.  I am struggling over whether this is good or bad or just is what it is.  Yeah, that women tend to be under-represented in coding jobs is a concern and it would be great to even this out a bit, however in the bigger picture women <b>are</b> present in software development organizations.  I wondered listening to their talk if they carried an idea that coding jobs have higher prestige or importance to the resulting software than the other jobs.</p>

<p>In any case as tomorrow is <a href="http://www.internationalwomensday.com/">International Womens Day</a> I thought to assist making this issue more widely known.<br />
</p>]]>

</content>
</entry>
<entry>
<title>C U @ FOSDEM?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/02/c_u_fosdem.html" />
<modified>2008-02-19T23:30:05Z</modified>
<issued>2008-02-19T23:29:57Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9234</id>
<created>2008-02-19T23:29:57Z</created>
<summary type="text/plain"> It&apos;s that time of year again. The time when free java advocates migrate to Belgium to imbibe in talking. I will be there and mjw tells me he&apos;s going to make me talk about something. The thing I&apos;m pondering...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p><a href="http://www.fosdem.org/"><img src="http://www.fosdem.org/promo/going-to"></a> It's that time of year again.  The time when free java advocates migrate to Belgium to imbibe in talking.  I will be there and mjw tells me he's going to make me talk about something.</p>

<p>The thing I'm pondering the most right now is under which model we can collaborate about Quality in the OpenJDK.  The immediate issue is the OpenJDK 6 project, and clearly it is not (yet) beta quality and does not (yet) meet JCK6a conformance.  The quality is pretty good but there are some known bugs and it would be nice to fix these.  </p>

<p>There is:  Exchanging bug data up/down-stream .. test execution on OpenJDK, and sharing test results .. test development .. </p>

<p>At FOSDEM I hope to discuss these and other ideas ...</p>]]>

</content>
</entry>
<entry>
<title>The end of the beginning of OpenJDK6</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/02/the_end_of_the.html" />
<modified>2008-02-14T20:25:09Z</modified>
<issued>2008-02-14T20:21:47Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.9203</id>
<created>2008-02-14T20:21:47Z</created>
<summary type="text/plain">I heard Joe Darcy use this phrase .. it&apos;s the end of the beginning .. so, yeah, that&apos;s about right. &quot;The code is coming! The code is coming!&quot; -- &quot;The code is here!!&quot; is the official announcement of something we...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>I heard Joe Darcy use this phrase .. <i>it's the end of the beginning</i> .. so, yeah, that's about right.  <a href="http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-February/000004.html">"The code is coming! The code is coming!" -- "The code is here!!"</a> is the official announcement of something we have been working hard to achieve.  The source drop for <a href="http://openjdk.java.net/projects/jdk6/">OpenJDK 6</a> is now available.  See <a href="http://download.java.net/openjdk/jdk6/">http://download.java.net/openjdk/jdk6/</a></p>

<p>This is a very early release, there are bugs, and if you build from these sources they do not yet produce a compliant binary.  The latter is being worked on.</p>

<p>Another recent related and important bit of news is the clearing of a major encumbrance .. <a href="http://mail.openjdk.java.net/pipermail/2d-dev/2008-February/000136.html">[OpenJDK 2D-Dev] imaging and color classes binary plugs no longer needed (soon)</a> discusses how we've recently gotten the rights necessary to relicense under the GPL the source for some classes critical to image and graphics rendering.  The code is not yet in the OpenJDK6 release, we expect to get it there soon.</p>

<p>This 'end' is just the beginning of a new phase, because there is more work ahead in this.  We have made an important step, but we are on a journey and this is only one of the steps along this path.</p>

<p><code><br />
(11:09:40 AM) mr: http://mail.openjdk.java.net/pipermail/announce/2008-February/000056.html<br />
...<br />
(12:23:11 PM) rkennke: roman@mercury:~/src/openjdk6/control/make$ ../build/linux-i586/bin/java -cp ~/src/test HelloWorld<br />
(12:23:11 PM) rkennke: Hello World<br />
(12:23:18 PM) rkennke: hurray!<br />
</code></p>]]>

</content>
</entry>
<entry>
<title>JSON versus XML</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/01/json_versus_xml.html" />
<modified>2008-01-14T19:16:09Z</modified>
<issued>2008-01-14T19:16:03Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.8986</id>
<created>2008-01-14T19:16:03Z</created>
<summary type="text/plain">Is JSON better than XML? is an interesting read. JSON is the new kid for portable data transfer and while JSON derives from Javascript there is JSON parser support in other languages. The posting goes over pro&apos;s and con&apos;s of...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p><a href="http://www.nczonline.net/archive/2008/1/534">Is JSON better than XML?</a> is an interesting read.  JSON is the new kid for portable data transfer and while JSON derives from Javascript there is JSON parser support in other languages.  The posting goes over pro's and con's of using JSON or XML.  It appears in this analysis that the big primo advantage of JSON is that browsers have an easier time using it, since XML support on browsers is "spotty" and XML support anywhere means using the DOM model which is a bit klunky.  However XML has some glaring advantages what with XPath and XSLT offering powerful ways to sift through XML datasets and transform them to other formats.</p>

<p>Suggests to me a model of using XML for server-server interchange, and then using XSLT to transform it to JSON when squirting data to a browser.</p>

<p>But then he gets to security.  JSON relies on using eval() to run javascript commands and that squirts out a javascript object.  Um.. that looks like a gaping security problem because that JSON could contain anything and a nefarious website operator (phishing anyone?) could wreak havoc.  Maybe.</p>

<p>He does claim that XML data is secure because <i>There is never a possibility that parsing XML data will result in code being executed.</i> ... uh, gee, I have been looking at SVG files recently and the W3C official SVG test suite contains SVG files that use Javascript to do animation.  It appears to me that in some instances XML files do contain executable code.  </p>]]>

</content>
</entry>
<entry>
<title>Freeze Java?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2008/01/freeze_java.html" />
<modified>2008-01-10T20:31:19Z</modified>
<issued>2008-01-10T20:31:12Z</issued>
<id>tag:weblogs.java.net,2008:/blog/robogeek/270.8969</id>
<created>2008-01-10T20:31:12Z</created>
<summary type="text/plain">The latest Javaposse podcast (Java Posse #158 - Newscast for Jan 9th 2008) is out and has some interesting discussion of a question posed by Bruce Eckel (Java: Evolutionary Dead End). Bruce&apos;s title is a little misleading because he&apos;s not...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>The latest <a href="http://javaposse.com/index.php?post_id=295209">Javaposse podcast (Java Posse #158 - Newscast for Jan 9th 2008)</a> is out and has some interesting discussion of a question posed by Bruce Eckel (<a href="http://www.artima.com/weblogs/viewpost.jsp?thread=221903">Java: Evolutionary Dead End</a>).  Bruce's title is a little misleading because he's not claiming Java is Dead.. but that some things have been done to the Java language to add unnecessary featuritis some of which are evolutionary dead ends.  The suggestion is to freeze the Java language ... and to do language experimentation using other languages that run on top of the JVM.</p>

<p>I'm generally agreeable with this.. I think the moves we've made to make for stronger support of other languages on the JVM is brilliant.  I think the important thing is the platform, and really the virtual machine and the ecosystem of existing libraries that run on this platform.  That fabled 'network effect' is helping us here.</p>

<p>But 'freeze' the Java language?  Hmm.. unsure about that.  The language changes which have been made have a poor history of causing adoption problems.  But I think it's quite possible to add features to a language where they slide in and feel like a natural part of the langauge.  I don't think, as Bruce suggests, that the only time to do language design is at the very beginning of a new language.  I do think the early years of a language is critical to forming the language, but that to freeze any changes later may be a mistake.  In general I think that frozen things, things which cannot change, are in an inevitable death spiral and that 'life' always means the ability to change and grow.</p>

<p>A couple thoughts I have are:-</p>

<p>Other languages running on the JVM ought to do a good job of integrating with existing Java classes.. the big value of the Java ecosystem is the existing stuff, and that's the big value the JVM offers to a language designer.</p>

<p>Changes to the Java language could be coupled with tools that help to convert source code to the new language features.  This could especially make use of the compiler API that is now available and/or the jackpot tooling that is now in Netbeans.  I think one of the issues making previous language changes difficult is the existing body of source code, and that if tools existed which robustly and simply made code changes then the migration ought to be easier.</p>

<p>Bruce made an interesting point about compatibility -- as a former member of the CCC team here inside Java SE engineering, I had a few years experience reviewing and approving platform changes.  So, heck, compatibility when taken to the extreme we've taken it is really a double edged thingymajob isn't it?  It provides some of the value to the Java ecosystem, that theoretically (absent bugs) you can take Java class files compiled in the stone age and still run them today.  But it also provides resistance to fixing bugs or adding features, in some cases.  This kind of compatibility may well be a heavy weight that over time interferes with the necessary change required to keep the Java ecosystem a living and breathing entity.  </p>

<p>But this compatibility requirement goes beyond the language.  It includes the runtime libraries of the core classes (java.* and javax.*) and behavior and signatures of the classes and methods therein.  Even other languages running on the JVM are affected by binary compatibility requirements.</p>

<p>Hurm.. it occurs to me off the top of my head that a conversion tool could help here as well.  Say for Java 8 the goal were to remove all deprecated methods and a few other changes.  It could be declared that class file version n corresponds with that change.  The JVM could then recognize "oh that's an old class file" and do something automatic like pull in a compatibility library, or do byte code transformations that changes the class files before execution, etc.</p>

<p>In any case the core thing I want to say is one general principle I understand is that things which cannot change are in a death pattern, and things which can change are in a living pattern.  Which tells me that to suggest freezing a thing (the Java language) means to say this thing (the Java language) needs to die.<br />
</p>]]>

</content>
</entry>
<entry>
<title>The Java programmer is without property</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2007/12/the_java_progra.html" />
<modified>2007-12-21T21:22:56Z</modified>
<issued>2007-12-21T21:22:47Z</issued>
<id>tag:weblogs.java.net,2007:/blog/robogeek/270.8883</id>
<created>2007-12-21T21:22:47Z</created>
<summary type="text/plain">Todays Editors daily blog references Properties Get No Respect .. and something clicked in my mind and communism started running through my mind. Property is highly valued by the ruling class ... something like: The bourgeoisie keeps more and more...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>Todays <a href="http://weblogs.java.net/blog/editors/archives/2007/12/times_like_thes.html">Editors daily blog</a> references <a href="http://weblogs.java.net/blog/cayhorstmann/archive/2007/12/properties_get_1.html">Properties Get No Respect</a> .. and something clicked in my mind and communism started running through my mind.  Property is highly valued by the ruling class ... something like:  <a href="http://www.anu.edu.au/polsci/marx/classics/manifesto.html">The bourgeoisie keeps more and more doing away with the scattered state of the population, of the means of production, and of property. It has agglomerated population, centralized the means of production, and has concentrated property in a few hands. The necessary consequence of this was political centralization. Independent, or but loosely connected provinces, with separate interests, laws, governments, and systems of taxation, became lumped together into one nation, with one government, one code of laws, one national class interest, one frontier, and one customs tariff.</a></p>

<p>So maybe this is a brain fart.. </p>

<p>I think the analogy might be that if Java-the-language doesn't support 'properties' then the only ones who can code in a property-like fashion are those programmers witty enough to implement the property-like features themselves.  Those programmers could be analogized to be the 'bourgoisie' of marx's philosophy, and that there is a conspiracy preventing the proletariat from enjoying property in Java-land.</p>

<p>Or something like that... or it could be a brain fart on the last day before christmas break.</p>

<p><code>button.text = "Click me"</code> as syntactic sugar for <code>button.setText("Click me!")</code> seems like a small improvement but it would set the stage for larger capabilities.  <a href="http://javaposse.com">Joe Nuxoll has talked about this at length in javaposse podcasts, especially regarding component-oriented programming</a>.  You can browse <a href="http://oslo.cs.sjsu.edu:8080/xwiki/bin/view/JavaProperties/">all the proposals on one wiki site</a> and even vote on them.</p>

<p>Myself I find it tedious to continually write the boilerplate .. </p>

<p><code><br />
private String name;<br />
 /**<br />
  * Gets the name of this widget<br />
  * @return the name of this widget<br />
  */<br />
 public String getName() { return name; }<br />
 /**<br />
  * Sets the name of this widget<br />
  * @param name the new name of this widget<br />
  */<br />
 public void setName(String name) { this.name = name; }<br />
</code></p>

<p>This kind of thing seems like prime territory for syntactic sugar.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Should &apos;Java&apos; stay &apos;Java&apos;?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/robogeek/archive/2007/12/should_java_sta.html" />
<modified>2007-12-17T21:14:45Z</modified>
<issued>2007-12-17T21:14:37Z</issued>
<id>tag:weblogs.java.net,2007:/blog/robogeek/270.8851</id>
<created>2007-12-17T21:14:37Z</created>
<summary type="text/plain">I&apos;ve got a few minutes before heading off to a meeting, and see a few blog postings on approximately the same topic. Should Java (the language) strive to be the perfect be-all-end-all language? Or should it simply strive to be...</summary>
<author>
<name>robogeek</name>

<email>David.Herron@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/robogeek/">
<![CDATA[<p>I've got a few minutes before heading off to a meeting, and see a few blog postings on approximately the same topic.  Should Java (the language) strive to be the perfect be-all-end-all language?  Or should it simply strive to be good enough?</p>

<p>On the <a href="http://openjdk.java.net/irc/">#openjdk IRC channel</a> one day last week we had an impromptu debate along these lines.  One or more people were claiming Java (the language) sucks, that it should have several different uber-features, and basically that since it's not Haskell or some such it's a complete failure.  As a language, that is.  </p>

<p>Java the platform, Java the runtime environment, that is clearly one of the most successful cross platform runtime systems of all times.  Cross-platform runtime systems have a long history, and my earliest knowledge of them is with Forth and with the UCSD p-System Pascal (which I ran, not on an AppleII but on a Terak PDP-11).  Java the platform is near-ubiquitous, offers ever-increasing capabilities and performance, supports dozens of different programming languages, and does a great (not perfect) job of behaving well across platform.  </p>

<p><a href="http://www.saager.org/2007/12/16/java-should-stay-java.html"> 	<br />
Java should stay Java (?|!)</a>: Draws an interesting distinction between the uberprogrammers ("übergeeks that think in monads") and the rest of us.  Tim Bray in <a href="http://www.tbray.org/ongoing/When/200x/2007/12/16/On-Closures">On Closures</a> draws a similar distinction.  "<i>My argument is simple: Java worked so well because it hit the 80/20 point; for my money one of the loudest, cleanest 80/20 technology victories ever. Subsequent attempts to fill in the 20% were, well, mostly harmless. Until generics, which are a disaster; they have made Java harder to learn and to understand, and you can’t avoid them.</i>"</p>

<p>I am very much in agreement with the points raised by these two.  I can't help but remember Beta-versus-VHS being on the losing end by having bought the superior Beta VCR.  This is my example of how the 'Best' is not necessarily 'Best'.  </p>

<p>Just because some particular language has wonderful ubergeek features, does that make it 'Best'?  There was a distinction Graham Hamilton promoted to the Java SE -- that there are a lot more average programmers than there are ubergeek programmers.  If this thing we call Java were to be targeted only to the ubergeek programmers it would limit the potential audience for Java.  Now, why is that important to anybody but Sun?  Clearly this is important to Sun because the more Java appeals to a broad spectrum of developers the bigger a market we have to sell services into.  However to the rest of y'all, this is also important because the bigger the Java market is the more work there is for Java programmers.  It serves everybody if the Java market were to be as large as possible.</p>

<p>The nice thing about the Java ecosystem architecture is that it supports multiple languages.  One can have a range of languages for the average programmer, and one can have language(s) for the ubergeeks, and through the magic of the underlying platform they can work together.</p>

<p>A practical example ... there are <a href="http://scripting.dev.java.net/">a couple ways to run PHP programs</a> on top of the Java platform.  This offers you an opportunity to hire PHP programmers to do the front end of a web application, while the business logic and enterprise scalability is written as Java services somewhere in the back.</p>

<p>So.. back to the debate of 'Should Java stay Java'... I don't have the technical background to properly evaluate the different Closure proposals.  I have recently learned Groovy and like the way Closures are implemented there, and that's about as far as my preferences go.</p>

<p>But ... I think there's a distinction to be drawn here between Java-the-Language and Java-the-Platform.  This distinction is, I think, sometimes lost on people.  <br />
</p>]]>

</content>
</entry>

</feed>