<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>[digital:meditation] &#187; netbeans</title>
	<atom:link href="http://dm.zimmer428.net/category/netbeans/feed/" rel="self" type="application/rss+xml" />
	<link>http://dm.zimmer428.net</link>
	<description>...</description>
	<lastBuildDate>Tue, 10 Aug 2010 19:11:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java EE &#8220;bulk update&#8221;: NetBeans 6.8, Glassfish V3, Java EE 6</title>
		<link>http://dm.zimmer428.net/2009/12/java-ee-bulk-update-netbeans-6-8-glassfish-v3-java-ee-6/</link>
		<comments>http://dm.zimmer428.net/2009/12/java-ee-bulk-update-netbeans-6-8-glassfish-v3-java-ee-6/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 20:26:18 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/?p=604</guid>
		<description><![CDATA[&#8220;Get Tomorrow Today&#8221; is what, these days, one can read while visiting the NetBeans web site. Well. Indeed. Today, a major update of Suns Java (Enterprise) environment for development, deployment, runtime has been released:

First of all, NetBeans IDE has bumped up its version number to 6.8, including (not too much of a surprise, I guess&#8230;) [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Get Tomorrow Today&#8221; is what, these days, one can read while visiting the <a href="http://www.netbeans.org">NetBeans</a> web site. Well. Indeed. Today, a <a href="http://www.sun.com/featured-articles/2009-1210/feature/index.jsp">major update</a> of Suns Java (Enterprise) environment for development, deployment, runtime has been released:</p>
<ul>
<li>First of all, <a href="http://netbeans.org/community/news/show/1449.html">NetBeans IDE</a> has bumped up its version number to 6.8, including (not too much of a surprise, I guess&#8230;) seamless and production-ready support for Java EE 6 and Glassfish v3, along with improved or newly added toolings and plugins for <a href="http://maven.apache.org">maven2</a> (very impressive), Project Kenai, JavaFX, PHP and a whole bunch of other technologies. Adding to that, asides &#8220;just&#8221; being another multi-language/-technology IDE, NetBeans RCP also is likely to <a href="http://blogs.sun.com/jpblog/entry/netbeans_6_8_and_the">get more support as an RC platform</a>, which surely is a good thing.</li>
<li>Then, <a href="http://java.sun.com/javaee/technologies/javaee6.jsp">Java Enterprise Edition</a> is available in version 6 (JSR-316), aiming at making Java EE development more slim, more easy and, thanks to the newly added &#8220;profiles&#8221;, more adaptable to given use cases than ever before. Along with this, there are a bunch of improvements in technologies such as Java Servlets (3.0), EJB (3.1), persistence (JPA 2.0), JCA and, especially notable from my point of view, support for RESTful web services (JAX-RS 1.1).</li>
<li>Finally, in addition to that, along with Java EE 6 comes <a href="http://www.sun.com/software/products/glassfishv3/">Glassfish v3</a> as <a href="http://blogs.sun.com/theaquarium/entry/glassfish_v3_is_now_available">its reference implementation and the &#8220;open source&#8221; platform</a> Suns Java System Application Server is based upon. Along with (obvious) support for all the Java EE technologies, just the last couple of weeks <a href="http://blogs.sun.com/judy/entry/meet_glassfish_v3_fishcat_team">I experienced during FishCAT</a> that GFv3 is a pretty good platform, providing all the strengths so far provided by its predecessors, yet being updated to reflect the changes in Java EE 6 and also providing hosting for in example JRuby applications out of the box. Adding to that, <a href="http://www.adam-bien.com/roller/abien/entry/glassfish_v3_the_killer_java">Adam has a more in-depth list</a> of goodnesses that come with GFv3.</li>
</ul>
<p>So, overally, a lot of great technologies and tools to play (or eventually work :) ) with, but also a moment of thought: Maybe not for NetBeans, but I am pretty sure at the very least for Java EE and maybe Glassfish, this could be the last release made by Sun as an independent business entity, the last releases related to these technology before Sun gets acquired by / gets merged with Oracle, leaving their products end up in the ever-growing Oracle product and services portfolio, some driven forth maybe more enthusiastically, others maybe left out in the cold and eventually discontinued. No matter how, I guess the next year might be crucial to all of these technologies: It will show how Java EE 6 can come up against or side-by-side with latest and upcoming <a href="http://www.springframework.org">Spring releases</a>, with the whole <a href="http://www.osgi.org">OSGi</a> movement in general and, especially, the environment to be set up by <a href="http://www.eclipse.org/rt/">Eclipse RT project</a>. And it also will show what NetBeans, as an IDE, as a platform, as a community, can come up with to provide viable alternatives and approaches to a load of (unquestionably good) features provided by Eclipse ecosystem, like the whole <a href="http://www.eclipse.org/modeling/">Eclipse Modeling</a> toolbox or the upcoming <a href="http://dev.eclipse.org/blogs/yvesyang/category/declarative-ui/">XWT and declarative UI</a> technologies in e4. Or maybe (which eventually could be the best of all outcomes) it might show that there is a good reason for different alternatives existing to address different requirements and use cases. </p>
<p>And, overally, no matter how things will move on: At the moment, congratulations to all the engineers, writers, tech people behind these three releases! You did a rather great job again&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/12/java-ee-bulk-update-netbeans-6-8-glassfish-v3-java-ee-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eclipse+maven2: still a rough ride&#8230;</title>
		<link>http://dm.zimmer428.net/2009/11/eclipsemaven2-still-a-rough-ride/</link>
		<comments>http://dm.zimmer428.net/2009/11/eclipsemaven2-still-a-rough-ride/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 09:15:30 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/?p=593</guid>
		<description><![CDATA[Once you get back to trying&#8230; After using NetBeans IDE for the past couple of years mainly (even though not only) for its excellent support of projects based upon the maven2 build tool, right now I am into developing an Eclipse RAP based user interface, thus using (obviously) Eclipse IDE for this purpose. As running [...]]]></description>
			<content:encoded><![CDATA[<p>Once you get back to trying&#8230; After using <a href="http://www.netbeans.org">NetBeans IDE</a> for the past couple of years mainly (even though not only) for its excellent support of projects based upon the <a href="http://maven.apache.org">maven2</a> build tool, right now I am into developing an <a href="http://rap.eclipse.org">Eclipse RAP</a> based user interface, thus using (obviously) Eclipse IDE for this purpose. As running two IDEs in parallel has some drawbacks (the code you need always is in &#8220;the other tool&#8221;), I wanted to figure out whether, by now, it makes sense to use Eclipse altogether exclusively just for this project, thus being back to maven2 tooling again. Oh well, let&#8217;s see&#8230;</p>
<p><span id="more-593"></span></p>
<p><strong>First impressions</strong></p>
<p>Starting with the good things&#8230; By now, using <a href="http://m2eclipse.sonatype.org/">Sonatype m2eclipse</a>, Eclipse maven2 support has somewhat improved the last couple of years:</p>
<ul>
<li>Asides &#8220;Run as&#8221; -> &#8220;maven &#8230;&#8221;, Eclipse now seems to be able to build maven2 projects along with a straightforward workspace build / cleanup, which is really rather helpful (and actually something one would expect&#8230; :) ).</li>
<li>There now is a quite powerful editor for maven2 <code>pom.xml</code> files which, as I have to admit, in some situations even outperforms the tooling provided by NetBeans especially when it comes to displaying dependency graphs and dependency hierarchies. The various visual editor pages also help getting closer to the full maven2 feature set if you do not want to dive all too deep into the <code>pom.xml</code> syntax and/or are just learning&#8230;</li>
</ul>
<p>Likewise, there is a whole bunch of features how to &#8220;import&#8221; maven2 projects into Eclipse, also (as I think) partly due to the fact that Eclipse, unlike NetBeans, can&#8217;t simply &#8220;open&#8221; a maven2 project simply using <code>pom.xml</code> as the only piece of relevant information but rather requiring its custom configuration files in the project structure to be happy. So, I tried to import and get started with my maven2 projects&#8230; So far, this is an SVN trunk consisting of about 55 mvn2 jar/war/pom artifacts, which I was about to check out and import into Eclipse. </p>
<p><strong>Second impressions</strong></p>
<p>And this prove to be fun, for sure. First shot, most straightforward, using &#8220;Import&#8221; -> &#8220;Maven&#8221; -> &#8220;Check out Maven2 projects from SCM&#8221;. Browsed to the repository trunk, let it check out all the project, and they&#8217;re here&#8230; and they&#8217;re all red? Well. It seemed that, with checking them out of SVN, Eclipse did for each project assume to enable project specific Java Compiler settings, thus forcing them to be Java 1.4 compliant each (and ignoring what&#8217;s stated in <code>pom.xml</code> explicitely). Fine. Resolving this was work no less than manually changing this setting for each of the projects in question. Following this, at least some of the projects didn&#8217;t have problems anymore. The whole mess built until I eventually trashed one of the project. Well, no problem &#8211; delete it, check it out again &#8211; and see the main project failing to build?</p>
<p>It took a few moments to resolve what happened: My main project is a maven2 pom project containing modules like this:</p>
<p><code><br />
  &lt;modules&gt;<br />
     &lt;module&gt;../moduleA&lt;/module&gt;<br />
     &lt;module&gt;../moduleB&lt;/module&gt;<br />
     &lt;module&gt;../moduleC&lt;/module&gt;<br />
  &lt;/modules&gt;<br />
</code></p>
<p>and is referring to modules living in the same folder on the same level as this core / build pom. However, Eclipse maven2 tooling did check out all the projects initially to a folder like <code>workspace/maven.1259135232603</code>, thus having them all in one place. Deleting the project (not much of a surprise) removed it from this folder. Checking it out again, however, created a new folder in workspace (<code>workspace/maven.1259151842736</code>) and checked the project out to there. Well&#8230; I have no real understanding why this happens, and so I wouldn&#8217;t want to say it simply dumb, but at the very least in this situation it&#8217;s a behaviour highly undesirable, and I really would want to at least be capable of having this configurable. Yet, so far I fail doing so. Did, however, commit the changed projects to at least hope to have the Eclipse metadata relating to the Java Compiler settings stored along with the project.</p>
<p>Anyway, so let&#8217;s test another stragety: Eclipse also allows for importing existing maven2 projects, which basically just does create project related metadata in the workspace but keeps the project code wherever it is. So, manually checked out the SVN trunk to some arbitrary folder, used Eclipse to import things, saw my projects, did the same settings as above (setting Java Compiler to not be project specific&#8230; &#8211; so obviously they are kept elsewhere but in the actual project itself), built. Worked. Tried to commit the projects to SVN &#8211; to see that, this way, even though there are <code>.svn</code> metainformation in any of these project folders, Eclipse fails to recognize these projects as &#8220;versioned&#8221; so the only thing to be found in &#8220;Team&#8221; menu is the usual standard (&#8220;share projects&#8221; / &#8220;apply patch&#8221;). No way of reconnecting, no way of committing. Of h***. :/ So back to the initial approach, let&#8217;s just hope we don&#8217;t have to delete and checkout any project anew&#8230;</p>
<p>A few hours later, I am frustrated beyond belief as many features one simply takes as granted in NetBeans don&#8217;t seem to work in Eclipse:</p>
<ul>
<li>Even though some of the maven2 artifacts are war applications, Eclipse WTP obviously fails recognizing this out of the box, i.e. without fiddling with the project metadata, so all the code in <code>src/main/webapp</code> is just available via generic folder browsing and there is no real meaningful webapp tooling available to these projects.</li>
<li>Classpath detection seems somewhat broken: In many situations, maven2 projects (and Java classes inside) are marked as broken because classes can&#8217;t be found, yet running a maven2 build on these projects works flawlessly and the project also has the required dependencies at hand.</li>
<li>In some situations, even though I am not sure who&#8217;s to blame for that, projects checked out of SVN were listed as &#8220;unversioned&#8221; in the project explorer, yet the SVN metadata were there and trying to share them ended in a reconnect (no surprise).</li>
<li>In another peculiar situation, the <code>pom.xml</code> editor kept me from deleting a dependency &#8211; no matter how often I tried to cut the corresponding &lt;dependency&gt; section &#8211; it always got back inserted into things. Resolved this by deleting and checking out the project again, see above.</li>
<li>Having some projects that generate code off WSDL (JAX-WS) or XSD (JAXB) using corresponding maven2 plugins, it seems even though after adding the folder where the generated sources ended to the list of project source folders in Eclipse, the IDE seemed unable to actually find the generated classes on the classpath.</li>
<li>There seems to be a general problem in redundancy of Eclipse metadata vs. <code>pom.xml</code>, ending up in information (Java Compiler level, &#8220;Java Project Facet&#8221; level, &#8230;) being entered more than once where, actually, <code>pom.xml</code> itself should suffice&#8230; </li>
</ul>
<p>So here I am&#8230; my maven2 projects all in Eclipse, a bunch of them marked red, the whole mess building regardless of this but (obviously) code editing being somewhat difficult with not all classes correctly found on the classpath, and I know things feel somewhat non-deterministic. Maybe I have not completely understood how m2eclipse does a bunch of things. Maybe I&#8217;ll take a dive deeper to learn more about how it works, later&#8230; but now, and first off, I need to get work done, and by now I know the dissatisfactions arising from using two different IDEs are easier to address than the various troubles and issues arising from importing a complex maven2 project structure into Eclipse. Agreed, maybe most of my project structure could be set up more straightforward and &#8220;better&#8221;&#8230; but it works flawless in maven2 (which is at the core of it), and it works flawless in NetBeans maven2 tooling (which is on top of it), so it can&#8217;t be all that bad. And, in maven2, I just don&#8217;t want any more essential information (like Java Compiler version, &#8230;) placed anywhere but in the <code>pom.xml</code>, no matter which IDE in use&#8230; I&#8217;m off now to get all these <code>.project</code> files out of my SVN trunk&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/11/eclipsemaven2-still-a-rough-ride/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On community contributing documentation and the benefits of &#8220;intuitive use&#8221;</title>
		<link>http://dm.zimmer428.net/2009/07/on-community-contributing-documentation-and-the-benefits-of-intuitive-use/</link>
		<comments>http://dm.zimmer428.net/2009/07/on-community-contributing-documentation-and-the-benefits-of-intuitive-use/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 07:21:33 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[nbcd]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/?p=504</guid>
		<description><![CDATA[As some might know, I have been involved with the NetBeans Community Docs project for quite a while now. I have been using NetBeans IDE same way for quite a while, and I used to contribute a couple of documentation and articles on &#8220;interesting&#8221; topics to the NetBeans Community Docs project in the past. By [...]]]></description>
			<content:encoded><![CDATA[<p>As some might know, I have been involved with the <a href="http://wiki.netbeans.org/CommunityDocs">NetBeans Community Docs</a> project for quite a while now. I have been using <a href="http://www.netbeans.org">NetBeans IDE</a> same way for quite a while, and I used to contribute a couple of documentation and articles on &#8220;interesting&#8221; topics to the NetBeans Community Docs project in the past. By now, however, I can&#8217;t help feeling the project slowly loosing momentum, I have a couple of vague ideas why it is this way, and even less ideas what to do about that&#8230;</p>
<p><span id="more-504"></span></p>
<p><strong>Assumptions regarding community documentation&#8230; </strong></p>
<p>Initially, as one might expect reading the name, &#8220;NetBeans Community Docs&#8221; was a project initiated to collect any documentation (articles, FAQs, tutorials, &#8230;) provided by NetBeans users for the sake of helping other users. This, and I still and firmly believe so, is a good idea from various points of view:</p>
<ul>
<li>First and foremost, it is an easy way for <em>everyone</em> to contribute back to an open source project without being a developer or &#8220;code hacker&#8221;.</li>
<li>Then, of course, documentation provided by those who build a tool is rather different to documentation provided by those who <em>use</em> a tool; from that point of view the &#8220;community documentation&#8221; approach seems sane regarding the idea of gaining &#8220;user&#8221; documentation of actual use to someone as it addresses the way a potential user would see a given problem (both in terms of content and of style of documentation &#8211; thinking of &#8220;learning trail&#8221; vs. &#8220;short, to-the-point&#8221; articles).</li>
<li>Last but definitely not least: Community contributed documentation, to developers and &#8220;tool makers&#8221;, seems a good thing as it exposes how end users do think and work, thus it eventually might help making a given tool better by having a better understanding for end users needs and wishes.</li>
</ul>
<p><strong>&#8230; and voluntary contributors in special.</strong></p>
<p>Of course, community documentation doesn&#8217;t come &#8220;from out of nowhere&#8221; but has to be written by some actual contributor. And a contributor is likely to, well, contribute documentation in a given way which I quickly want to outline using an example rather familiar to me: Myself. I started using NetBeans earlier because I was searching for a quick, &#8220;intuitive&#8221;, usable IDE to do server sided / web Java development using maven2. Eclipse maven2 tooling sucked at this time (at the very least), and NetBeans came in rather handy here. In course of adopting the tool, I read some documentation, tried out a lot of things, and eventually wrote a bunch of articles on issues I stumbled across during this process&#8230; and time passed, with a few things happening:</p>
<ul>
<li>Generally, the IDE saw some more releases along the way, each one a little better regarding technologies I am working with, each one requiring a little less &#8220;additional&#8221; documentation than its predecessor.</li>
<li>Same way, I somehow &#8220;consolidated&#8221; in my everyday work using the IDE, I finally got it working as an unobtrusive, highly productive tool not coming into my way anymore (mostly at least). The situations in which to really &#8220;hit a wall&#8221;, assuming a given solution to be worth writing an article or even a short tutorial about, are becoming less and less frequent and eventually disappear.</li>
<li>And, last but not least, a bunch of things addressed in (community) documentation articles earlier by now either are addressed by the IDE itself (which has changed in some aspects to indeed be what it should be &#8211; an intuitive tool) or by &#8220;official&#8221; NetBeans documentation or it simply is &#8220;not an issue&#8221; anymore in everyday work, which makes it rather likely that community contributors won&#8217;t bother updating any &#8220;old&#8221; contributions as soon as it is not an issue to them anymore.</li>
</ul>
<p>So, assumptions from that are that, having a &#8220;limited&#8221; set of contributors, it is rather likely to see the amount of new contributions reduce to somewhere next to Zero sooner or later, which actually might be good (as it is an expression that, overally, the tool has become convenient enough to most end-users and it allows end-users to simply and productively get their work done without bothering too much about the tool), but then again is a problem for the &#8220;community documentation&#8221; approach itself (which, as stated above, is generally a good thing).</p>
<p><strong>Conclusions and ideas</strong></p>
<p>How to deal with such a situation? How to resolve the problems outlined above without completely ending the project altogether? As stated, I just have a couple of vague ideas&#8230;:</p>
<ul>
<li><em>Attracting more users</em> is an essential and important approach. Given the above assumption that &#8220;contributors&#8221; are likely to become less active as soon as they are perfectly happy working with the tool, a continuous stream of &#8220;new volunteers&#8221; addressing new areas of technology, providing new needs and wishes regarding working with the IDE or &#8220;just&#8221; running into problems no one has seen so far (because no one so far tried) seems the way to go. Is anyone using NetBeans along with, say, Python or PHP or Scala or Groovy in a production environment, or making use of its JavaFX tooling? So far, there are obviously few people on the community docs team dealing with these aspects enough to write &#8220;real-world&#8221; documentation (i.e. doing &#8220;productive everyday work&#8221; using the IDE).</li>
<li><em>Making things more &#8220;responsive&#8221;, interactive.</em> As soon as contributors are ready to write documentation on their own &#8211; fine. But after all, some day it might be difficult to contributors to figure out whether an issue they just stumbled across is actually worth documenting or &#8220;just&#8221; something every other user would immediately figure out taking a closer look. Maybe, from this point of view, the project itself should grow to not just be &#8220;contributor-driven&#8221; but more than that &#8220;user-driven&#8221;, allowing end-users to better state which documentation formats they like (which is surely likely to differ &#8211; i.e. /myself prefers short, to-the-point written articles on given topics and strongly dislikes screencasts and/or long, time-consuming &#8220;learning trails&#8221;) and on what issues / topics / aspects they would like to see documentation on. Maybe this also would be the way to deal with updates &#8211; a contribution being reviewed by its original contributor or someone else who is qualified enough to do so only on user demand.</li>
<li><em>&#8220;Linking&#8221; the world together better.</em> Using a wiki, a dedicated blog or whatever <em>centralized</em> structure for keeping community contributed documentation is a good idea to some extent, but then again: Isn&#8217;t a single blog entry written by someone somewhere around the world also &#8220;community contributed documentation&#8221;? Maybe taking more care of these contributions (and/or encouraging people to contribute <em>this</em> way) would be a way of addressing those who aren&#8217;t part of the &#8220;documentation-writing community&#8221; at the moment&#8230;</li>
</ul>
<p>However I still think there&#8217;s quite a lot of questions unanswered, and, at this point, I see that these questions would be addressed and eventually answered best by those using NetBeans community docs&#8230; so, what are your thoughts on that? Have you ever read a NBCD article? Have you even contributed one? How did you like the project, the documentation structure, &#8230;, if you did? Share your thoughts&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/07/on-community-contributing-documentation-and-the-benefits-of-intuitive-use/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jvisualvm: analyzing NetBeans and beyond&#8230;</title>
		<link>http://dm.zimmer428.net/2009/04/jvisualvm-analyzing-netbeans-and-beyond/</link>
		<comments>http://dm.zimmer428.net/2009/04/jvisualvm-analyzing-netbeans-and-beyond/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 06:39:27 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/452</guid>
		<description><![CDATA[As I am usually doing day-to-day work using daily builds of the NetBeans IDE, then and now I happen to run into, let&#8217;s say, peculiar situations in which figuring out what actually happens is pretty difficult. My very special friend #162706 is one of these cases &#8211; the IDE just seems busy for quite a [...]]]></description>
			<content:encoded><![CDATA[<p>As I am usually doing day-to-day work using <a href="http://bits.netbeans.org/download/trunk/nightly/latest/zip/">daily builds of the NetBeans IDE</a>, then and now I happen to run into, let&#8217;s say, peculiar situations in which figuring out what actually happens is pretty difficult. My <a href="http://www.netbeans.org/issues/show_bug.cgi?id=162706">very special friend #162706</a> is one of these cases &#8211; the IDE just seems busy for quite a while without obvious reasons, and you&#8217;re not really sure whether there still is something goin&#8217; on worth waiting for it to come to an end&#8230;</p>
<p>After more or less loosely following <a href="http://blogs.sun.com/geertjan/">Geertjans blog</a> I rather early found out about the <a href="https://visualvm.dev.java.net/download.html">jvisualvm tool</a> that comes with recent versions of Sun JDK 6, but so far I haven&#8217;t really seen any use cases for it in my environment. However, at the very least now I have figured out that this is rather good a solution for tracking down weird NetBeans behaviour by providing more reliable information, i.e. thread dumps. And there&#8217;s even more&#8230;</p>
<p><span id="more-452"></span></p>
<p><strong>Dealing with NetBeans&#8230;</strong><br />
Indeed, my first obvious idea was trying to figure out what&#8217;s goin&#8217; on inside a running NetBeans environment. Doing thread dumps is also possible in other ways, but at least the jvisualvm approach is pretty straightforward. On Unix systems, <code>jvisualvm</code> is found in the same place your <code>java</code> binary lives, so if you&#8217;re capable of running <code>java -version</code> from within a terminal, you&#8217;ll also be capable of running <code>jvisualvm</code> from there.</p>
<p><code><br />
<strong>[kr@n428 7:56:18] ~> java -version</strong><br />
java version "1.6.0_13"<br />
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)<br />
Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)<br />
<strong>[kr@n428 7:56:23] ~> which jvisualvm</strong><br />
/home/kr/kontext/runtime/linux/java/bin/jvisualvm<br />
<strong>[kr@n428 7:56:26] ~> which java</strong><br />
/home/kr/kontext/runtime/linux/java/bin/java<br />
</code></p>
<p>Once you started the application simply using the <code>jvisualvm</code> command, you&#8217;ll end up with a main application screen like this:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-01-main.jpg' title='jvisualvm-01-main.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-01-main.thumbnail.jpg' alt='jvisualvm-01-main.jpg' /></a></p>
<p>If you are a NetBeans user, the user interface pretty quickly will look familiar to you as jvisualvm basically &#8220;just&#8221; is an application based upon <a href="http://platform.netbeans.org/">NetBeans RCP</a>. Asides this, you will see an &#8220;Applications&#8221; window. In my case, the NetBeans I want to debug being already running, I can see the NetBeans process (pid 4974, in this example) below the &#8220;Local&#8221; node, so by now I am ready to get going:</p>
<p><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-02-appselection.jpg' alt='jvisualvm-02-appselection.jpg' /></p>
<p>Double-clicking the &#8220;NetBeans 6.7&#8243; icon in &#8220;Local&#8221; will make jvisualvm connect to this process which might take some time but in the end provide me with a brief diagnostics overview showing basic information about the NetBeans process and its environment:</p>
<p><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-03-attached.jpg' alt='jvisualvm-03-attached.jpg' /></p>
<p>Right now, you have quite an amount of helpful tools at hand trying to figure out where your problem is, like doing CPU or memory profiling (analogous to the feature set already offered in NetBeans for developing Java applications), analyzing memory consumption and garbage collection, and, as desired in my situation, looking at threads and doing a thread dump. For that, the &#8220;Threads&#8221; window is what you want:</p>
<p><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-04-threads.jpg' alt='jvisualvm-04-threads.jpg' /></p>
<p>By now, there&#8217;s a button labeled &#8220;Thread dump&#8221; (the same can be achieved by right-clicking the application in the &#8220;Applications&#8221; window and choosing &#8220;Thread dump&#8221; from the context menu). Doing so will result in, obviously, jvisualvm generating a thread dump for the running application. As soon as this is finished, it both will appear opened in a new editor on the right side of the window and, as a child node below the application (NetBeans, in my case) in the &#8220;Applications&#8221; window:</p>
<p><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-05-dump.jpg' alt='jvisualvm-05-dump.jpg' /></p>
<p>By now, you can merrily browse through the dump and see what might be flaky in your current situation. Another good option, if required: In case you are about to file an <a href="http://www.netbeans.org/issues">issue against NetBeans</a> regarding this behaviour and/or want to attach yourself to an existing issue, you might want to add this thread dump simply to provide developers with additional information to track down the problem. To do so, right-click the &#8220;[threaddump]&#8230;&#8221; node in the &#8220;Applications&#8221; window, choose &#8220;Save as&#8230;&#8221; and enter an appropriate name. This will result in generating a plain text file ending in &#8220;.tdump&#8221; containing the full thread dump as displayed in the jvisualvm window. This file, by then, might be attached to an issue filed against any application you&#8217;re likely to debug, or it might be sent to your application developer helping them getting your tool improved. The same procedure can be used i.e. for generating heap dumps or application snapshots, which all in itself is rather valuable while knee-deep into debugging work.</p>
<p><strong>&#8230;and beyond.</strong></p>
<p>So far, we&#8217;ve been looking at a Java application running on the same host jvisualvm runs on. While this is fine for desktop and overall development debugging, in a real-world environment your applications might run on some sort of application server, Glassfish in our case. Fortunately, jvisualvm also allows for working with remote applications i.e. making use of JMX. <a href="http://weblogs.java.net/blog/kalali/archive/2009/03/monitoring_glas.html">Masoud Kalali has written a quick guide on how to set up jvisualvm to work with Glassfish</a> and, after goin&#8217; through this procedure, indeed I am capable of doing more or less the same I previously did dealing with a local application now interacting with my remote production Glassfish:</p>
<p><img src='http://dm.zimmer428.net/wp-content/uploads/2009/04/jvisualvm-06-remote.jpg' alt='jvisualvm-06-remote.jpg' /></p>
<p>So, overall conclusions and hints:</p>
<ul>
<li>If you ever filed an issue against NetBeans, eventually were asked to attach a thread or heap dump and have absolutely no clue how to do so, jvisualvm is a very helpful friend helping you getting this done.</li>
<li>I like the chance of doing application debugging, but the capabilities in dealing with remote servers surely will make jvisualvm a tool I do not want to miss in my everyday tool box.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/04/jvisualvm-analyzing-netbeans-and-beyond/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun, Oracle and the need for open source&#8230; [updated]</title>
		<link>http://dm.zimmer428.net/2009/04/sun-oracle-and-the-need-for-open-source/</link>
		<comments>http://dm.zimmer428.net/2009/04/sun-oracle-and-the-need-for-open-source/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 07:56:10 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/450</guid>
		<description><![CDATA[Times are changing it seems: Not that long ago we were wondering about whether or not IBM eventually would buy Sun Microsystems and, if so, what this could possibly mean to many of the pretty good Sun software products like the NetBeans IDE, the Glassfish Application Server or the mySQL database server. Oh well&#8230; and [...]]]></description>
			<content:encoded><![CDATA[<p>Times are changing it seems: Not that long ago we were wondering about whether or not <a href="http://broadcast.oreilly.com/2009/03/blue-sun-what-an-ibm-acquisiti.html">IBM eventually would buy Sun Microsystems</a> and, if so, what this could possibly mean to many of the pretty good Sun software products like the <a href="http://www.netbeans.org">NetBeans</a> IDE, the <a href="https://glassfish.dev.java.net">Glassfish Application Server</a> or the <a href="http://www.mysql.com">mySQL</a> database server. Oh well&#8230; and it seems that, just shortly after these negotiations have obviously come to an end, another player does appear on the scene with database / enterprise software giant <a href="http://www.oracle.com">Oracle</a> <a href="http://www.osnews.com/story/21338/Oracle_Buys_Sun_Microsystems">finally acquiring Sun</a>. And, yet, I think we will have to see whether or not this is better than the IBM option. Eventually, there are products and projects likely to benefit from this merger, like all the Sun hardware stuff and the <a href="http://www.opensolaris.com">(Open)Solaris</a> operating system which will allow Oracle to enter a whole new market in which they by now still depend upon other companies (hardware manufacturers, operating system vendors, &#8230;), and there are products which eventually aren&#8217;t on grounds that safe (mySQL, Glassfish, maybe also NetBeans). </p>
<p>I will keep myself from speculating aloud which of these projects might be continued and which ones might be stopped sooner or later, but rather want to come up with another thought on this: Product strategy. I know quite some people who chose the BEA WebLogic Java EE server for various reasons (including not depending upon a global &#8220;software super power&#8221;) and were quite happy with this. Some time earlier however, <a href="http://www.oracle.com/bea/index.html">BEA also was acquired by Oracle</a>, and even though Oracle product managers decided to discontinue their own application server in favor of WebLogic, these customers by then still ended up being customer of a company they never wanted to work with. Same way, some of the BEA products simply were discontinued, like some of the Oracle ones, in favor of having migration paths offered to alternate products virtually replacing them. This also might not always be desirable as, even though having a migration path available is a good thing, eventually one doesn&#8217;t <em>want</em> to migrate as product decisions also might have happened out of technical preferences for the product initially chosen &#8211; from that point of view being forced to migrate to something you didn&#8217;t initially choose for sane reasons doesn&#8217;t seem all too compelling.</p>
<p>So, after all: How to get out of this mess? How to be capable of doing sane strategic product decisions without having to worry that, sooner or later, your product might be discontinued in favor of another one after some company, service provider, &#8230; has been acquired by someone else? For that, I see just one solution really practicable: Go for <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a> software, and not just for sofware being open source but also for software being open source <em>and</em> maintained, developed, driven forth by some kind of foundation or consortium rather than just being a former product released under an open source license but still developed and maintained mainly by one single vendor. Examples for these things include:</p>
<ul>
<li>The <a href="http://www.ow2.org/">ObjectWeb Consortium</a> is an open source development and support community, a consortium with an impressive <a href="http://www.ow2.org/view/MembershipJoining/ConsortiumMembers">list of members</a>, offering a wide range of infrastructure and development platforms like the <a href="http://wiki.jonas.ow2.org/xwiki/bin/view/Main/WebHome">JOnAS</a> Java EE server (which by now also is Java EE 5 certified &#8211; maybe a likely replacement when and if Oracle might decide to discontinue Glassfish?), the <a href="http://forge.ow2.org/projects/xwiki">XWiki</a> Java based wiki application, the <a href="http://orchestra.ow2.org/xwiki/bin/view/Main/WebHome">Orchestra</a> BPEL platform and <a href="http://www.ow2.org/view/Activities/ProjectsByMaturity">a bunch of other things.</a>
</li>
<li>The <a href="http://www.apache.org/">Apache Software Foundation</a>, maybe the most prominent of these communities because of the <a href="http://httpd.apache.org/">Apache httpd server</a>, then and now one of the most widely used web servers, also offers a whole load more than this. Projects hosted at apache.org include the <a href="http://geronimo.apache.org/">Geronimo</a> Java EE 5 application server, the <a href="http://tomcat.apache.org">tomcat</a> Java EE servlet container, the <a href="http://james.apache.org/">James</a> Java based e-mail server project, an extensive set of <a href="http://ws.apache.org/">technologies related to Web Services development</a>, a fully-featured <a href="http://myfaces.apache.org/">Java Server Faces implementation named &#8216;myfaces&#8217;</a>, the <a href="http://servicemix.apache.org/home.html">ServiceMix ESB platform</a> and <a href="http://projects.apache.org/indexes/quick.html">really way more than that&#8230;</a>. The ASF also <a href="http://www.apache.org/foundation/members.html">consists of members representing virtually all companies important in software world</a>. And, as an interesting liner note, even <a href="http://news.cnet.com/8301-10805_3-9999824-75.html">Microsoft at least partly is supporting ASF</a>, for whatever this is worth. :)</li>
<li>Important as well is <a href="http://www.eclipse.org">Eclipse Foundation</a>, hosting the Eclipse IDE and a <a href="http://www.eclipse.org/projects/listofprojects.php">bunch of other projects</a> focusing both on IDE and on general Java application development, including the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox">Equinox</a> OSGi implementation, the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.jetty">jetty</a> Java EE servlet container, the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink">EclipseLink</a> reference implementation of EJB3 JPA (formerly contributed by Oracle, actually&#8230;) or the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=stp">SOA Tooling Platform</a>. Eclipse Foundation obviously has a <a href="http://www.eclipse.org/membership/showAllMembers.php">strong support by various commercial and non-commercial entities</a>, contributing code and development effort as well as supporting Eclipse based applications or using them in their own (proprietary?) application platforms.</li>
<li>Smaller than that yet too interesting to go unnoticed, there&#8217;s also <a href="http://codehaus.org/">Codehaus</a> out there, a small yet creative community hosting <a href="://xircles.codehaus.org/projects">projects</a> like <a href="http://xircles.codehaus.org/projects/activesoap">ActiveSOAP</a> web services framework, the <a href="http://xircles.codehaus.org/projects/xsite">XSite</a> web site generation tool, the <a href="http://xircles.codehaus.org/projects/xstream">xstream</a> Java-to-XML serialization library or dynamic languages like <a href="http://groovy.codehaus.org/">Groovy</a> (for Java/JDK) and <a href="http://boo.codehaus.org/">Boo</a> (for CLI/.NET).</li>
</ul>
<p>So, overally, what to learn from all this mess:</p>
<p>(1) Despite all dedication, keeping a little independence pays off from time to time: Using <a href="http://maven.apache.org">maven2</a> as build tool, so far we really did enjoy the clean, usable, straightforward tooling NetBeans offers for this tool, while at the same time making sure our source structures and projects aren&#8217;t <em>tied</em> to the IDE like, in example, they would be while using stock Eclipse projects. From that point of view, in worst case we even could go on doing development work with a tool as simple and straightforward as <a href="http://www.jedit.org/">jedit</a> comes the need. Likewise, keeping applications as compliant to Java EE standards (and as independent of a given Java EE implementation) as possible will, assuming worst case (which is not what you do as a technology enthusiast but definitely is what you gotta think about when you have to make strategic decisions) ease migration to another target platform. Both things aren&#8217;t on our list at the moment however, and hopefully they&#8217;ll never will. The Glassfish/NetBeans tool chain is way too convenient and powerful to be abandoned without a fight. ;)</p>
<p>(2) Generally, even though (in worst case) the Oracle/Sun merger might change things for people so far into using Sun-contributed open source projects, there still will be alternatives at hand, if they don&#8217;t want to go with the offerings Oracle by then will be providing to them. This is, of course, a good thing as it makes dealing with the uncertainty obviously caused by such a strategic (corporate) move a little easier. And, after all, being acquired by some &#8220;strong&#8221; company still might be the best to happen to Sun given the current business situation of the company in order to let at least part of its technology survive (I will contribute more time to using OpenSolaris from now on).</p>
<p>(3) Despite their brave moves in releasing a great set of technology under open source licenses, it overally seems Sun didn&#8217;t completely &#8220;do this right&#8221; in the end. I remember that, a while ago, another good Sun-based open source project, the JSF component collection labeled <a href="https://woodstock.dev.java.net/index.html">Project Woodstock</a>, <a href="http://forums.netbeans.org/post-12276.html">after a period of silence and uncertainty for its adopters</a> ceased to exist, now &#8220;just&#8221; offering a  <a href="http://www.nabble.com/Woodstock-Migration-Path-to-ICEfaces-td21057513.html">migration path to IceFaces JSF library</a>. For quite a while it seemed there was just an awful load of open source projects appearing on the scene, providing great technology yet leaving users unsure about the actual nature of its community: How many people are there actively developing it, how many of them are full-time Sun employees and how many are open source volunteers and/or employees of partnering companies, how many of them are enthusiasts and small-time developers? Who does make strategic decisions about project roadmap, new features, &#8230;? Who, overally, has to decide what to be done and what not to be done? This, in my opinion, is the worst to add to the momentary uncertainty about Glassfish, NetBeans, &#8230; despite the fact of these all being open source projects: Of course, being by its very nature open source projects, they don&#8217;t generally to depend upon a very company to survive, virtually anyone could to a fork and drive forth development on her/his own. But yet, at least to me it&#8217;s absolutely unclear what will remain of, say, Glassfish in case Oracle might decide to suddenly withdraw all Java EE developers in order to make better use of them in any of their existing Java EE related projects &#8211; will there be anyone left to keep up developing an &#8220;open source Glassfish&#8221; without Sun? From that point of view, there would have been a better way initially if Sun just had made, say, <a href="http://java.net">java.net</a> an open source foundation similar to Apache, Eclipse, &#8230;, contributed all of its open source code to this foundation and aggressively invited third party corporate and freelance developers to contribute and participate. This, asides all other business implications (like matters of education and support offered for these technologies) at least would have made things easier by having these projects &#8220;safe&#8221;, their technical development and progress reliably outlined no matter what eventually would happen&#8230; Then again, maybe it&#8217;s not yet too late for&#8230; Apache NetBeans? Codehaus Glassfish? O&#8217;w2&#8242;penDS? What are your thoughts?</p>
<p>Anyway, after writing all this text, what are my personal conclusions of this? For now, I will keep sticking to &#8220;business-as-usual&#8221; of course, keep on promoting the use of NetBeans, Glassfish and related technologies. From my point of view, they&#8217;re way too valuable to be ignored and abandoned without too much ado. Especially relating to NetBeans, there&#8217;s quite a clear road ahead, with <a href="http://www.netbeans.org/community/releases/roadmap.html">6.7 development nearing its end</a>, providing an <a href="http://wiki.netbeans.org/NewAndNoteWorthyNB67">impressive list of changes and other things noteworthy</a> compared to its predecessors. Along with this, we&#8217;re also at the moment trying to, as seamlessly as possible, <a href="http://wiki.netbeans.org/CommunityDocs">take the NetBeans Community Docs</a> project to a new shape, structure and performance, hopefully making this a resource valuable to the NetBeans community as a whole. As for anything else&#8230; time will tell. Maybe &#8220;being prepared&#8221; never is a bad thing, being prepared both for keeping everyday business going <em>and</em>, given this might be necessary, participating in one fork or the other&#8230; </p>
<p>Update 2009-04-22: As there are quite some people (obviously) dealing with this issue, I have decided to collect some of these resources that seem worth reading to me here:</p>
<ul>
<li>Oracle folks themselves have <a href="http://www.oracle.com/sun/sun-faq.pdf">put up an FAQ collection[PDF]</a> addressing some of the questions for sure to arise from this merger. Not all questions are left answered, though, and one might eventually see the absence of the term &#8220;open source&#8221; throughout the whole of the document&#8230;</li>
<li><a href="http://weblogs.java.net/blog/kalali/">Masoud Kalali</a>, Jave EE developer, technical writer and author of an <a href="http://www.manning.com/kalali/">upcoming book on Glassfish v3</a>, has <a href="http://www.opensourcereleasefeed.com/interview/show/masoud-kalali-on-sun-oracle-and-the-future-of-glassfish">done an interview with opensourcereleasefeed.com</a> on Glassfish and NetBeans in light of the Oracle/Sun future perspective.</li>
<li>As to be expected, there is a whole load of coverage relating this issue on <a href="http://java.dzone.com">java.dzone.com</a>, most notably <a href="http://java.dzone.com/articles/oracle-adds-new-exhibit-java">a rant basically outlining Java EE on its way to &#8216;Java Technology Museum&#8217;</a>, a <a href="http://java.dzone.com/articles/oracle-buys-sun-coverage">collection of responses on the Sun/Oracle deal throughout the web</a> and of course <a href="http://java.dzone.com/articles/oracle-java-harmony">a set of</a> <a href="http://java.dzone.com/articles/oracles-effect-java">personal opinions</a> mainly related to what&#8217;s in the Sun/Oracle deal for Java as a language and platform. Worth reading, most of it.</li>
<li>There&#8217;s a lengthy yet interesting <a href="http://www.redmonk.com/cote/2009/04/20/oraclebuyingsun/">analysis of the implications of the Sun/Oracle deal to be found on redmonk.com</a> as well, outlining a few options of what might be up next.</li>
<li>Also an interesting statement <a href="http://weblogs.java.net/blog/cayhorstmann/archive/2009/04/my_oracle_prono.html">by Cay Horstmann</a> on this. Some of his predictions surely seem reasonable, though, then again, still not more or less vague than others of course.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/04/sun-oracle-and-the-need-for-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans, community and documentation: let&#8217;s drive it forth&#8230;</title>
		<link>http://dm.zimmer428.net/2009/03/netbeans-community-and-documentation-lets-drive-it-forth/</link>
		<comments>http://dm.zimmer428.net/2009/03/netbeans-community-and-documentation-lets-drive-it-forth/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 12:34:47 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/448</guid>
		<description><![CDATA[Well, I&#8217;m in for more (though voluntary) work soon: A while ago I have offered to act as Contribution Coordinator to the NetBeans Community Documentation program, and because (or, as I shall say now, despite) being pretty much into day-to-day work at the moment, I am about to get this started on April 1, 2009 [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m in for more (though voluntary) work soon: A while ago I <a href="http://blogs.sun.com/branajam/entry/january_2009_update">have offered to act as Contribution Coordinator</a> to the <a href="http://wiki.netbeans.org/CommunityDocs">NetBeans Community Documentation</a> program, and because (or, as I shall say now, despite) being pretty much into day-to-day work at the moment, I am about to get this started on April 1, 2009 (which is rather soon). Just a couple of days ago, <a href="http://blogs.sun.com/branajam/entry/nb_community_docs_300_contributions">this project has reached its 300th contribution exactly two years after being started</a>, to me sort of proof that NetBeans community to some extend has accepted and embraced the idea of contributing something back to the project by writing documentation, offering tips, tricks, hints, tutorials and whatever they eventually could come up with in course of using NetBeans in everyday life projects. Notably, too, is that <a href="http://nbguru.wordpress.com/">Varun Nischal</a> has done a great job pushing the project ahead to reach this impressive milestone, so I guess this is quite a heritage to deal with, this is something I surely have to work to be on par with. :) By now, all I eventually could offer is quite some enthusiasm about both NetBeans and the documentation project itself, and a bunch of (hopefully) good ideas on where to go from here&#8230;</p>
<p>Let&#8217;s hope for the best and see what will grow out of this. At the moment, I am once again planning to do something both enjoyable and (in this context) useful in travelling to Prague once again, hope to meet some of the guys over there and see what can be done. In this &#8220;new phase&#8221; of its doings, I think the Community Documentation project basically should / could aim at a bunch of interesting goals:</p>
<ul>
<li>Of course, it should as good as possible &#8220;spread the word&#8221;, do its part to extending the NetBeans user base first and foremost as an IDE but of course beyond that. From this point of view, one of the most important things in my opinion is to raise awareness that NetBeans <em>IDE</em> is a rather good foundation for virtually any developer, be that in open-source projects or wherever, to build custom tooling for her/his shiny new framework, application server, &#8230; upon, thus also extending the feature set of the IDE, making this a tool even &#8220;sharper&#8221;.</li>
<li>Asides the Community Docs, NetBeans also has an excellent <a href="http://www.netbeans.org/kb/">Knowledge Base</a> to offer (honestly, like most of the Sun related technologies and platforms do), providing insights and documentation on most if not all aspects interesting about the NetBeans platform, partly also filled by documents off the Community Docs program, partly written by full-time technical writers. Providing high-quality &#8220;real life&#8221; documentation and tutorials eventually could be a way for Community Docs authors to actively support the NetBeans team, eventually allowing for full-time internal writers located &#8220;near&#8221; the NetBeans core team to focus on in-depth covering technical details and all these aspects that would require documentation created along with the very authors of the code, while the Community Docs folks take care of most of the &#8220;user space&#8221; work which in many respects just seems &#8220;a load of work&#8221;. Maybe this way we all could do our best making NetBeans even better by making it one of the best-documented pieces of software available out there. :)</li>
</ul>
<p>By now, I invite anyone interested to join the project, join the program, offer feedback, hints or comments or whatever. Same as the IDE itself, or the platform at the foundation of it, the documentation only will be as good as those using it, reporting their needs, providing comments and requesting new articles. Let&#8217;s get goin&#8217; then&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/03/netbeans-community-and-documentation-lets-drive-it-forth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Columba: How to revive an open-source project?</title>
		<link>http://dm.zimmer428.net/2009/03/columba-how-to-revive-an-open-source-project/</link>
		<comments>http://dm.zimmer428.net/2009/03/columba-how-to-revive-an-open-source-project/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 08:10:02 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/445</guid>
		<description><![CDATA[Almost two years ago, maintainers of the Columba Mail mail client announced the end of their project due to obvious reasons (lack of time, being busy in &#8220;real life). Looking at some screenshots and the overall maturity of this (Java/Swing based) application, seeing this one being passed away that soon is rather sad &#8211; there&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Almost two years ago, maintainers of the <a href="http://www.columbamail.org">Columba Mail</a> mail client <a href="http://fdietz.wordpress.com/2007/08/12/so-long-and-thanks-for-all-the-fish/">announced the end of their project</a> due to obvious reasons (lack of time, being busy in &#8220;real life). Looking at <a href="http://www.columbamail.org/drupal/?q=node/47">some screenshots</a> and the overall maturity of this (Java/Swing based) application, seeing this one being passed away that soon is rather sad &#8211; there&#8217;s a lot of good functionality in it already, and the world surely could benefit from having a cross-platform mail user agent written in plain Java not JavaScript. ;) So&#8230; I wonder whether there is a good way of acquiring people in order to revive an open source project like this, and be that just for maintaining the code base, fixing basic issues, keeping the project alive. Of course, then again integrating it with, say, the NetBeans RC platform surely would be a nice thing&#8230; :) Comments, anyone?</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/03/columba-how-to-revive-an-open-source-project/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>NetBeans 6.7: still the only (maven2) IDE you&#8217;ll ever need&#8230;</title>
		<link>http://dm.zimmer428.net/2009/02/netbeans-67-still-the-only-maven2-ide-youll-ever-need/</link>
		<comments>http://dm.zimmer428.net/2009/02/netbeans-67-still-the-only-maven2-ide-youll-ever-need/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 10:30:58 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/433</guid>
		<description><![CDATA[Now that NetBeans 7.0 6.7 is just around the corner and comes with a set of interesting improvements, I wanted to take a few moments again reflecting what has eventually been most important to me in NetBeans IDE: Support for apache maven. Earlier I switched to NetBeans after being using Eclipse for quite a while [...]]]></description>
			<content:encoded><![CDATA[<p>Now that NetBeans <a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1346"><del>7.0</del></a> <a href="http://bits.netbeans.org/download/6.7/m2/">6.7 is just around the corner</a> and comes with a set of interesting improvements, I wanted to take a few moments again reflecting what has eventually been most important to me in NetBeans IDE: Support for <a href="http://maven.apache.org">apache maven</a>. Earlier I switched to NetBeans after being using Eclipse for quite a while because Maven2 tooling in Eclipse used to, well, leave a lot to be desired. </p>
<p><span id="more-433"></span></p>
<p>At the moment, this hasn&#8217;t really changed&#8230; right now, we&#8217;re into doing a project using a Java EE backend (created / built using NetBeans+maven) and a frontend / user interface making use of <a href="http://www.eclipse.org/rap">Eclipse RAP</a>. By the way I am torn here: Despite my preferences for using and working with NetBeans, I have to say that the single-sourcing &#8211; approach of building desktop and web applications with Eclipse RCP / RAP is quite a good thing in a project like ours. At the moment I am looking into <a href="http://qooxdoo.org/">qooxdoo</a> framework which obviously is the foundation of Eclipse RAP to see how this could eventually be used standalone along with NetBeans; so far I simply haven&#8217;t found any UI framework, even for web-only (no single-sourcing) development on NetBeans on par with RAP here. While dealing with RAP development in Eclipse, once again I had to learn that, in general, tooling there could be better, and Maven2 integration in Eclipse is still absolutely horrible. In case of that RAP application, we actually gave up on using Maven2 as a build environment as integrating Maven2, Eclipse target platforms and OSGi bundles has proven to be pretty ugly and add quite some complexity to the tooling environment even while not providing any additional benefit (thanks to the requirement to have &#8220;standard&#8221; Maven2 jar artifacts packed up in new custom artifacts to make them OSGi bundles even eliminated the possibility to use Maven2 for transitive dependency management here).</p>
<p>But that&#8217;s eventually a different story&#8230; So, looking at what NetBeans 6.7 has in store related to Maven2, it&#8217;s likely to excel here even more in comparison. As Maven2 support in NetBeans has been strong at the very least since early 6.x releases, it seems most of the features listed here are just &#8220;minor improvements&#8221; but, overally, these definitely add to the ease of use doing Maven2 based development using NetBeans&#8230;</p>
<p><strong><code>pom.xml</code> completion</strong></p>
<p>Some time ago, CTRL+SPACE &#8211; based code completion has been introduced to NetBeans&#8217; <code>pom.xml</code> editor which, of course, includes the different elements allowed to appear by the <code>pom.xml</code> schema definition:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-pom-completion.jpg' title='67pre-pom-completion.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-pom-completion.thumbnail.jpg' alt='67pre-pom-completion.jpg' /></a></p>
<p>So far this is not too much of an &#8220;uncommon&#8221; feature and yet way more helpful than any visual editor eventually would be. Even better, however, is that by now, while editing <code>pom.xml</code>, there also is code-completion support for <code>groupId</code>, <code>artifactId</code> and <code>version</code> content, practically allowing for browsing your repository from within the pom editor in a pretty straightforward manner:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-pom-dependency-completion.jpg' title='67pre-pom-dependency-completion.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-pom-dependency-completion.thumbnail.jpg' alt='67pre-pom-dependency-completion.jpg' /></a></p>
<p>This, eventually, so far is my most excessively used feature provided by the new Maven2 tooling&#8230;</p>
<p><strong>New &#8220;Add Library&#8221; dialog</strong></p>
<p>&#8230; but for all those who don&#8217;t want to use this, there also is a new way to &#8220;add libraries&#8221; to Maven2 projects from within the Project Explorer:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-addlibrary.jpg' title='67pre-addlibrary.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-addlibrary.thumbnail.jpg' alt='67pre-addlibrary.jpg' /></a></p>
<p>Basically, this also has most one could eventually wish for, including group / artifact / version code completion and a powerful search facility. </p>
<p><strong>Repository Browser and Dependency Graph</strong></p>
<p>More for those of us who want to &#8220;see something&#8221; on the screen: The Repository Browser window, as the name implies, allows for easily browsing different (local, remote) Maven2 repositories to get a glimpse of what&#8217;s inside. Looks good, feels good, even though I never so far used it:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-repository-browser.jpg' title='67pre-repository-browser.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-repository-browser.thumbnail.jpg' alt='67pre-repository-browser.jpg' /></a></p>
<p>Eventually more compelling is the Dependency Graph feature, which, invoked on some Maven2 project, does draw a dependency hierarchy outlining how artifacts are wired up:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-dependency-graph.jpg' title='67pre-dependency-graph.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-dependency-graph.thumbnail.jpg' alt='67pre-dependency-graph.jpg' /></a></p>
<p>This is something I do use a little more excessively in order to tell people how things in our local projects are linked; this kind of visualization at the very least is good for documentation purposes; having this image exported and somehow added to a maven2-generated project specific site would be pretty impressive&#8230; </p>
<p><strong>Goal Completion</strong></p>
<p>As Maven2 in Netbeans (opposing the Eclipse approach where there is a dedicated &#8220;maven2&#8243; menu to invoke mvn-specific actions on Maven2 projects) is tightly integrated with the IDE and used as the only build mechanism in case of Maven2 projects, menu actions like &#8220;Clean&#8221; and &#8220;Build&#8221; do what they obviously should do in such a case. In situations in which &#8220;custom targets&#8221; are required, there always has been a wizard to set up such custom target actions, allowing for defining targets to be invoked as well as profiles to be used. Quite powerful, this wizard now also offers code-completion for targets and profiles available in the environment given:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-goal-completion.jpg' title='67pre-goal-completion.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-goal-completion.thumbnail.jpg' alt='67pre-goal-completion.jpg' /></a></p>
<p>This, also, is rather useful and heavily used in my environment.</p>
<p><strong>Project maintaineance</strong></p>
<p>In NetBeans 6.7, also the amount of Maven2 project types to be added via the &#8220;New Project&#8230;&#8221; wizard has been extended by adding new archetype templates most notably for supporting the creation of Java EE and EJB projects:</p>
<p><a href='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-creation-archetypes.jpg' title='67pre-creation-archetypes.jpg'><img src='http://dm.zimmer428.net/wp-content/uploads/2009/02/67pre-creation-archetypes.thumbnail.jpg' alt='67pre-creation-archetypes.jpg' /></a></p>
<p>This, again, makes me want to point out that, in NetBeans, there fortunately is no need to carry around other project/build specific informations than just the <code>pom.xml</code>, which, compared to Eclipse, just incredibly eases dealing with loads of Maven2 projects. Asides this, the tooling now also offers a &#8220;Build with dependencies&#8221; option allowing for, well, building a Maven2 project along with all of its required local artifacts which is rather nice a feature. Eventually, the only thing still missing about project management is the ability to simply create an &#8220;empty maven2 project&#8221; (<code>pom.xml</code> pre-loaded with artifactId/groupId/version and nothing else, along with a simple, empty folder structure &#8211; src/main/, src/resources/ &#8230; in place). Maybe later. :)</p>
<p><strong>Conclusions</strong></p>
<p>So, to overally look at it, <a href="http://blogs.codehaus.org/people/mkleint/">mkleint</a> and the NetBeans Maven2 team has been pretty busy doing an impressive piece of work for what is likely to be NetBeans 6.7. And, looking at the fact that Maven2 projects in NetBeans still are plain, simple Maven2 projects easily to be built / used from the command line mvn as well, and looking at the fact as well that developers here try to implement features like the &#8220;build with dependencies&#8221; using Maven2 features not IDE related code makes NetBeans 6.7 so far the most reliable and most powerful frontent / tool for Maven2 development available to date. Good job, folks.</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2009/02/netbeans-67-still-the-only-maven2-ide-youll-ever-need/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Best operating system for Java Developers?</title>
		<link>http://dm.zimmer428.net/2008/12/best-operating-system-for-java-developers/</link>
		<comments>http://dm.zimmer428.net/2008/12/best-operating-system-for-java-developers/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 14:14:09 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/424</guid>
		<description><![CDATA[Phoronix has an interesting benchmark comparing Java on Ubuntu GNU/Linux 8.10 / OpenJDK, Ubuntu 8.10 / Sun JDK and Windows Vista /Sun JDK. The figures and numbers are quite impressive, and so is the conclusion:

&#8230;
Well, Java on Ubuntu was pretty much the hands-down winner compared to Microsoft Windows Vista Premium SP1. Running the Java tests [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phoronix.com">Phoronix</a> has <a href="http://www.phoronix.com/scan.php?page=article&#038;item=java_vm_performance&#038;num=1">an interesting benchmark</a> comparing Java on Ubuntu GNU/Linux 8.10 / OpenJDK, Ubuntu 8.10 / Sun JDK and Windows Vista /Sun JDK. The figures and numbers are quite impressive, and so is the conclusion:</p>
<blockquote><p>
&#8230;<br />
Well, Java on Ubuntu was pretty much the hands-down winner compared to Microsoft Windows Vista Premium SP1. Running the Java tests on Ubuntu had experienced significant advantages when it came to file encryption, Fast Fourier Transforms, Successive Over Relaxation, Monte Carlo, and the composite Java SciMark performance. In only the Sunflow test were the results between Ubuntu and Windows even close. With the Java 2D Microbenchmark, Windows was faster but that likely falls on the Intel Linux graphics driver having little in the way of performance optimizations and Java on Linux not yet utilizing the X Render extension.<br />
&#8230;
</p></blockquote>
<p>Maybe this eventually could be extended in the future to (a) also include OpenSolaris and MacOS as platforms and (b) also feature performance tests of a full-blown Java EE server environment. But then again, maybe at some point it simply will become way too complex and unmanageable. Maybe a first good variation of this comparison already would be using operating systems optimized and tweaked by administrators who know their job rather than going with the &#8220;default&#8221; settings. But overally, of course, I like the outcome so far. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2008/12/best-operating-system-for-java-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans: 6.5 unveiled</title>
		<link>http://dm.zimmer428.net/2008/11/netbeans-65-unveiled/</link>
		<comments>http://dm.zimmer428.net/2008/11/netbeans-65-unveiled/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 07:12:25 +0000</pubDate>
		<dc:creator>kr</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://dm.zimmer428.net/index.php/archives/412</guid>
		<description><![CDATA[Without further ado: Yesterday, on November 19, 2008, NetBeans 6.5 finally was made publicly available, putting an end to quite an interesting period of development and NetCAT testing. Having PHP and Python support as well as integration of Glassfish V3 Prelude application server in the Java EE downloads eventually the most noticeable new features, the [...]]]></description>
			<content:encoded><![CDATA[<p>Without further ado: Yesterday, on November 19, 2008, <a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1313">NetBeans 6.5 finally was made publicly available</a>, putting an end to quite an interesting period of development and <a href="http://qa.netbeans.org/processes/cat/65/">NetCAT</a> testing. Having PHP and Python support as well as integration of Glassfish V3 Prelude application server in the Java EE downloads eventually the most noticeable new features, the 6.5 release mainly &#8220;just&#8221; is a logical improvement of the releases of the 6.x series seen so far, making development a little more easier and more straightforward. Being using pre-release builds in productive work for quite some months now, for my  use cases NB 6.5 mainly has to offer a vast bunch of &#8220;minor&#8221; improvements (under the hood?) which, though overally not visible at first sight, make working with the IDE just a bit more convenient. If you don&#8217;t use it so far, you should really have a look at the <a href="http://www.netbeans.org/features/index.html">feature description</a> and <a href="http://www.netbeans.org/kb/docs/intro-screencasts.html">some of the introductory screencasts</a> to eventually by then <a href="http://www.netbeans.org/downloads/index.html">get NetBeans 6.5 for your platform and development profile</a> and get started getting work done, as this is what NetBeans definitely is best at. Congratulations to all the team for packing up such a great release, now let&#8217;s take on 7.0&#8230; ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.zimmer428.net/2008/11/netbeans-65-unveiled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
