
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NetBeans Weekly Newsletter, Issue # 364</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<meta name="keywords" content="NetBeans, IDE, Platform, free, open source, developer" >
</head>
<body>
<style>
body {
		margin:5px 15px 5px 15px;
		font-size: 11px;
		font-family: Verdana, "Verdana CE",  Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif;
		background-color:#e3eaf1;
		text-align:center;
}

#letter {width:533px;margin-left:auto;margin-right:auto;}
#head {background-image:url("http://services.netbeans.org/appl2/shared_images/head.png");width:533px;height:70px;background-repeat:none;}
#issue-date {padding-top:50px;text-align:center; color:white;}
#footer {background-image:url("http://services.netbeans.org/appl2/shared_images/footer.png"); width:533px;height:28px;background-repeat:none;}
#footer-text {padding-top:5px;color:#6a6b6d;text-align:center;}
#content {border-right:3px solid #747d9e;border-left:3px solid #747d9e; background-color:white; text-align:left; color:#6a6b6d; padding:13px 20px 13px 13px; }
#letter h1 {font-size: 14px; font-weight:normal; margin:3px 0px 5px 0px; padding:0px;color: #EE6B00; border-bottom:1px solid silver;}
#letter h2 {color:#2C3C79;font-size: 13px; font-weight:normal;margin:0px 0px 2px 0px;padding:0px; border:0px;}
#letter p {padding: 0px;margin:0px; text-align:justify;}
#letter a:link, a:visited { color: #045491; font-weight : normal; text-decoration: none;}
#letter a:link:hover, a:visited:hover  { color: #045491; font-normal : bold; text-decoration : underline;}
.item {margin-left:8px; margin-bottom:9px;}
.bold {font-weight:bold;}
#letter a.orange {color: #EE6B00;}
.align-right {text-align:right;}
.align-center {text-align:center;}
.edited {margin:15px -20px 0px -13px;padding-top:8px;text-align:center;}
.edge-top {background-color: #f0f7ff;padding:7px 12px 7px 7px;margin-bottom:10px; border:1px solid #747d9e;}
</style>


<div id="letter">
	<div id="head">
		<div id="issue-date" class="bold">
				Issue # 364 - Oct 21, 2008
		</div>
	</div>
	<div id="content">
	
				<h1>Project News</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2808">NetBeans 6.5 Release Candidate Now Available</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=2010&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='100' width='100' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						NetBeans.org is proud to announce the availability of NetBeans IDE 6.5 Release Candidate! The focus of NetBeans IDE 6.5 is simplified and rapid development of web, enterprise, desktop, and mobile applications with PHP, JavaScript, Java, C/C++ , Ruby, and Groovy. The Release Candidate improves on the support offered in 6.5 Beta. <a href="https://netbeans.org/community/releases/65/">Learn more</a> about the release, get <a href="https://netbeans.org/kb/index.html">tutorials</a>, and <a href="http://download.netbeans.org/netbeans/6.5/rc/">download</a> the release today!</p><br style="clear:both;"/>
					</div>
				<h1>Community</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2805">Show Your NetBeans Spirit - Enter the NetBeans 10th Birthday Decathlon!</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=2013&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='68' width='68' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						The NetBeans 10th Birthday Bash is on! Be a part of the celebration by taking part in our Birthday Decathlon. You don't need to be an athlete, just enthusiastic about the NetBeans project and community! Watch a NetBeans webinar, review a plugin, submit a video greeting, complete a survey, join our Facebook group and more. Complete any number of tasks that add up to 50 points and score a cool limited edition birthday t-shirt!</p><br style="clear:both;"/>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2809">Video: A Birthday Greeting from James Gosling!</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=2012&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='60' width='100' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						What better way to kick off our 10th birthday bash than with a retrospective and birthday greeting from the Godfather of Java, James Gosling! Visit the <a href="https://netbeans.org/birthday/">NetBeans 10th Birthday page</a> throughout the week for more unique content celebrating ten years of the NetBeans community!</p><br style="clear:both;"/>
					</div>
				<h1>Calendar</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2810">NetBeans IDE at the International PHP Conference (Oct. 27-31)</a></h2>
						<p style="margin-left:8px;">
						Meet the NetBeans team at the 2008 International PHP Conference in Mainz, Germany. NetBeans will host a <a href="http://it-republik.de/konferenzen/ext_scripts/php/sessions-popup.php?module=ipc&id=9190">session describing PHP support in the latest release of the NetBeans IDE</a>, as well as JavaScript/Ajax and database tools available in the IDE. Also, visit the Sun booth and get information about MySQL and OpenSolaris.</p>
					</div>
				<h1>Partners</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2806">Webinar: Rapid Model Driven Development on NetBeans IDE</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=2008&column=image&table=story&type=image/png&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='100' width='100' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						Join Intelliun and NetBeans technology experts for an on-demand webinar on how the NetBeans IDE and Virtual Enterprise (VE), Intelliun’s Model Driven Development (MDD) platform, simplify development of web based application and web services by raising the level of abstraction and reducing the complexity in underlying technologies.</p><br style="clear:both;"/>
					</div>
				<h1>Training</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2803">Class Property Variables - NetBeans IDE for PHP</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=2015&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='33' width='110' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						This demo from Petr Pisl shows how NetBeans IDE for PHP handles class property variables. It also highlights other editor features and how to find a declaration.</p><br style="clear:both;"/>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2804">Using Virtual Forms in NetBeans IDE</a></h2>
						<p style="margin-left:8px;">
						Explore and learn to use the new Virtual Forms feature in the NetBeans IDE with this tutorial.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2807">Building Your First JavaFX Applet</a></h2>
						<p style="margin-left:8px;">
						Using the NetBeans IDE and JavaFX plugins, learn how to easily build a JavaFX-based applet.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2811">Tech Tip: Using EditorCookie or OpenCookie to Open Files</a></h2>
						<p style="margin-left:8px;">
						NetBeans users occasionally stumble across shortcuts for working in the NetBeans IDE or solutions to minor technical stumpers. Like this entry from Damir Tesanovic about opening files of unknown type. If you have similar tips and tricks to share, let the <a href="http://wiki.netbeans.org/CommunityDocs">Community Docs team</a> know!</p>
					</div>
	<div class="edited">
	This issue was brought to you by: Tinuola Awopetu<br/>If you do not want to receive this newsletter, you can <a href="https://netbeans.org/community/lists/top.html">unsubscribe here</a>
	</div>
	<div class="edited">
        Available languages<br>
        <a href="https://netbeans.org/community/news/newsletter/index.html">English</a> | <a href="https://netbeans.org/community/news/newsletter/index_pt_BR.html">Brazilian Portuguese</a> | <a href="https://netbeans.org/community/news/newsletter/index_fr.html">French</a> | <a href="https://netbeans.org/community/news/newsletter/index_zh_CN.html">Chinese - simplified</a>
        </div>
	</div>
	<div id="footer">
		<div id="footer-text">
				This newsletter is accessible also at  <a href="https://netbeans.org/community/news/newsletter/2008-10-21.html">www.netbeans.org</a>,
				<a href="https://netbeans.org/community/news/newsletter/archive.html">newsletter archive</a>
		</div>
	</div>

</body>
</html>