<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #229 - Feb 20, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-02-20">

<link rel="stylesheet" type="text/css" href="/netbeans.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<!-- ====================================================== -->
<!-- Please do not edit this file by hand, it is rebuilt    -->
<!-- automatically and your changes will be lost.  Contact  -->
<!-- webmaster for details.  Rebuilt at                     -->
<!-- #TIMESTAMP# 20-Feb 15:10 CET                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #229 - Feb 20, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #229 - Feb 20, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-02-20.html'>https://netbeans.org/community/news/newsletter/2006-02-20.html</a>&gt;<br>
Interested in becoming a newsletter editor?  We're always looking<br>
for editors to help out. Contact <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
<hr><pre>Governance Board Nominations - Last Call
It's time again to elect a new NetBeans Governance Board! All the
information that you need to take part in the elections can be found here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=281">http://services.netbeans.org/newsletter/story.php?id=281</a>&gt;

NetBeans Day Singapore
Join the NetBeans Team at NetBeans Day Singapore on February 24th, 2006.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=303">http://services.netbeans.org/newsletter/story.php?id=303</a>&gt;

NetBeans Day JavaOne 2006 - Registration is Open
NetBeans Software Day 2006 will take place on Monday, May 15, 2006 at the
Argent Hotel in San Francisco. It is a companion event to the JavaOne
conference which begins the following day. NetBeans Software Day is free
for anyone who wishes to attend. Space is limited, so register now.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=293">http://services.netbeans.org/newsletter/story.php?id=293</a>&gt;

Cool New NetBeans Gear
Order t-shirts, mugs, mousepads and much more at the completely revamped
online shop. Choose from NetBeans.org, 5.0 and Glyph styled merchandise.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=294">http://services.netbeans.org/newsletter/story.php?id=294</a>&gt;

Fell in Love with NetBeans Platform
Roumen prepared a "fast and furious" demo of NetBeans platform which shows
its power. This is his first demo in the whole series of platform demos
which will follow it:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=295">http://services.netbeans.org/newsletter/story.php?id=295</a>&gt;

Pick a Target JDK for a Freeform Project in NetBeans
NetBeans guru Jesse Glick posted a tool to assist in building and running a
"freeform" project using a different JDK from what NetBeans is running on.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=302">http://services.netbeans.org/newsletter/story.php?id=302</a>&gt;

NetBeans APIs go Java5
Since the official release of NetBeans 5.0 work has continued and a few
new milestones have been reached. The daily auto update center can include
modules that can be built with Java 5 only and the development version of
javadoc is now built with JDK1.5. More information:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=296">http://services.netbeans.org/newsletter/story.php?id=296</a>&gt;

Mark Occurrences Module Available on Development Update Center
Sandip Chitale's Mark Occurrences module is now available on Development
Update Center.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=297">http://services.netbeans.org/newsletter/story.php?id=297</a>&gt;

Mevenide for NetBeans 1.0 Final (Maven1 support)
The mevenide team have announced the final version of Maven1 support for
NetBeans IDE. The released set of NetBeans modules allows it to work with
Maven1 projects in the IDE, without imports or additional configurations.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=298">http://services.netbeans.org/newsletter/story.php?id=298</a>&gt;

[Tip] Repair WTK after Reinstallation of JDK
Java Development Kit (JDK) is evolving and they release new versions of
the JDK fairly often. If you install the latest JDK and uninstall the old
JDK the Wireless Toolkit stops working. Find out how to solve this issue.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=299">http://services.netbeans.org/newsletter/story.php?id=299</a>&gt;

German NetBeans Forum Started
The newly founded Java and NetBeans Forum at smurfi.de keeps you up-to-
date with NetBeans, Java and Linux related news in German. Join the Forum
and discuss IDE features, the Platform, Tutorials, new NetBeans releases
and Plug-In development with other NetBeans enthusiasts, and get quick
help with Java questions.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=300">http://services.netbeans.org/newsletter/story.php?id=300</a>&gt;

Training the Trainer
Java instructors who work for the Sun Education department will be
delivering their trainings via NetBeans IDE. What this means is that
they won't be using text files and command line procedures anymore, but
the wizards and templates that NetBeans IDE provides. Read all about the
process of retraining the Java instructors to use NetBeans IDE in
Geertjan's blog, starting with this entry:
http://services.netbeans.org/newsletter/story.php?id=301</pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be Robert Demmer. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>