<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #253 - Aug 14, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-08-14">

<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# 14-Aug 18:14 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #253 - Aug 14, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #253 - Aug 14, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-08-14.html'>https://netbeans.org/community/news/newsletter/2006-08-14.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>NetBeans WorldTour - First Stop Seattle, Washington - September 6th
The NetBeans WorldTour is a no cost event and exciting learning
opportunity. See first-hand how NetBeans IDE can help you become more
productive with its unmatched out-of-the-box experience. Members of the
NetBeans team will discuss what's new in the IDE, the Platform and the
Add-on Packs. For WorldTour cities, dates and agenda continue here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=684">http://services.netbeans.org/newsletter/story.php?id=684</a>&gt;
The dates are organized around Sun Tech Days so you will not only get
the latest on NetBeans, but will have an opportunity to see what is new
and exciting at Sun Microsystems.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=685">http://services.netbeans.org/newsletter/story.php?id=685</a>&gt;
Register now for the events in Seattle, Washington...
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=686">http://services.netbeans.org/newsletter/story.php?id=686</a>&gt;

NetBeans IDE 5.0 BlueJ Edition in Simplified Chinese & Japanese
NetBeans.org and BlueJ.org have announced Simplified Chinese and
Japanese localizations of NetBeans IDE 5.0 BlueJ Edition. Information
and download links can be found here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=687">http://services.netbeans.org/newsletter/story.php?id=687</a>&gt;

NetBeans Cover Theme on Java Magazin
The title theme of the upcoming German-language Javamagazin is NetBeans!
It will feature an interview with Jan Chalupa, the new NetBeans
director, and Tim Boudreau, leading architect, theorist, evangelist,
and presenter of the NetBeans Platform. "Ab 10. August 2006 am Kiosk!"
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=688">http://services.netbeans.org/newsletter/story.php?id=688</a>&gt;

NetBeans Evangelism Presentations Ready to Download
It's not just about throwing T-shirts! Our technical evangelists have
posted their NetBeans presentations for you to download. Discover the
benefits of using NetBeans, cool features, and how to use it to work
with various Java technologies. Spread the word!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=689">http://services.netbeans.org/newsletter/story.php?id=689</a>&gt;

A Really Bare-Bones Platform
Tim Boudreau writes, "My friend Jarda has a NetBeans-based application
which uses only the NetBeans module system - i.e. you can use the NB
module system to write server-side modular applications or whatever you
want." Read more at
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=691">http://services.netbeans.org/newsletter/story.php?id=691</a>&gt;

Monitoring HTTP Communication
Did you know that you can use NetBeans to monitor all communication of
your web application - between the web browser and the web server?
Check out Roumen's blog to find out how to do it:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=693">http://services.netbeans.org/newsletter/story.php?id=693</a>&gt;

Plumber's Hack 1: Highlighting Sourcy
You wanna highlight your code samples for your blog, using NetBeans?
Then be sure to check out Evan Summer's Blog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=692">http://services.netbeans.org/newsletter/story.php?id=692</a>&gt;

NetBeans 5.5 Beta 2 Satisfaction Research
We recently asked NetCAT 5.5 participants about their experience with
NetBeans 5.5 Beta 2 and were very pleased by the results. The research
proved that Beta 2 is far better that Beta 1 in stability. According to
the answers performance is also good except slow code completion.
Besides, we asked about freeform projects and it looks like the usage
is low and people prefer NetBeans projects. If you want to provide your
own answers, don't hesitate to reply in this thread:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=690">http://services.netbeans.org/newsletter/story.php?id=690</a>&gt;

JAX-WS Customizations Made Easy with NetBeans 5.5
NetBeans 5.5 with its built-in support for JAX-WS Web Services also
provides a nice GUI to customize WSDL to Java bindings easily. All it
takes is a few clicks as shown in this blog.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=694">http://services.netbeans.org/newsletter/story.php?id=694</a>&gt;

J2EE 5 Project and Mobility Pack 5.5
Mobility Pack has two wizards for creating connection to a server: J2ME
Web Service Client - generates client using Webservices API (JSR172) &
Mobile Client to Web Application - generates a server part and a client
part that communicates together. You can generate mobile clients to
Webservice client too. The Mobile Client to Web Application needs an
Web Application with webservice client, a class or a servlet that will
provide data to it. Unfortunately the Mobile Client to Web Application
doesn't work with JAX-WS 2.0 webservice clients. Read more from Lukas.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=695">http://services.netbeans.org/newsletter/story.php?id=695</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>