<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steve On Java &#187; Events</title>
	<atom:link href="http://steveonjava.com/category/events/feed/" rel="self" type="application/rss+xml" />
	<link>http://steveonjava.com</link>
	<description>Hacking Java, JavaFX, and Flash with Agility</description>
	<lastBuildDate>Thu, 01 Dec 2011 01:36:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>JavaOne is Rebuilding Momentum</title>
		<link>http://javafx.steveonjava.com/javaone-is-rebuilding-momentum/</link>
		<comments>http://javafx.steveonjava.com/javaone-is-rebuilding-momentum/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 08:06:18 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[OSCON Java]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[javaone]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=2099</guid>
		<description><![CDATA[Just finished up an extremely busy week at JavaOne and there was a lot to like about this year&#8217;s event.  There were plenty of surprise announcements, lots of good content/sessions, and a lot of improvements on the venue and organization. For folks who have been patiently waiting for me to publish all my talks, I [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fjavaone-is-rebuilding-momentum%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fpzy4Rl%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaOne%20is%20Rebuilding%20Momentum%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/javaone-is-rebuilding-momentum/";
		var dzone_title = "JavaOne is Rebuilding Momentum";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>Just finished up an extremely busy week at JavaOne and there was a lot to like about this year&#8217;s event.  There were plenty of surprise announcements, lots of good content/sessions, and a lot of improvements on the venue and organization.</p>
<p>For folks who have been patiently waiting for me to publish all my talks, I apologize for the delay&#8230;  giving 4 talks + a keynote (plus 3 more talks at Silicon Valley Code Camp yesterday) was a lot more work than I expected.  To make sure I can cover the topics and code in enough detail I am going to publish 1 talk plus commentary a day for the next week.  Please follow me on <a href="http://twitter.com/steveonjava">twitter</a> or <a href="http://steveonjava.com/feed/">rss</a> to catch the updates as they roll out.</p>
<p>To get you started, here are some of the highlights from JavaOne:</p>
<h3>JavaFX is back in the spotlight!</h3>
<p>After a year of hibernation, JavaFX is back with a 2.0 release, big open source announcement (more on this below), and mobile prototypes on Android and iOS.  For those naysayers who said JavaFX is dead, Oracle has proved that they are going to continue to move the platform forward and support state-of-the art development on Java client technology.  As always, Jasper and the rest of the JavaFX team had some pretty impressive demos and the entire Java community was re-energized about the future of client Java.</p>
<p>If you haven&#8217;t already, go <a href="http://javafx.com/">download JavaFX 2.0</a> right now!  It is available in production for Windows and there is a developer preview of Mac OS X, so you have no excuse for not trying it out today.  (unless you are on Linux&#8230;  but that is supposed to be coming soon too)</p>
<h3>The Open Source Petition Was Successful!</h3>
<p>Thanks to all my blog readers who spent the time and energy to sign and support the <a href="http://javafx.steveonjava.com/javafx-petition/">petition to open source JavaFX</a>.  In part due to the huge community sentiment about the need to open source JavaFX, Oracle has taken action and promised to open source the entire platform.  They are going to start with the controls library as announced last year, and continue to open source the entire platform as part of the OpenJDK project.</p>
<p>This is a huge benefit to JavaFX, which will finally be getting equal treatment with the rest of the Java platform.  They are also actively working on getting JavaFX to be fully redistributable, which will remove yet another obstacle to making JavaFX the standard for desktop development.</p>
<h3>Community, Community, Community.</h3>
<p>Oracle has been listening to the Java community, and put in place many of the changes and suggestions that were raised.  This was evident in the entire JavaOne conference, which was a huge improvement over last year&#8217;s event.  Some of the improvements that I noticed while hanging out at JavaOne this year included:</p>
<ul>
<li>A Community-focused Keynote &#8211; While I may have been biased as a participant, I thought the best keynote of the conference was the wrap-up community keynote that <a href="http://twitter.com/#!/Sharat_Chander">Sharat Chander</a> lead.  This included some amazing demos by the Duke&#8217;s Choice Winners of audible development for the blind and home automation using Glassfish, a spicy panel that had a lot of positive things to say about the Java Community and <a href="http://www.oscon.com/oscon2011">OSCON Java</a>, and a surprise appearance by the <a href="http://javaposse.com/">Java Posse</a> who were at 3/4 of their finest!  (the 1/4 being poor Tor, the Googler)</li>
<li>Community Hang Spaces &#8211; While navigating the conference it was much easier to bump into folks you know by hanging around one of the many hang spaces that were built out around the venue.  In fact, <a href="http://twitter.com/#!/deanriverson">Dean Iverson</a> and I found ourselves preparing for one of our talks in the hang area, because it was more conducive to collaboration and interaction than the speaker room.</li>
<li>Easier Venue Navigation &#8211; A couple things contributed to this&#8230;  One was that all 3 hotels were reserved for JavaOne talks, so you had more talks concentrated in the same vicinity.  Another was the plethora of helpful staff directing traffic and answering questions (I made quite a lot of use out of this myself).  Finally, the signage and open tent configuration made it much easier to get form Point A to Point B.</li>
</ul>
<h3>And a Few Things to Improve for Next Year&#8230;</h3>
<p>Everyone has their personal gripes&#8230;  here are some of mine:</p>
<ul>
<li>Fewer Sponsored Keynotes &#8211; When you pay big $$$ to attend a conference, the last thing you want to do is sit in a session and watch a canned talk by a corporate stooge.  The Juniper Networks talk was a particularly blatant example of something that was not really focused on the Java crowd tossed in as a sales kick-back.  In the future, it would be better to make the sponsors earn the attention of the attendees by labeling the talks as sponsored and giving attendees some alternatives.</li>
<li>Better Network Connectivity &#8211; It was almost impossible to get on the wifi network in any crowded situation (like a session), and once connected the response times were abysmal. That is until everyone left around Thursday midday and the network started going blazingly fast for those who stuck it out for the last few talks.  <img src='http://steveonjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Improved Tech Support on Talks &#8211; I listened to the presenter advice and formatted all my slides in 16:9, which didn&#8217;t seem to work for the first couple talks that had big black letter-boxes above and below the slides.  Also, my first talk had no network connectivity on the wired connection (and as I mentioned, wireless was useless).  However, I had to the good fortune of giving way too many talks, so by the time I got to my 3rd and 4th ones they seemed to have figured out how to use the very expensive screen adjustment boxes and got everything tuned just right.  Also, the wired network seemed to work fine in all the other rooms I hi.</li>
<li>Patching Things Up With Google &#8211; This is the second year that Google has refused to let anyone speak at JavaOne. They blame the lawsuit for this, but at some point the policy is more retaliation than just good legal defense. (Is letting Tor speak on stage in a community setting is really going to jeopardize the Android platform?) The real losers in this battle are the average developer who is missing out on great technology and content from one of the most innovative companies in the world.</li>
</ul>
<p>Overall, JavaOne was a great conference this year, and is definitely back on the upswing.  There was mention of improving the venue in the community keynote, and I hope the upper management at Oracle takes this seriously.  The 3-hotel setup is not ideal, and really not large enough to contain the Java community.  It is time to unleash the Java Community in a full conference venue of its own.</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/javaone-is-rebuilding-momentum/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/javaone-is-rebuilding-momentum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Steveonjava Track at JavaOne</title>
		<link>http://javafx.steveonjava.com/steveonjava-track-at-javaone/</link>
		<comments>http://javafx.steveonjava.com/steveonjava-track-at-javaone/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 10:10:56 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JFXtras]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Visage]]></category>
		<category><![CDATA[javaone]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=2011</guid>
		<description><![CDATA[The JavaOne Session Builder is now up and available for setting up your sessions. If you are not used to the JavaOne ritual, it is always a good idea to sign-up for sessions well in advance so you don&#8217;t get bumped out of the more popular ones. This also helps them fix the room allocation [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fsteveonjava-track-at-javaone%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Steveonjava%20Track%20at%20JavaOne%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/steveonjava-track-at-javaone/";
		var dzone_title = "Steveonjava Track at JavaOne";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>The <a href="https://oracleus.wingateweb.com/scheduler/home.jsp">JavaOne Session Builder</a> is now up and available for setting up your sessions.  If you are not used to the JavaOne ritual, it is always a good idea to sign-up for sessions well in advance so you don&#8217;t get bumped out of the more popular ones.  This also helps them fix the room allocation so popular talks get the right size room.</p>
<p>I put together my own schedule of all the JavaFX-related content I plan to attend, and published it on Google Calendar.  It is also a pretty good guide to some of the top JavaFX content that is being featured at JavaOne this year. &#8212; Apologies to my fellow speakers with conflicting session slots.  I wish I could be in multiple places at once, but even rich client technology is not that advanced &#8212; yet.</p>
<p class="note">Note: Click for details &#8212; sessions I am actually giving are highlighted in green.</p>
<p><iframe src="https://www.google.com/calendar/embed?title=JavaOne%20Schedule&amp;showTitle=0&amp;showNav=0&amp;showDate=0&amp;showPrint=0&amp;showTabs=0&amp;showCalendars=0&amp;showTz=0&amp;mode=AGENDA&amp;height=870&amp;wkst=1&amp;bgcolor=%23FFFFFF&amp;src=slsl4fn4gnm6tq1kqrec4ptu64%40group.calendar.google.com&amp;color=%23856508&amp;src=5d4cejj2d80q77betbl9mpedm8%40group.calendar.google.com&amp;color=%23125A12&amp;ctz=America%2FLos_Angeles&#038;dates=20111002%2F20111006" style=" border-width:0 " width="650" height="870" frameborder="0" scrolling="no"></iframe></p>
<p>Also, for those of you brave enough to attempt to use the schedule builder, it is no simple feat.  The UI is fairly convoluted, so getting your schedule tweaked to be just right takes a lot of time and experimentation.  Fortunately, I did a lot of this work for you and have figured out the happy path through the system.</p>
<p>JavaOne Schedule Builder Happy Path:</p>
<ol>
<li>Login to the system and go to the <a href="https://oracleus.wingateweb.com/scheduler/eventcatalog/eventCatalogJavaOne.do?ts=1314863228804">JavaOne Content Catalog</a></li>
<li>Setup your filters to get the sessions you want (if you are reading this, you probably want to search on &#8220;javafx&#8221;)</li>
<li>Click on the stars to pick the sessions you are interested in &#8212; this adds them to the &#8220;My interests&#8221; list</li>
<li>Finally, click on &#8220;Schedule My Interests&#8221; and follow the little wizard UI</li>
</ol>
<p>Just about any other path through the system (scheduling by time, resolving conflicts as you add sessions, etc.) is fraught with peril, so be warned.  <img src='http://steveonjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy, and I hope to see you at JavaOne!</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/steveonjava-track-at-javaone/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/steveonjava-track-at-javaone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Improving Java 1 Bytecode at a Time</title>
		<link>http://javafx.steveonjava.com/improving-java-1-bytecode-at-a-time/</link>
		<comments>http://javafx.steveonjava.com/improving-java-1-bytecode-at-a-time/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 07:13:58 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[OSCON Java]]></category>
		<category><![CDATA[jvm languages]]></category>
		<category><![CDATA[oscon]]></category>
		<category><![CDATA[stumptown coffee]]></category>
		<category><![CDATA[voodoo donuts]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1956</guid>
		<description><![CDATA[This past weekend we held the very first OSCON JVM Languages Symposium. This was truly a meeting of minds with a huge brain trust of language authors, JVM hackers, and professional developers tackling some of the biggest issues for the Java community at large. I think we had a pretty good recipe for success that [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fimproving-java-1-bytecode-at-a-time%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FnDYCP2%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Improving%20Java%201%20Bytecode%20at%20a%20Time%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/improving-java-1-bytecode-at-a-time/";
		var dzone_title = "Improving Java 1 Bytecode at a Time";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>This past weekend we held the very first <a href="http://jvmlangsymposium.eventbrite.com/">OSCON JVM Languages Symposium</a>.</p>
<p>This was truly a meeting of minds with a huge brain trust of language authors, JVM hackers, and professional developers tackling some of the biggest issues for the Java community at large.</p>
<p>I think we had a pretty good recipe for success that went something like this:</p>
<ul>
<li><strong>We ate some yummy <a href="http://voodoodoughnut.com/index.php">Voodoo Donuts</a></strong></li>
<ul>
<li>(while discussing the impact of Java 7++ on JVM languages)</li>
</ul>
<li><strong>Washed down our donut remains with some of Portland&#8217;s finest <a href="http://www.stumptowncoffee.com/">Stumptown coffee</a></strong></li>
<ul>
<li>(while discussing JVM language interoperability)</li>
</ul>
<li><strong>Had some tasty pizza and drinks on a private patio</strong></li>
<ul>
<li>(while pontificating on JVM community dynamics)</li>
</ul>
<li><strong>And then back for some more <a href="http://voodoodoughnut.com/index.php">Voodoo Donuts</a>&#8230;</strong></li>
</ul>
<p>As you can see, we took our work (and play) very seriously.</p>
<p>Thanks to our sponsors, <a href="http://typesafe.com/">Typesafe</a> and <a href="http://www.oscon.com/oscon2011">OSCON</a>, this event was entirely free to the participants.</p>
<p>The full proceedings of our event can be found below&#8230;  given the success, I am looking forward to making this a long standing OSCON Java tradition!</p>
<style>
#wrap1 { width: 650px; height: 480px; padding: 0; overflow: hidden; }
#frame1 { width: 867px; height: 640px; border: 1px solid black; }
#frame1 {
    zoom: 0.75;
    -moz-transform: scale(0.75);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.75);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.75);
    -webkit-transform-origin: 0 0;
}
</style>
<div id="wrap1">
<iframe id="frame1" src="https://docs.google.com/document/pub?id=1ni5a5kLQlwWuiG6CtICpXO3jtyDJFsTkW9UgpNdmPt4&amp;embedded=true"></iframe>
</div>
<p><a href="https://docs.google.com/document/d/1ni5a5kLQlwWuiG6CtICpXO3jtyDJFsTkW9UgpNdmPt4/edit?hl=en_US">OSCON JVM Language Proceedings</a></p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/improving-java-1-bytecode-at-a-time/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/improving-java-1-bytecode-at-a-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Frugal Geek&#8217;s Guide to Conference Crashing</title>
		<link>http://flash.steveonjava.com/the-frugal-geeks-guide-to-conference-crashing/</link>
		<comments>http://flash.steveonjava.com/the-frugal-geeks-guide-to-conference-crashing/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 08:03:12 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[OSCON Java]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[crashing]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[oscon]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1949</guid>
		<description><![CDATA[Conferences are expensive&#8230;  they assume you work for a stacked megacorporation that believes the fastest path to increasing their shareholder value is investing in your individual career training.  If your employer is not having a great year or has had a surge of resignations from last year&#8217;s crew of esteemed conference goers, chances are that [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fthe-frugal-geeks-guide-to-conference-crashing%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fo7aBq9%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22The%20Frugal%20Geek%27s%20Guide%20to%20Conference%20Crashing%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/the-frugal-geeks-guide-to-conference-crashing/";
		var dzone_title = "The Frugal Geek&#8217;s Guide to Conference Crashing";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>Conferences are expensive&#8230;  they assume you work for a stacked megacorporation that believes the fastest path to increasing their shareholder value is investing in your individual career training.  If your employer is not having a great year or has had a surge of resignations from last year&#8217;s crew of esteemed conference goers, chances are that you won&#8217;t be getting reimbursed to attend your local geek-fest.</p>
<p>Fortunately for you, I happen to know the inside secrets to enjoying all the conference perks at <a href="http://www.oscon.com/">OSCON</a> without handing over a single Benjamin.</p>
<h3>Secret 1:  Conference pre-events are free and easily crashable!</h3>
<p>Today I dropped in completely unexpectedly on the <a href="http://www.oscon.com/oscon2011/public/schedule/detail/20413">Community Leadership Summit</a> today, and even after boldly announcing myself as a party crasher was awarded with a super-secret badge (a.k.a. index card w/sharpie etchings).  This gave full access to their sessions and let me attend the after-party for free drinks!</p>
<p>Tomorrow I am planning on crashing the free <a href="http://jvmlangsymposium.eventbrite.com/">OSCON JVM Languages Symposium</a>&#8230;  I hear they have some of Portland&#8217;s scariest pastries being brought in and might even be doing a free lunch outing thanks to their sponsor, <a href="http://typesafe.com/">Typesafe</a>.</p>
<p><a href="http://voodoodoughnut.com/index.php"><img class="alignnone size-full wp-image-1950" title="voodoo-doll-doughnut" src="http://steveonjava.com/wp-content/uploads/2011/07/voodoo-doll-doughnut.jpg" alt="" width="336" height="298" /></a></p>
<p>It helps that both of these events have an unbelievably high Rockstar to attendee ratio&#8230;  more on why this matters a little later.</p>
<h3>Secret 2:  The best type of conference pass is the free type</h3>
<p>There are 9! different OSCON passes available for you to choose from on the registration site.  While this is a bewildering array of options, but if you pay attention to the price it is quite an easy decision.  Click the &#8220;Register Now&#8221; button below and you are good to go:</p>
<p><a href="http://www.oscon.com/oscon2011/public/content/free"></a><a href="http://www.oscon.com/oscon2011/public/regwith/expopass"> <img src="http://assets.en.oreilly.com/1/eventprovider/1/cta_global_register.png" alt="Register" width="300" height="38" /> </a><br />
<a href="http://www.oscon.com/oscon2011/public/regwith/expopass">Register now</a> for a FREE Expo Hall Pass (use code <strong>EXPOPASS</strong>)</p>
<p>So what are you missing out on with an Expo Pass?  Well&#8230;  you can&#8217;t sit with the rest of the attendees and listen to a canned lecture, but you can hang out with your new Rockstar friends in the hallways.  Which takes us to Secret 3&#8230;</p>
<h3>Secret 3:  Conference value = # of Rockstars / # of Attendess</h3>
<p>This makes sense if you think about it&#8230;  if you were the only attendee, surrounded by a cluster of speakers and geniuses waiting to impart their knowledge on you, it would be infinitely valuable.  Most conferences you are one speck of sand in a huge pool of attendees vying for a little bit of wisdom to be imparted on your section of the audience.  The smaller the audience, the more chance you might actually get something of value out of the experience.</p>
<p>So what does this mean for the value you get from difference conference events?</p>
<ul>
<li>Keynote = 1 speaker to 1000 attendees:  Avoid this at all costs&#8230;  you can always get the highlights off twitter, so who cares.  [as you can see, my days as a conference chair are clearly numbered.  <img src='http://steveonjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]</li>
<li>Technical Session = 1 speaker to 100 attendees:  This is slightly better, but still the odds are clearly against you!  [yes, and now my days as a speaker are coming to an end as well...  see if anyone invites me to give a technical talk again]</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/stype/BoFs">Birds of a Feather Sessions</a> = 1 speaker to 30 attendees:  A slightly better ratio, more focused, and absolutely free!</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20253">Ignite</a> = 30 speakers to 300 attendees:  Ignite talks are for the speaker grazer in all of us&#8230;  yeah, talk your heart out&#8230;  for 5 minutes.  If you haven&#8217;t impressed us in that amount of time, at 40 minute session will not change our opinion.  It also helps that this event is absolutely free!</li>
<li>Unconference = 20 speakers to 100 attendees:  Now we are talking.  With this many technical gurus walking around you are virtually bound to learn something&#8230;  without even without trying!  This includes the <a href="http://jvmlangsymposium.eventbrite.com/">JVM Languages Symposium</a> and <a href="http://www.oscon.com/oscon2011/public/schedule/detail/20413">Community Leadership Summit</a>, both of which are free!</li>
<li>OSCON Hallways = 1 speaker to 1 attendee:  When you bump into <a href="http://twitter.com/#!/odersky">Martin Odersky</a> in the hallways after having had some good times over beer and pizza at the <a href="http://jvmlangsymposium.eventbrite.com/">JVM Languages Symposium</a> you are at a ratio where the real value comes in!  (and didn&#8217;t pay a dime to start the conversation)</li>
</ul>
<p>If you were paying attention, you probably noticed an interesting relationship&#8230;  the most valuable parts of the conference were the parts that cost absolutely nothing to get into.  (don&#8217;t let your megacorp friends know about this, or all the wonderful corporate sponsorships that pay for all these extras might dry up!)</p>
<h3>Secret 4:  Free stuff is the open source way</h3>
<p>Open source is all about giving software out for free, right?  Well, maybe there is more to it than that, but there is still plenty of free conference stuff flying around that you can take advantage of with over 60 <a href="http://www.oscon.com/oscon2011/public/content/exhibitors">exhibitors</a> waiting to hand you prizes just for the privilege of scanning your free badge!</p>
<h3>Secret 5:  And parties galore!</h3>
<p>While all those folks who paid for the high priced admission tickets may think they are special, the reality is that from a sponsor&#8217;s point of view, their eyeball is worth exactly the same as yours.  This means that you have an equal opportunity to take advantage of the most important part of any conference experience&#8230;  the parties!</p>
<p>Here are some of the free events that you won&#8217;t want to miss out on:</p>
<ul>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20268">Opening Reception</a> &#8211; Grab a drink and mingling with exhibitors and fellow attendees</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20269">OSCON Carnival</a> &#8211;  Join us for food, drinks, entertainment, and lots of good old fashioned fun</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20865">Puppet Labs Party</a> at their headquarters in Portland&#8217;s Pearl District.</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/21329">OpenStack Party</a> &#8211; Join OpenStack for cocktails and hors d’oeuvres at the Spirit of 77</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/21330">Surprise Attendee Event</a> on Wednesday evening (sorry, we can&#8217;t tell you anything else about this event because it&#8217;s a secret)</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20270">Booth Crawl</a> where you can quench your thirst with vendor-hosted libations and   snacks while you check out all the cool stuff in the expo hall.</li>
<li><a href="http://www.oscon.com/oscon2011/public/schedule/detail/20866">Media Temple Party</a> at the Jupiter Hotel with open bar, music, and all you can eat tacos!</li>
</ul>
<h3>Final Secret:  Everyone can be a Rockstar</h3>
<p>What makes the difference between a Rockstar speaker and an attendee?  Just the drive to do something with technology and be proud of it.  You can be an open-source contributor, user group leader, and technical speaker if you simply apply the skills you already have to the benefit of the community.  Don&#8217;t expect to get paid much, but at least it is a really easy way to get invited to conferences around the world.</p>
<p>&#8212;-</p>
<p>While this article is all meant in good humor, on a serious note I want to thank the O&#8217;Reilly folks for putting on OSCON, offering discounted expo tickets, and compiling this great <a href="http://www.oscon.com/oscon2011/public/content/free">list</a> of free events.<a href="http://www.oscon.com/oscon2011/public/content/free"><br />
</a></p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/the-frugal-geeks-guide-to-conference-crashing/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/the-frugal-geeks-guide-to-conference-crashing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Celebrating Java 7 with 7 Reasons to Attend OSCON Java</title>
		<link>http://javafx.steveonjava.com/celebrating-java-7-with-7-reasons-to-attend-oscon-java/</link>
		<comments>http://javafx.steveonjava.com/celebrating-java-7-with-7-reasons-to-attend-oscon-java/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 23:31:32 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[OSCON Java]]></category>
		<category><![CDATA[java 7]]></category>
		<category><![CDATA[jvm languages]]></category>
		<category><![CDATA[oscon]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1844</guid>
		<description><![CDATA[OSCON Java is a new conference that I am helping to kick off as co-chair this July.  While there are plenty of conferences out there that you could attend, I am confident that this is the one you won&#8217;t want to miss. To celebrate the Java 7 release, I put together 7 reasons why you [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fcelebrating-java-7-with-7-reasons-to-attend-oscon-java%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FokllHE%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Celebrating%20Java%207%20with%207%20Reasons%20to%20Attend%20OSCON%20Java%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/celebrating-java-7-with-7-reasons-to-attend-oscon-java/";
		var dzone_title = "Celebrating Java 7 with 7 Reasons to Attend OSCON Java";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p><a href="http://www.oscon.com/oscon2011/public/content/java">OSCON Java</a> is a new conference that I am helping to kick off as co-chair this July.  While there are plenty of conferences out there that you could attend, I am confident that this is the one you won&#8217;t want to miss.</p>
<p>To celebrate the Java 7 release, I put together 7 reasons why you should attend OSCON Java.  Also, make sure to use the 20% discount code of &#8220;OS11COM&#8221; when you register:</p>
<div class="download"><a href="https://en.oreilly.com/oscon2011/public/register">Register now</a></div>
<h3>1. Come Celebrate the First New Java Release in Half a Decade!</h3>
<p><a href="http://jdk7.java.net/"><img class="alignnone" title="Java 7" src="http://geeknizer.com/wp-content/uploads/java7.jpg" alt="" width="138" height="131" /></a></p>
<p>The last major release of Java was Java 6, which came out 5 years ago on December 11, 2006.  After only a year of the Sun acquisition, Oracle has already made a major Java release happen with another scheduled in a year&#8217;s time.</p>
<p>We have broad coverage of the <a href="http://jdk7.java.net/">Java 7</a> release with a keynote and technical session by <a href="http://www.oscon.com/oscon2011/public/schedule/detail/21184">Joe Darcy</a>, and technical sessions on OpenJDK and Coin by <a href="http://www.oscon.com/oscon2011/public/schedule/detail/21184">Dalibor Topic</a> and <a href="http://www.oscon.com/oscon2011/public/schedule/detail/20049">Stuart Marks</a>.  I have been pretty impressed with Stuart&#8217;s coverage of topics from a developer&#8217;s perspective and am looking forward to his talk myself.  <img src='http://steveonjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>2. Because Google Matters</h3>
<p><img class="alignnone" title="Joshua Bloch" src="http://assets.en.oreilly.com/1/eventprovider/1/_@user_121468.jpg" alt="" width="75" height="100" /></p>
<p>Regardless of what you think about the Android lawsuit, I think the biggest detriment has been the lack of good content on Google technologies at Java conferences.  We are an independent conference, so it allows us to bring content that you would otherwise not find, such as an exclusive keynote from Joshua Bloch and several mobile <a href="http://www.oscon.com/oscon2011/public/schedule/tag/android">Android sessions</a> to help you leverage your Java skills on modern devices.</p>
<h3>3. You Think JVM Languages are Cool</h3>
<p><img class="alignnone" title="Martin Odersky" src="http://assets.en.oreilly.com/1/eventprovider/1/_@user_106308.jpg" alt="" width="75" height="100" /></p>
<p>It has been said that the crown jewel of the Java platform is the JVM, not the language.  Java 7 has further solidified this with better support for dynamic languages.  Come find out what is the latest and greatest on the alternative language front with a keynote and some meaty sessions from <a href="http://www.oscon.com/oscon2011/public/schedule/detail/17884">Martin Odersky</a>, deep technical sessions on Groovy, Clojure, Scala, and other languages, and some bytecode hacking with <a href="http://www.oscon.com/oscon2011/public/schedule/detail/19924">Charles Nutter</a>.</p>
<h3>4. And You Wouldn&#8217;t Mind Hanging out with JVM language Authors for a Day&#8230;</h3>
<p><a href="http://jvmlangsymposium.eventbrite.com/"><img class="alignnone" title="JVM Langauge Symposium" src="http://evbdn.eventbrite.com/s3-s3/eventlogos/1862435/1630108699-2.png" alt="" width="205" height="200" /></a></p>
<p>On the Sunday before OSCON we are organizing a free <a href="http://jvmlangsymposium.eventbrite.com/">JVM Languages Symposium</a> that many of the speakers will be attending.  This is a great opportunity to hang out with JVM language authors and the movers and shakers in the industry in an informal unconference atmosphere.  Events like this are what I believe sets apart community-driven conferences from large corporate events, and provide a lot more value to the attendees than simply one-way content.  If you happen to be in the Portland area, you can drop by for this free event with no obligation to stay for OSCON.</p>
<h3>5. Your Boss Won&#8217;t Let You Fly to Belgium</h3>
<p><a href="http://devoxx.com/"><img class="alignnone" title="Devoxx" src="http://www.devoxx.com/download/attachments/4751369/DV11?version=10&amp;modificationDate=1305560192000" alt="" width="218" height="80" /></a></p>
<p>I travel to speak at different conferences around the world and I would have to say that the golden standard for Java conferences is <a href="http://devoxx.com/">Devoxx</a>.  They have an amazing venue &#8212; it is great to see your slides on a huge movie screen, and relaxing for attendees to take it in from nice, plush seats.  They attract an international audience&#8230;  not only Belgium, but Italy, France, Germany, and citizens of many of the other surrounding countries consider Devoxx their home conference. Even though Devoxx is a wildly successful conference, they still have a small-conference feel, run by a very tight knit conference committee that acts more like a user group than an organization. This makes the entire conference experience much more personalized.</p>
<p>OSCON Java has a lot of similarities with Devoxx. It has a small, enthusiastic program committee with folks who really care about Java technologies. We are also following the Devoxx model of recording and posting talks online afterwards, so even if you miss a great talk because you are in the room next door, you can always watch it online later. Finally, since we are an independent conference, you get the full experience of Java, Android, and other technologies that you would otherwise have to go to multiple conferences to see.</p>
<h3>6. OSCON is a Pretty Sweet Conference as Well&#8230;</h3>
<p><a href="http://www.oscon.com"><br />
<img src="http://assets.en.oreilly.com/1/event/61/oscon2011_attending_210x60.gif " border="0" alt="OSCON 2011" width="210" height="60" /><br />
</a><br />
The O&#8217;Reilly OSCON conference has been underrepresented in the Java community, but is a pretty huge event in its own right.  They have some amazing content around <a href="http://www.oscon.com/oscon2011/public/schedule/topic/Emerging%20Languages">emerging languages</a> and <a href="http://www.oscon.com/oscon2011/public/schedule/topic/Mobile%20Platforms">mobile platforms</a>.  Plus, you can get OSCON, OSCON Java, and OSCON Data all wrapped up in one neat package with the <a href="https://en.oreilly.com/oscon2011/public/register">OSCON Superpass</a>.</p>
<h3>7. There is Only One Inaugural Year!</h3>
<p><a href="http://www.oscon.com"><br />
<img src="http://assets.en.oreilly.com/1/event/61/oscon2011_java_attending_468x60.gif" border="0" alt="OSCON Java 2011" width="468" height="60" /><br />
</a><br />
This is our first year putting on <a href="http://www.oscon.com/oscon2011/public/content/java">OSCON Java</a>, so we are pulling out all the stops with the best speakers, tutorials, content, and events.  You will have a unique opportunity to participate in the creation of a new Java tradition, and a decade from now can brag to your friends about being a founding attendee of the biggest open-source Java conference in the world.</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/celebrating-java-7-with-7-reasons-to-attend-oscon-java/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/celebrating-java-7-with-7-reasons-to-attend-oscon-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSCON Java, The Java Open Source Conference</title>
		<link>http://flash.steveonjava.com/oscon-java-the-java-open-source-conference/</link>
		<comments>http://flash.steveonjava.com/oscon-java-the-java-open-source-conference/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 00:19:15 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[OSCON Java]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1819</guid>
		<description><![CDATA[It is pretty easy to get lost in the media hype around the Java events of the past year.  If you follow the headlines, you might believe that all the Java talent left Oracle in a mass exodus, Larry hates open source, or Java is turning into the next COBOL.  Regardless of the factual correctness [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Foscon-java-the-java-open-source-conference%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fgnm2qD%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22OSCON%20Java%2C%20The%20Java%20Open%20Source%20Conference%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/oscon-java-the-java-open-source-conference/";
		var dzone_title = "OSCON Java, The Java Open Source Conference";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>It is pretty easy to get lost in the media hype around the Java events of the past year.  If you follow the headlines, you might believe that all the Java talent left Oracle in a mass exodus, Larry hates open source, or Java is turning into the next COBOL.  Regardless of the factual correctness of these headlines, the Java ecosystem is about more than a single company or set of individuals.  Java has the largest open-source community of any language in existence!</p>
<p>So how big is Java and open-source?  Here is an informal search poll of some of the most popular open-source project hosting providers:</p>
<p><a href="http://steveonjava.com/wp-content/uploads/2011/03/Open-source-platform-comparison.png"><img class="aligncenter size-full wp-image-1823" title="Open-source platform comparison" src="http://steveonjava.com/wp-content/uploads/2011/03/Open-source-platform-comparison.png" alt="" width="574" height="324" /></a></p>
<p>The data for this chart comes from the top six open-source hosting providers using Google Search as a metric for gauging activity level for each of the platforms.  As you can see, Java is still the most active open-source platform in the world, followed closely by PHP and Python.  While not an indicator of language popularity, Bill Gates has gone on record speaking out against open source, so the poor representation from the C# community is not surprising.</p>
<p>This takes us to <a href="http://www.oscon.com/oscon2011/public/cfp/159">OSCON Java</a>, which is a new conference I am helping to kick off as conference co-chair together with <a href="http://twitter.com/#!/laurelatoreilly">Laurel Ruma</a>.  It is colocated with OSCON in Portland, Oregon, but is exclusively focused on Java and open source.  O&#8217;Reilly is the conference organizer, but they are very neutral when it comes to corporations and technologies.  This allows us to reach out to a wide variety of Java technology players including Apache, Google, Adobe, Oracle, the JCP, and many others.</p>
<p>We have big plans for the OSCON Java keynotes, technical content, and exhibitors.  Also, we are working on making this a model conference from the get-go based on my experience attending and speaking at premier conference venues across the world.  Expect a huge focus on community outreach, a lot of interaction between speakers and attendees, and a particular focus on the JVM languages of tomorrow.</p>
<p>If you are interested in participating as a speaker, it is still not too late to submit a talk.  The CFP ends on March 28th (4 days!), so you still have time to submit a last minute talk:<a href="http://www.oscon.com/oscon2011/public/cfp/159"></p>
<p>http://www.oscon.com/oscon2011/public/cfp/159</a></p>
<p>If you have a great idea, but can&#8217;t get your talk together in time or miss the deadline by a few days, shoot me an e-mail via the <a href="http://steveonjava.com/contact/">contact form</a> on my blog.</p>
<p>I look forward to seeing you at OSCON Java, uniting the Java open-source community towards a brighter future!</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/oscon-java-the-java-open-source-conference/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/oscon-java-the-java-open-source-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaFX 2.0 at the Chennai JUG</title>
		<link>http://javafx.steveonjava.com/javafx-2-0-at-the-chennai-jug/</link>
		<comments>http://javafx.steveonjava.com/javafx-2-0-at-the-chennai-jug/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 20:10:41 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[chennai]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[Visage]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1801</guid>
		<description><![CDATA[I was fortunate enough to be invited to speak at the Chennai Java User Group during my trip to India.  I was expecting a small group of very devoted Java fans; however, I was surprised to walk into a room of over 200 developers eager to learn about JavaFX 2.0.  The venue was very impressive [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fjavafx-2-0-at-the-chennai-jug%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FgAJH7w%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaFX%202.0%20at%20the%20Chennai%20JUG%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/javafx-2-0-at-the-chennai-jug/";
		var dzone_title = "JavaFX 2.0 at the Chennai JUG";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I was fortunate enough to be invited to speak at the <a href="http://www.jugchennai.in/2011/02/20/javafx-with-stephen-chin-java-user-group-chennai-at-first-planet-19-February/">Chennai Java User Group</a> during my trip to India.  I was expecting a small group of very devoted Java fans; however, I was surprised to walk into a room of over 200 developers eager to learn about JavaFX 2.0.  The venue was very impressive with rows of workstations that we later used for a lab, as well as plenty of seating.</p>
<div id="attachment_1802" class="wp-caption alignnone" style="width: 660px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/DSC_0035.jpg"><img class="size-large wp-image-1802" title="Chennai JUG" src="http://steveonjava.com/wp-content/uploads/2011/02/DSC_0035-650x435.jpg" alt="" width="650" height="435" /></a><p class="wp-caption-text">Chennai User Group Venue at Tenth Planet</p></div>
<p>Also, <a href="http://twitter.com/rajmahendra">Raj</a> was a great host, and both he and the folks at <a href="http://tenthplanet.in/">Tenth Planet</a> went completely over the top with this event.  This included:</p>
<ul>
<li>A life-size poster with the event details</li>
<li>An ornamental flower arrangement with the event details</li>
<li>Two gifts presented at the conclusion of the talk</li>
</ul>
<div id="attachment_1803" class="wp-caption alignnone" style="width: 660px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/DSC_0037.jpg"><img class="size-large wp-image-1803" title="Chennai JUG Poster" src="http://steveonjava.com/wp-content/uploads/2011/02/DSC_0037-650x435.jpg" alt="" width="650" height="435" /></a><p class="wp-caption-text">Life-Size Event Poster</p></div>
<p>The session ran from 10AM through 4:30PM with a break for lunch in the middle.  When half the hands went up for returning after lunch, I didn&#8217;t believe most of them would be back, but we easily had 60% of the folks back in their seats by the time we were ready to start.</p>
<p>If you are interested to see the slides from the talk, you can find them on Slideshare <a href="http://www.slideshare.net/steveonjava/javafx-20-and-alternative-languages">here</a>:</p>
<div id="__ss_7002242" style="width: 650px;"><object id="__sse7002242" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="650" height="530" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javafxyourway-chennai-110221135800-phpapp02&amp;stripped_title=javafx-20-and-alternative-languages&amp;userName=steveonjava" /><param name="name" value="__sse7002242" /><param name="allowfullscreen" value="true" /><embed id="__sse7002242" type="application/x-shockwave-flash" width="650" height="530" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javafxyourway-chennai-110221135800-phpapp02&amp;stripped_title=javafx-20-and-alternative-languages&amp;userName=steveonjava" name="__sse7002242" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>Thanks again to the folks in the Chennai JUG for being great hosts!</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/javafx-2-0-at-the-chennai-jug/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/javafx-2-0-at-the-chennai-jug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Capability Reporter Sample and Video</title>
		<link>http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/</link>
		<comments>http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 10:12:50 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[sfandroid]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1774</guid>
		<description><![CDATA[The folks at Marakana did a great job hosting the recent Flash Android event, as well as recording and publishing the talk. As a fellow user group leader, I can appreciate the hard work that went into preparing the video, including some fine editing and splicing by Max Walker (the presentation was not as flawless [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fflash-capability-reporter-sample-and-video%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FfMdYhk%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Flash%20Capability%20Reporter%20Sample%20and%20Video%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/";
		var dzone_title = "Flash Capability Reporter Sample and Video";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>The folks at Marakana did a great job hosting the recent <a href="http://www.sfandroid.org/events/15196582/">Flash Android event</a>, as well as recording and publishing the talk.  As a fellow user group leader, I can appreciate the hard work that went into preparing the video, including some fine editing and splicing by Max Walker (the presentation was not as flawless as he made it look!)</p>
<p>You can view the talk on the <a href="http://marakana.com/forums/android/general/253.html">Marakana website</a>, or here as an embedded video:</p>
<p><a href="http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/"><em>Click here to view the embedded video.</em></a></p>
<p>All the slides for the talk can be found on SlideShare: <a href="http://www.slideshare.net/steveonjava/beginning-android-flash-development">http://www.slideshare.net/steveonjava/beginning-android-flash-development</a></p>
<h1>Flash Capability Reporter</h1>
<p>Also, as promised I am going to start posting different samples from the book.  The first of these is the Flash Capability Reporter.  It is a simple application that displays your device characteristics in a scrolling text field.  Figure 1 shows a screenshot of the Capability Reporter in action.</p>
<div id="attachment_1779" class="wp-caption alignnone" style="width: 305px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/flashcapabilityreporter.png"><img class="size-large wp-image-1779" title="Flash Capability Reporter" src="http://steveonjava.com/wp-content/uploads/2011/02/flashcapabilityreporter-295x499.png" alt="" width="295" height="499" /></a><p class="wp-caption-text">Figure 1. Flash Capability Reporter running on the desktop</p></div>
<h3><span id="more-1774"></span>Flash Mobile Setup</h3>
<p>If you want to publish to an Android device you will also need to have a current Android SDK installed.  You can download this from the Google Android site:</p>
<ul>
<li><a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a></li>
</ul>
<h3>Installing the AIR for Android Plug-in</h3>
<p>Out of the box Flash CS5 doesn&#8217;t include support for AIR for Android, so if you plan on using any mobile specific APIs you should install the AIR for Android plugin. The AIR for Android Flash  plug-in sits on top of Flash Professional CS5 and is available as a  free beta:</p>
<p><a href="http://labs.adobe.com/technologies/flashpro_extensionforair/">http://labs.adobe.com/technologies/flashpro_extensionforair/</a></p>
<p>The filename for the extension should be similar to the following:</p>
<p>AirforAndroid_FlashCS5.zxp</p>
<p>Simply double clicking on it should automatically launch the Adobe Extension Manager and install AIR for Android as shown in Figure 2. You can also open the Adobe Extension Manager manually and add in the extension by clicking on the Install button.</p>
<p class="note">Note for Windows Users: If you are running Windows Vista or Windows 7 you will need to run the Adobe Extension Manager as Administrator. To do this find Adobe Extension Manager CS5 under Windows Start Menu -&gt; All Programs -&gt; Adobe XXX CS5, right-click on it, and choose Run as Administrator.</p>
<div id="attachment_1780" class="wp-caption alignnone" style="width: 660px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/flashcs5extension.png"><img class="size-large wp-image-1780" title="Flash CS5 Extension" src="http://steveonjava.com/wp-content/uploads/2011/02/flashcs5extension-650x487.png" alt="" width="650" height="487" /></a><p class="wp-caption-text">Figure 2. Adobe Extension Manager plug-in installation</p></div>
<p>Once the AIR for Android plug-in is installed you will see some additional options in Flash CS5. This includes a new player type of AIR Android an AIR Android settings dialog, and a new AIR for Android template. To convert existing projects you can go into the project properties and change the player type to AIR Android.</p>
<h3>Creating a New Android Project</h3>
<p>To create a new AIR for Android project, open the new project dialog from File -&gt; New&#8230; and click the Templates tab. Here you can select an AIR for Android project and choose your device template as shown in Figure 3.</p>
<div id="attachment_1781" class="wp-caption alignnone" style="width: 660px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/airforandroidtemplate.png"><img class="size-large wp-image-1781" title="AIR for Android template" src="http://steveonjava.com/wp-content/uploads/2011/02/airforandroidtemplate-650x424.png" alt="" width="650" height="424" /></a><p class="wp-caption-text">Figure 3. Flash CS5 new template dialog</p></div>
<p><strong> </strong>This will create a new project with the canvas perfectly sized for a mobile project in portrait mode and allow you to test your application in Flash Professional or the AIR Debug Launcher.</p>
<h3>Writing the Flash Capability Reporter</h3>
<p>The Flash Capability Reporter is a simple application with a scrolling list that enumerates all the capabilities of the emulator or device you are running on.</p>
<p>For the Actionscript code we will use static constants from the Capabilities and Multitouch classes. Most of these return true or false, but some will return string or integer values. By using the string concatenation operator we can easily format them for display as shown in Listing 1.</p>
<p>Listing 1. Flash capability checking code</p>
<pre class="brush: jscript; title: ; notranslate">
import flash.system.Capabilities;
import flash.ui.Multitouch;

capabilityScroller.capabilities.text =
  &quot;AV Hardware Disable: &quot; + Capabilities.avHardwareDisable + &quot;\n&quot; +
  &quot;Has Accessibility: &quot; + Capabilities.hasAccessibility + &quot;\n&quot; +
  &quot;Has Audio: &quot; + Capabilities.hasAudio + &quot;\n&quot; +
  &quot;Has Audio Encoder: &quot; + Capabilities.hasAudioEncoder + &quot;\n&quot; +
  &quot;Has Embedded Video: &quot; + Capabilities.hasEmbeddedVideo + &quot;\n&quot; +
  &quot;Has MP3: &quot; + Capabilities.hasMP3 + &quot;\n&quot; +
  &quot;Has Printing: &quot; + Capabilities.hasPrinting + &quot;\n&quot; +
  &quot;Has Screen Broadcast: &quot; + Capabilities.hasScreenBroadcast + &quot;\n&quot; +
  &quot;Has Screen Playback: &quot; + Capabilities.hasScreenPlayback + &quot;\n&quot; +
  &quot;Has Streaming Audio: &quot; + Capabilities.hasStreamingAudio + &quot;\n&quot; +
  &quot;Has Video Encoder: &quot; + Capabilities.hasVideoEncoder + &quot;\n&quot; +
  &quot;Is Debugger: &quot; + Capabilities.isDebugger +  &quot;\n&quot; +
  &quot;Language: &quot; + Capabilities.language + &quot;\n&quot; +
  &quot;Local File Read Disable: &quot; + Capabilities.localFileReadDisable + &quot;\n&quot; +
  &quot;Manufacturer: &quot; + Capabilities.manufacturer + &quot;\n&quot; +
  &quot;OS: &quot; + Capabilities.os + &quot;\n&quot; +
  &quot;Pixel Aspect Ratio: &quot; + Capabilities.pixelAspectRatio + &quot;\n&quot; +
  &quot;Player Type: &quot; + Capabilities.playerType + &quot;\n&quot; +
  &quot;Screen Color: &quot; + Capabilities.screenColor + &quot;\n&quot; +
  &quot;Screen DPI: &quot; + Capabilities.screenDPI + &quot;\n&quot; +
  &quot;Screen Resolution: &quot; + Capabilities.screenResolutionX + &quot;x&quot; +
                          Capabilities.screenResolutionY + &quot;\n&quot; +
  &quot;Touch Screen Type: &quot; + Capabilities.touchscreenType + &quot;\n&quot; +
  &quot;Version: &quot; + Capabilities.version + &quot;\n&quot; +
  &quot;Supports Gesture Events: &quot; + Multitouch.supportsGestureEvents + &quot;\n&quot; +
  &quot;Supports Touch Events: &quot; + Multitouch.supportsTouchEvents + &quot;\n&quot; +
  &quot;Input Mode: &quot; + Multitouch.inputMode + &quot;\n&quot; +
  &quot;Max Touch Points: &quot; + Multitouch.maxTouchPoints + &quot;\n&quot; +
  &quot;Supported Gestures: &quot; + Multitouch.supportedGestures;
</pre>
<p>The &#8220;\n&#8221; character at the end of each line adds line breaks for readability. The resultant string is then assigned to the Flash text field with id capabilities defined in the capabilityScroller movie. The use of an embedded movie in Flash cleans up the main timeline by hiding the scrolling animation of the text.</p>
<p>While this would have been functionally complete, we added some extra graphic niceties to the completed sample, including the following:</p>
<ol>
<li>A Text Clip Mask &#8211; A gradient Rectangle is used as a mask for the text to provide both clipping at the top and bottom of the scroll region as well as a subtle blue gradient in the center of the screen. Because Flash layer masks do not work with Dynamic Text, a little bit of Actionscript glue code was added to do a runtime mask:
<ul>
<li>color.mask = capabilityScroller;</li>
</ul>
</li>
<li>Blinking Lights &#8211; A simple animation was created on the left side by using the Flash Deco Tool with a Grid Fill using a Brick Pattern. Two different colors were chosen with the Random order option checked to create the visual appearance of blinking lights over a three frame animation.</li>
<li>Android Logo and Text &#8211; No Android application is complete without a little bit of eye candy. With the full color, high resolution display available on Android you can do a lot with the graphics look of your application. In this case vector graphics were chosen for smooth scaling to any size device.</li>
</ol>
<p>You can download the completed example by clicking on the following link:</p>
<h3><span class="download"><a href="http://proandroidflash.com/examples/FlashCapabilityReporter.fla">Flash Capability Reporter</a></span></h3>
<p>To run the example, go to Control -&gt; Test Movie in Flash Professional. This will run the application within the Flash runtime as shown previously.  Alternatively you can publish it to a device, such as a Motorola Droid or Nexus One, and inspect the properties on your phone.  Figure 4 shows the Capability Reporter running on a Google Nexus One.</p>
<div id="attachment_1793" class="wp-caption alignnone" style="width: 310px"><a href="http://steveonjava.com/wp-content/uploads/2011/02/flashcapabilityreporteronnexusone.png"><img class="size-large wp-image-1793" title="Flash Capability Reporter on Nexus One" src="http://steveonjava.com/wp-content/uploads/2011/02/flashcapabilityreporteronnexusone-300x500.png" alt="" width="300" height="500" /></a><p class="wp-caption-text">Figure 4. Flash Capability Reporter on the Nexus One</p></div>
<p>You can make use of this sample during your own development to compare device features across desktop and mobile. Feel free to add to the list of capabilities and experiment with running on different devices.</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/flash-capability-reporter-sample-and-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginning Flash at the SF Android UG</title>
		<link>http://flash.steveonjava.com/beginning-flash-sf/</link>
		<comments>http://flash.steveonjava.com/beginning-flash-sf/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 08:28:01 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[sfandroid]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1763</guid>
		<description><![CDATA[One of my coauthors on the upcoming Pro Android Flash title, Oswald Campesato, and I had the pleasure of speaking to the San Francisco Android User Group.  It was a packed audience with around 150 eager Android developers who wanted to hear how they could use Flash on their devices (they were a great audience).  [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fbeginning-flash-sf%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fgck3rB%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Beginning%20Flash%20at%20the%20SF%20Android%20UG%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/beginning-flash-sf/";
		var dzone_title = "Beginning Flash at the SF Android UG";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>One of my coauthors on the upcoming <a href="http://proandroidflash.com/">Pro Android Flash</a> title, Oswald Campesato, and I had the pleasure of speaking to the <a href="http://www.sfandroid.org/events/15196582/">San Francisco Android User Group</a>.  It was a packed audience with around 150 eager Android developers who wanted to hear how they could use Flash on their devices (they were a great audience).  Here is what some of them had to say about the meetup:</p>
<ul id="rsvp-list">
<li id="rsvp_2923437"> <a id="image_2923437" href="http://www.sfandroid.org/members/2923437/"><img src="http://photos2.meetupstatic.com/photos/member/1/7/5/8/thumb_6845976.jpeg" alt="" /></a>
<div><a href="http://www.sfandroid.org/members/2923437/">Alec Dara-Abrams</a></p>
<div>Stephen and Oswald gave a very good over view of Flash development  on Android.  Like a number of other SF Android speakers, packing the  hour or so with the right level of technical detail.  Thanks to them  also for being responsive to audience questions &#8211; not so easy I&#8217;d guess  with 100+ people out there past the lighting for the video.  I&#8217;m looking  forward to following Stephen&#8217;s blog.</div>
</div>
</li>
</ul>
<ul id="rsvp-list">
<li id="rsvp_10022903"> <a id="image_10022903" href="http://www.sfandroid.org/members/10022903/"><img src="http://photos1.meetupstatic.com/photos/member/c/f/d/9/thumb_11093209.jpeg" alt="" /></a>
<div><a href="http://www.sfandroid.org/members/10022903/">Drew Dara-Abrams</a></p>
<div>Stephen and Oswald gave a good overview of the current state of  Flash on Android. Unfortunately the Adobe tools and their book won&#8217;t be  out until spring, but I appreciated all the working examples of code  that Stephen demonstrated. I&#8217;ll definitely look for their book when it  comes out.</div>
</div>
</li>
</ul>
<ul id="rsvp-list">
<li id="rsvp_13812654"> <a id="image_13812654" href="http://www.sfandroid.org/members/13812654/"><img src="http://photos2.meetupstatic.com/photos/member/a/d/2/7/thumb_11804327.jpeg" alt="" /></a>
<div><a href="http://www.sfandroid.org/members/13812654/">Francisco Carretero</a></p>
<div>Looks like an incredibly useful topic for android for giving android that push to the next level.</div>
</div>
</li>
</ul>
<p>As I promised folks in the audience, here is a copy of the full presentation.  Lots of this information was added very recently from different chapters in our book, so it is definitely the latest and greatest source of information on what you can do with Flash on mobile devices:</p>
<div style="width:425px" id="__ss_6758954"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/steveonjava/beginning-android-flash-development" title="Beginning Android Flash Development">Beginning Android Flash Development</a></strong><object id="__sse6758954" width="650" height="525"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopmentv2-110131022231-phpapp01&#038;stripped_title=beginning-android-flash-development&#038;userName=steveonjava" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse6758954" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopmentv2-110131022231-phpapp01&#038;stripped_title=beginning-android-flash-development&#038;userName=steveonjava" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="650" height="525"></embed></object></div>
<p>I will be posting examples from the book on this blog over the next few weeks.  Please <a href="http://steveonjava.com/feed/">follow</a> my blog if you are interested to see the latest examples of Flash Android capabilities.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">http://www.sfandroid.org/events/15196582/</div>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/beginning-flash-sf/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/beginning-flash-sf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternative Languages at Devoxx and Soon JavaOne Brazil</title>
		<link>http://javafx.steveonjava.com/alternative-languages-at-devoxx-and-soon-javaone-brazil/</link>
		<comments>http://javafx.steveonjava.com/alternative-languages-at-devoxx-and-soon-javaone-brazil/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 11:20:26 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[SvJugFx]]></category>
		<category><![CDATA[Visage]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[Fantom]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[javafx 2.0]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1703</guid>
		<description><![CDATA[I did my JavaFX Alternative Languages talk at Devoxx and will soon be presenting it at JavaOne Brazil (December 7-9th). During the Devoxx talk I was honored to have Martin Odersky in the audience (for those of you who don&#8217;t know him, Martin is the man behind Generic Java and now Scala).  There were several [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Falternative-languages-at-devoxx-and-soon-javaone-brazil%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FhyaIL0%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Alternative%20Languages%20at%20Devoxx%20and%20Soon%20JavaOne%20Brazil%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/alternative-languages-at-devoxx-and-soon-javaone-brazil/";
		var dzone_title = "Alternative Languages at Devoxx and Soon JavaOne Brazil";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I did my JavaFX Alternative Languages talk at Devoxx and will soon be presenting it at <a href="http://www.oracle.com/br/javaonedevelop/en/index.html">JavaOne Brazil</a> (December 7-9th).</p>
<p>During the Devoxx talk I was honored to have <a href="http://lamp.epfl.ch/~odersky/">Martin Odersky</a> in the audience (for those of you who don&#8217;t know him, Martin is the man behind <a href="http://www.cis.unisa.edu.au/~pizza/gj/">Generic Java</a> and now <a href="http://www.scala-lang.org/">Scala</a>).  There were several great questions at the end of the talk, one posed by Martin himself.</p>
<p>The question was around this Scala code fragment:</p>
<pre class="brush: javafx; title: ; notranslate">
def timeline = new Timeline {
  repeatCount = INDEFINITE
  autoReverse = true
  keyFrames = List(
    new KeyFrame(50) {
      values = List(
        new KeyValue(rect1.x() -&gt; 300),
        new KeyValue(rect2.y() -&gt; 500),
        new KeyValue(rect2.width() -&gt; 150)
      )
    }
  )
}
</pre>
<p>He was wondering why I had the extra parenthesis after the variables (x, y, and width).  In Scala using parenthesis is optional for methods and allowed for variables, so it appears to be a style issue.  However, there is a good reason for this.</p>
<p>The current JavaFX property model has 4 helper methods for each variable:</p>
<ul>
<li>int getX() &#8211; Standard JavaBeans getter function for the property x.</li>
<li>setX(int x) &#8211; Standard JavaBeans setter function for the property x.</li>
<li>static PropertyReference X() &#8211; A static function that returns a property reference for x that can be used to refer to this field.</li>
<li>ValueBinding x() &#8211; A member function that returns a mutable reference to x that can be used to get or set the value dynamically.</li>
</ul>
<p>So the extra parenthesis were to differentiate between a normal method call (&#8220;x&#8221;) and a ValueBinding (&#8220;x()&#8221;).</p>
<p>By popular demand at the earlier <a href="http://www.svjugfx.org/calendar/14264038/?from=list&#038;offset=0">SvJugFx Event</a>, I also added in some new content demonstrating usage of the <a href="http://fantom.org/">Fantom language</a> for coding JavaFX.  Besides being extremely easy to create DSLs in, it also has a built-in Duration operator, making the end result extremely similar to the equivalent JavaFX Script:</p>
<p><a href="http://www.slideshare.net/steveonjava/javafx-your-way-devoxx-version/78"><img src="http://steveonjava.com/wp-content/uploads/2010/11/JavaFXYourWay-Devoxx_172-650x487.png" alt="" title="JavaFXYourWay - Fantom" width="650" height="487" class="alignnone size-large wp-image-1707" /></a></p>
<p>Here is the full talk on alternative languages with all the updates for the latest conceptual JavaFX 2.0 APIs:</p>
<div style="width:650px" id="__ss_5885542"><object id="__sse5885542" width="650" height="525"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javafxyourway-devoxx-101124045259-phpapp02&#038;stripped_title=javafx-your-way-devoxx-version&#038;userName=steveonjava" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5885542" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javafxyourway-devoxx-101124045259-phpapp02&#038;stripped_title=javafx-your-way-devoxx-version&#038;userName=steveonjava" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="650" height="525"></embed></object></div>
<p>If you are going to be at <a href="http://www.oracle.com/br/javaonedevelop/en/index.html">JavaOne Brazil</a>, please drop me a line and I will be happy to meet up and chat about JavaFX futures.</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/alternative-languages-at-devoxx-and-soon-javaone-brazil/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/alternative-languages-at-devoxx-and-soon-javaone-brazil/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

