<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #236 - Apr 19, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-04-19">

<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# 19-Apr 18:15 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #236 - Apr 19, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #236 - Apr 19, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-04-19.html'>https://netbeans.org/community/news/newsletter/2006-04-19.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>Joshua Block and Neil Gafter @ NetBeans Day San Francisco
NB Day will feature a keynote by Joshua Bloch and Neil Gafter who are
also known as "Click and Hack - The Type-It Brothers." The first four
hundred attendees will receive a free copy of the new NetBeans IDE
Field Guide (2nd Edition) and a 256mb USB drive. The event will be held
on Monday, May 15. It is a no cost event and you do not have to be
registered for JavaOne to attend. Seats are limited though, so register
now.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=402">http://services.netbeans.org/newsletter/story.php?id=402</a>&gt;

Pre-order NetBeans IDE Field Guide, 2nd Edition
Gregg Sporar has just posted a blog entry talking about the upcoming
NetBeans 5.0 Field Guide. He provides an outline of the content in
addition to links on how to pre-order the book. The first edition was
very well received and there is no doubt that the 2nd will outshine the
first. If you don't want to buy the book get it for free by coming to
NetBeans Day (see above) or read more at Gregg's blog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=403">http://services.netbeans.org/newsletter/story.php?id=403</a>&gt;

NetBeans Software Day South Africa
Join the NetBeans Team May 2nd at NetBeans Software Day in
Johannesburg, South Africa. Many great prizes, presentations and more.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=404">http://services.netbeans.org/newsletter/story.php?id=404</a>&gt;

InfoWorld Test Center's Rates NetBeans 5.0 Very Good
InfoWorld has reviewed NetBeans 5.0: "NetBeans 5.0 is a substantial
upgrade to what was already a very solid IDE. This release reveals many
new features, enhancements, and a slight repositioning, as Sun attempts
to shine the spotlight on aspects that take NetBeans beyond the pure-
play IDE."
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=405">http://services.netbeans.org/newsletter/story.php?id=405</a>&gt;

Tim Cramer, Sun's Director of Developer Tools Interviewed
What did Tim Cramer say about the Matisse Port at EclipseCon? What
applications are using the NetBeans Rich Client Platform? How can I
create mobile applications? And why does Dick sound as if he was
interviewed in the bathroom? Find out in this PodCast.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=406">http://services.netbeans.org/newsletter/story.php?id=406</a>&gt;

Plug-in Writing Contest Winners Announced
Last Monday, the winners were announced at NetBeans Day Sao Paulo. The
plug-ins were judged on criteria such as runtime quality, code quality,
originality and usefulness. Some plug-ins were developed by individuals,
some by teams. All are open-source.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=407">http://services.netbeans.org/newsletter/story.php?id=407</a>&gt;

Creating a Flash Demo of NetBeans IDE
Want to create your own Flash demo of NetBeans IDE functionality?
Here's some steps to get you producing slick, professional looking
demos with free tools.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=408">http://services.netbeans.org/newsletter/story.php?id=408</a>&gt;

Profiling J2EE Applications
This detailed guide for profiling web and enterprise applications
covers profiling different project types and deployment environments,
and provides some general facts and tips you should be aware of when
profiling your applications.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=409">http://services.netbeans.org/newsletter/story.php?id=409</a>&gt;

Internationalizing a GUI Form in NetBeans IDE 5.0
The following tutorial shows you ways how to internationalize GUI forms
more easily. Among other things, it covers the use of the NetBeans GUI
Builder's string editor and the Internationalization wizard.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=410">http://services.netbeans.org/newsletter/story.php?id=410</a>&gt;

Designing Patterns With UML
By virtue of their seamlessness, clarity, and versatility, design
patterns in Unified Modeling Language are a tremendous help for
software architectures. This article describes the pattern types and
the procedures for creating them and applying them to application
components in NetBeans Enterprise Pack 5.5.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=411">http://services.netbeans.org/newsletter/story.php?id=411</a>&gt;

Become Mozart with NetBeans IDE
Alex Lam recently announced NetBeans support for the zany Napkin look-
and-feel. It even works on applications built on the NetBeans Platform.
For evidence, take a look at Geertjan's Music NotePad, built on the
NetBeans Platform and using the JFugue API.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=412">http://services.netbeans.org/newsletter/story.php?id=412</a>&gt;

Elvis, Meet Portability
Last month Brian Leonard took a Cay S. Hortsmann article, Elvis Meets
GlassFish, and demonstrated how you could use the NetBeans 5.5 Preview
to make Elvis even happier. This time around he examines what it takes
to make that same application run on JBoss.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=413">http://services.netbeans.org/newsletter/story.php?id=413</a>&gt;

Guess the Glyphs Competition Winners
The following five people are the winners for the week of 10.04-16.04:
Sanat Gersappa (India), Chart Krobtragolchai (Thailand), Linda Toth
(USA), Renat Karimov (Kazakstan), and Andras Barta (Hungary). For more
information on the Glyph competition and how to take part visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=419">http://services.netbeans.org/newsletter/story.php?id=419</a>&gt;

Subversion support in NetBeans
After the successful redesign of CVS, the NetBeans VCS team is aiming
for a similar style of IDE integration for Subversion. Check out Roman
Strobl's flash demo and feel free to provide feedback to the team
before we go out with the 1st Beta in May and the final version later
on this year.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=414">http://services.netbeans.org/newsletter/story.php?id=414</a>&gt;

NetBeans Out of the Box Experience vs. Plug-ins and Community Needs
Get Roumen's take on balancing the size of NetBeans distribution, the
desire to have more plug-ins and improving communication for NetBeans
users.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=417">http://services.netbeans.org/newsletter/story.php?id=417</a>&gt;

New Start Page in Trunk Builds
Lukas Hasik has provided a screenshot of the new Start Page when you
fire up the IDE. It is currently in the trunk builds and will replace
the old Welcome Screen. It contains news and blogs that are fed from
the web. Check it out and share your opinion.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=418">http://services.netbeans.org/newsletter/story.php?id=418</a>&gt;

Brazilian Portuguese NetBeans IDE Translation
There is some great work taking place in localizing the NetBeans IDE
5.0 into Portuguese. This is a large task if you are willing to help
out the current members would be more than happy to have your
assistance. For more information visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=415">http://services.netbeans.org/newsletter/story.php?id=415</a>&gt;

An (Almost) Obsolete NetBeans Feature Wishlist
Ramon Ramos has highlighted a year old wishlist posted by Cedric Crowe
to JavaLobby. It is great to see how far NetBeans has come in one years
time.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=416">http://services.netbeans.org/newsletter/story.php?id=416</a>&gt; </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>