<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #233 - Mar 28, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-03-28">

<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# 28-Mar 20:23 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #233 - Mar 28, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #233 - Mar 28, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-03-28.html'>https://netbeans.org/community/news/newsletter/2006-03-28.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>***** Maintenance Outage this Weekend Saturday 1st April, 8PM GMT *****
The maintenance window will begin at 20:00 GMT, and last 6 hours,
finishing at 02:00 GMT, Sunday April 2nd. During the outage, the static
content of www.netbeans.org will be available as normal, including
downloads. IssueZilla, CVS, all dynamic content and mailing lists will
be unavailable. No mail will be lost.

NetBeans Day San Francisco May 15th, 2006
Space is limited so register today.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=365">http://services.netbeans.org/newsletter/story.php?id=365</a>&gt;

NetBeans Set to Rock Las Vegas
Key mobile players NetBeans, Nokia and Sprint, will be presenting on
what's happening with Java ME and NetBeans. With great door prizes and
networking opportunities, this is a can't miss event for Java ME
developers. Be there April 5, 2006 at Harrah's Las Vegas.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=347">http://services.netbeans.org/newsletter/story.php?id=347</a>&gt;

[ANNOUNCE] NetBeans Mobility Pack 5.0 for CDC
The CDC pack is available as an add-on to NetBeans IDE. CDC configuration
is more powerful than CLDC and it is usually available on smart phones
and PDAs. With many new exciting features you can utilize NetBeans GUI
Builder Matisse for designing the user interface of your application.
Mobility Everywhere!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=348">http://services.netbeans.org/newsletter/story.php?id=348</a>&gt;

NetBeans is a Winner in the Mobile Development Tools Category
See a screenshot of the award on Lukas Hasik's weblog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=349">http://services.netbeans.org/newsletter/story.php?id=349</a>&gt;

[ANNOUNCE] NetBeans IDE 5.0 Localizations
The latest 5.0 release is now available in Simplified Chinese and
Japanese. But did you know that there is work currently under way in
other languages? If you want to get involved or just take a look at what
is taking place visit the translated files home page.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=350">http://services.netbeans.org/newsletter/story.php?id=350</a>&gt;
Simplified Chinese release notes:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=366">http://services.netbeans.org/newsletter/story.php?id=366</a>&gt;
Japanese release notes:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=367">http://services.netbeans.org/newsletter/story.php?id=367</a>&gt;

SIZZLING HOT INFORMATION - Project Matisse Roadmap
NetBeans GUI builder, also known as Matisse, went through a significant
redesign in the 5.0 release focusing on radically simplifying Desktop
Java layout design. If you are curious where this innovation is headed
you don't have to wait any longer. Check this out!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=351">http://services.netbeans.org/newsletter/story.php?id=351</a>&gt;

Imitation is the Best Form of Flattery - Cramer Speaks at EclipseCon
Sun's Director of Java Tools, Tim Cramer, spoke at EclipseCon and
explained that Matisse4MyEclipse is good for the Java Community.
Coverage in Ed Burnette's blog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=352">http://services.netbeans.org/newsletter/story.php?id=352</a>&gt;

Sun Provides Developer Expert Assistance for NetBeans
The Sun Developer Expert Assistance is now available for NetBeans users.
It is an email-based program that provides how-to help on a per-incident
basis with a 24-hour turnaround time. Available for NetBeans IDE 5.0.
Read more:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=353">http://services.netbeans.org/newsletter/story.php?id=353</a>&gt;

Reviewing Recent Announcements
Vance McCarthy has a nice recap of all the recent NetBeans news
highlights also includes comments from Dan Roberts. This covers C/C++
Source Code Plug-in Support, Enterprise Service Pack for Mac Developers,
Update to Java Web Services Developer Pack and of course MyEclipse
bringing NetBeans GUI Builder to Eclipse.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=354">http://services.netbeans.org/newsletter/story.php?id=354</a>&gt;

The Strangest NetBeans Splash Screen Ever
Have you seen the dev build from 23rd March 2006? It contains a really
strange splash screen. See Roumen's blog for a screenshot...
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=355">http://services.netbeans.org/newsletter/story.php?id=355</a>&gt;

An Extension Fiesta - Eight New NetBeans Plug-ins
Charles Ditzel takes a look at the latest batch of new and free
plug-ins for the NetBeans IDE. Read about there right here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=356">http://services.netbeans.org/newsletter/story.php?id=356</a>&gt;

Is it a Plug-in or a Module?
Charles Ditzel is asking which term do you prefer. What do you think?
Should they be called Plug-ins or Modules? Cast your vote here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=357">http://services.netbeans.org/newsletter/story.php?id=357</a>&gt;

BPEL (Business Process Execution Language), Part 2
This article is for developers using the NetBeans Enterprise Pack 5.5
Preview Release. The second in a series, it illustrates with code
examples how to define and apply the partnerLinkType and partnerLink
elements in Business Process Execution Language (BPEL).
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=358">http://services.netbeans.org/newsletter/story.php?id=358</a>&gt;

NetBeans Software Day Brazil - April 10 & 11
NetBeans Evangelists Tim Boudreau, Roman Strobl and Petr Suchomel will
speak in April on two NetBeans Software Days in Brazil.
Sao Paulo on April 10th 2006 in the Hotel Transamerica
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=359">http://services.netbeans.org/newsletter/story.php?id=359</a>&gt;
and in Brasilia on April 11th 2006
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=360">http://services.netbeans.org/newsletter/story.php?id=360</a>&gt;

Three Cities, Three Questions
Gregg Sporar has recently traveled to Houston, London and Madrid. In his
blog he responds to three frequently asked questions from his journey.
 1) Why should I use NetBeans?
 2) Why does Sun have three Java IDEs?
 3) How did you get the i18n stuff working?
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=364">http://services.netbeans.org/newsletter/story.php?id=364</a>&gt;

Sun Community Champion - Xu Bin
Xu Bin of Tsinghua University in Beijing, China, has been named "Sun
Community Champion" for his work with the Java and NetBeans communities.
He's the faculty adviser to the Java Users Group (JUG) at Tsinghua
University. Continue to the full article below.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=361">http://services.netbeans.org/newsletter/story.php?id=361</a>&gt;

Sun Appoints Charlie Hunt to Governance Board
Charlie Hunt is a Java Performance Engineer at Sun Microsystems and co-
author of the widely selling book NetBeans IDE Field Guide. He has been
working with Java since 1997 and has held many positions at Sun
Microsystems, including Java Architect, NetBeans Technology Evangelist
and Java Performance Engineer. Congratulations Charlie! For information
on the Governance Board visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=362">http://services.netbeans.org/newsletter/story.php?id=362</a>&gt;

Guess the Glyph - First Week Winners Announced
The first weekly Glyph competition has ended and we are announcing the
winners here first in the nbweekly. They are:
 * Luis Henrique Albinati Jr. - Brazil
 * Sergey Belov - Russia
 * Jaroslaw Meller - Poland
 * Khaja Mohammad - India
 * Ramon Omar Mata Rodriguez - Mexico
To take part in the competition and have a chance at winning a 5.0
t-shirt visit:
http://services.netbeans.org/newsletter/story.php?id=363</pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be ro. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>