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

<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# 30-Mar 13:10 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #194 - Mar 30, 2005</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #194 - Mar 30, 2005<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2005-03-30.html'>https://netbeans.org/community/news/newsletter/2005-03-30.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>Online Survey: Help Shape the Future of the NetBeans Profiler Project
A new survey has been launched that will aid in planning and defining
the focus of future NetBeans Profiler releases, as well as to better
understand the target users of profiling tools. Whether you currently
use the NetBeans Profiler, some other profiling tool, or do not use
profiling at all, it will be very useful to hear from you! Please take
a minute now to complete the survey:
&lt;<a href="http://services.netbeans.org/profiler_survey.php">http://services.netbeans.org/profiler_survey.php</a>&gt;

J2SE 5.0 Update 2 / NetBeans 4.0 Bundle Released
If you have not migrated to NetBeans 4.0 yet this distribution of the
J2SE Development Kit (JDK) includes NetBeans IDE, the powerful
integrated development environment for developing applications on
platform. Download the bundle at:
&lt;<a href="http://java.sun.com/j2se/1.5.0/download.jsp">http://java.sun.com/j2se/1.5.0/download.jsp</a>&gt;

Launching the eBay Java SDK API Calls Demo Sample Application from
NetBeans 4.0
In a follow-up to the 23 Feb 2005 article, Using NetBeans to Develop
with the eBay SDK for Java, Brian Leonard continues his work with the
eBay SDK and shows you how to create a NetBeans project that will run
and debug the API Calls Demo sample application.
&lt;<a href="https://netbeans.org/kb/articles/ebay-sdk-api-calls-demo.html">https://netbeans.org/kb/articles/ebay-sdk-api-calls-demo.html</a>&gt;

Swing Pointers: A Collection of Desktop and Swing Links
New to swing and NetBeans? Check out the blog by Charles Ditzel. A
wealth of resources is at your finger tips. Don't let them go to waste:
&lt;<a href="http://cld.blog-city.com/read/1149708.htm">http://cld.blog-city.com/read/1149708.htm</a>&gt;

Sun Tech Days Sao Paulo Brazil
If you are going to be at Sun Tech Days in Sao Paulo be sure to stop
by, meet the NetBeans team and get your free CD containing NetBeans
IDE 4.0 and NetBeans IDE 4.1 early access version. There is still
time to register:
&lt;<a href="http://developers.sun.com/events/techdays/locations/">http://developers.sun.com/events/techdays/locations/</a>&gt;

Cell Phone Adventures
In John Carmack's Blog he talks about using NetBeans. Pretty Cool:
&lt;<a href="http://www.armadilloaerospace.com/n.x/johnc/recent%20updates/archive?news_id=295">http://www.armadilloaerospace.com/n.x/johnc/recent%20updates/archive?news_id=295</a>&gt;

NetBeans RCP (Rich Client Platform) in Action
In this two-part blog entry Elan Meng discusses NetBeans and using
the NetBeans Platform to develop a tool called MP3 Renamer. A nice
little entry that is worth the read:
&lt;<a href="http://blogs.sun.com/roller/page/dreamwords/20050328">http://blogs.sun.com/roller/page/dreamwords/20050328</a>&gt;
&lt;<a href="http://blogs.sun.com/roller/page/dreamwords/20050329">http://blogs.sun.com/roller/page/dreamwords/20050329</a>&gt;

Mevenide 0.6 Released for NetBeans 4.0 and 4.1
The project's aim is to provide Maven project type support for the
NetBeans IDE 4.0. Features include: recognition of Maven projects,
setup of the project in the IDE, running Maven, editor support for
configuration files etc. Get it today at:
&lt;<a href="http://mevenide.codehaus.org/mevenide-netbeans-project/">http://mevenide.codehaus.org/mevenide-netbeans-project/</a>&gt;

XTT 5.0 Supports NetBeans 4.0
XTT - Smart Web Clients for Java provides a unique Java Application
Construction Environment that enables building smarter, richer,
thinner, swing-based Internet applications by providing an intuitive
rapid application environment for the developer while delivering rich,
complex, stand-alone Web application functionality to the end-users
desktop. Free download:
&lt;<a href="http://www.insitechinc.com/xtt.php3">http://www.insitechinc.com/xtt.php3</a>&gt;

Cast Your Vote for the Next iPod Winner
The competition is drawing to a close. Voting closes April 4th so get
cast your vote today:
&lt;<a href="https://netbeans.org/competition/win-with-netbeans.html">https://netbeans.org/competition/win-with-netbeans.html</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>