<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5043081227707456488</id><updated>2011-11-27T15:36:41.046-08:00</updated><category term='contest'/><category term='other BS'/><category term='zembly'/><category term='WidgetFX'/><category term='personal'/><category term='erlang'/><category term='JavaFX'/><title type='text'>Java Development and other BS</title><subtitle type='html'>moved to blog.vaibhavmishra.com</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-3798945323675820073</id><published>2010-04-15T01:29:00.000-07:00</published><updated>2010-04-15T01:29:16.627-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='erlang'/><category scheme='http://www.blogger.com/atom/ns#' term='other BS'/><title type='text'>Adios Java , Adios Erlang</title><content type='html'>Don't get it wrong from the title, I did not actually ditched java but turns out I have to look elsewhere , because Java simply do not cut this time, let me walk through the situation, Java is a great language , personally I prefer python and bash for scripting and none of my script goes more than 20 lines so it is not really a benchmark but recently I got a chance to modify a script written in Java, or must I say optimize it, I did my homework and look for several approaches, since it is a thread based application some of the solution I found is&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use &lt;a href="http://jcp.org/en/jsr/detail?id=1"&gt;real time system&lt;/a&gt; - this does not work out because Ubuntu 10.04 real time kernel doesnot play nice and I am too egoist to go for previous version.&lt;/li&gt;&lt;li&gt;Increase hardware - since my real options are only in the clouds hnce effectively VM which generally zeroed the effect of increasing hardware so this also fell off.&lt;/li&gt;&lt;li&gt;Use some real skills -- I did some digging around and increase the performance of script by remove just 2 characters, and that did it, it was flying high in the test environment and I thought I finished or did I...&lt;/li&gt;&lt;/ol&gt;There lies a twist , it turns out Java Have a limit on number of threads it can create, before running out of memory or some other bullshit limit and believe me I tried really hard to figure ut optimization , even remove all the code from the thread and simply putting it to sleep, but I hit the wall, 5000 threads, 5092 to be precise.&lt;br /&gt;and in production my script fails.&lt;br /&gt;&lt;br /&gt;so the obvious solution was to run script simultaneously in several JVMs which would require several machines or at least one super- machine , or change the language, and believe me I didn't like this, but this was a special case , so I turned to option of using other language , few options are&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;C or &lt;a href="http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library"&gt;NPLT which is essentially C&lt;/a&gt;-- this was good, really awesome , great performance promises like spawning 100000 threads in 2s ,but really it is C, memory management etc., so I put it as a last resort.&lt;/li&gt;&lt;li&gt;erlang - This comes out to be seemingly more viable solution , since it is more high level, a language of new paradigm so perfect for learning and also tailor made for concurrency.&lt;/li&gt;&lt;/ul&gt;naturally &lt;a href="http://erlang.org/"&gt;Erlang&lt;/a&gt; is the choice , but it seems to have a huge learning curve, everything is different but still , it seems far more elegant than C, and promises to create greater than 32000 threads in action with no seemingly achievable upper limit. let's hope this goes well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-3798945323675820073?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/3798945323675820073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=3798945323675820073' title='47 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/3798945323675820073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/3798945323675820073'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2010/04/adios-java-adios-erlang.html' title='Adios Java , Adios Erlang'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>47</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-8482127963154743965</id><published>2009-10-01T04:09:00.000-07:00</published><updated>2009-10-01T04:12:38.491-07:00</updated><title type='text'>JFXStudio small is the new big , challenge submission</title><content type='html'>It is amazing what you can do in 30 lines of JavaFX script , although a command line version of following program just goes 2 line but that uses an external command which itself weighs several MB, this is complete JavaFX application which uses no external program, few things I learn from it .&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;30 lines  is lot more than what you need&lt;/li&gt;&lt;li&gt;3000 characters is lot less than it sounds,&lt;/li&gt;&lt;li&gt;JavaFX script it very efficient than Java in terms of these circumstances here &lt;/li&gt;&lt;li&gt;media support is not yet good enough&lt;/li&gt;&lt;/ul&gt;and for the application , alarm sound it produces is really annoying.&lt;br /&gt;here is the screenshot of running application&lt;br /&gt;click on image to &lt;a href="http://profile.iiita.ac.in/IIT2006117/clockAlarm/Clock.jnlp"&gt;http://profile.iiita.ac.in/IIT2006117/clockAlarm/Clock.jnlp&lt;/a&gt; run application&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8IgrExDrA8Y/SsSMTWf8nsI/AAAAAAAAB0Y/RsnrbXTXt0A/s1600-h/screenshot_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_8IgrExDrA8Y/SsSMTWf8nsI/AAAAAAAAB0Y/RsnrbXTXt0A/s320/screenshot_001.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;and attached is the link to &lt;a href="http://profile.iiita.ac.in/IIT2006117/clockAlarm/Clock.rar"&gt;netbeans project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div_prefs id="div_prefs"&gt;&lt;/div_prefs&gt;&lt;div_prefs id="div_prefs"&gt;&lt;/div_prefs&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-8482127963154743965?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/8482127963154743965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=8482127963154743965' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8482127963154743965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8482127963154743965'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/10/jfxstudio-small-is-new-big-challenge.html' title='JFXStudio small is the new big , challenge submission'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8IgrExDrA8Y/SsSMTWf8nsI/AAAAAAAAB0Y/RsnrbXTXt0A/s72-c/screenshot_001.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-1537826643356581516</id><published>2009-07-03T07:58:00.000-07:00</published><updated>2010-01-15T19:40:04.144-08:00</updated><title type='text'>We got elephant out, now what to expect in JavaFX 1.3/1.5(post-marina)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The title is inspired from Jim Weaver's post on JavaFX, I here present what's new we get in Marina(JavaFX 1.2) and what should be there in next iteration, but first some background.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I followed &lt;a href="http://www.javafx.com/"&gt;JavaFX&lt;/a&gt; from it's version 1.0, heard the news here and there about it got a little exited ,tried using Jim Weaver's book somewhere in mid-2008 but dropped because the text is obscure and the technology has come a long way, after that Sun promoted it as a great RIA tech(I don't know time before because I was not following it) and with it's version 1.0 it was good but not great , a promising technology but lack of component still does not make it much worthy,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I got pretty excited about this language because &lt;a href="http://weblogs.java.net/blog/spericas/archive/2009/02/as_many_of_you.html"&gt;of this&lt;/a&gt; . here's also pic, I probably a, not a good gamer and my scores reflect that&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sk4R5BnNwVI/AAAAAAAABzw/lk2heBsU9fk/s1600-h/Screenshot-JNebulaFx.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sk4R5BnNwVI/AAAAAAAABzw/lk2heBsU9fk/s320/Screenshot-JNebulaFx.png" xj="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;They promised of providing components&amp;nbsp;in a later iteration, then comes version 1.1 , the big thing was Mobile support but not something which make someone like me with a short attention span to get very excited, but I drilled the language syntax(the JavaFX script language ) because&amp;nbsp;of this &lt;a href="http://www.weiqigao.com/blog/2008/12/11/javafx_1_0_on_linux_netbeans_plugin.html"&gt;entry&lt;/a&gt;&amp;nbsp;(Thanks Mr. Weiqi Gaofor that)and had a few custome application component up and running for quite a some time just for learning purposes, the platform was not &lt;a href="http://jonathangiles.net/blog/?p=374&amp;amp;cpage=1#comment-31446"&gt;much&amp;nbsp;stable&lt;/a&gt; (at least&amp;nbsp; the smarter ones say and I observed &lt;a href="http://www.bloggingaboutjava.org/cms/wordpress/2008/01/scripting-the-java-platform/#comment-30772"&gt;here&lt;/a&gt; and &lt;a href="http://xwisdomhtml.com/javafx-vs-air.html"&gt;there&lt;/a&gt;) but it still provides a smaller learning curve, and that was really great, I heard the complaints from the community about having to learn another language, but I am just a student and probably will like to stay like this because now I had not to worry about these things , I am free to choose whatever I want to learn and I did it, maybe those people were justified or maybe not but I am not in a position, neither did I have the credibility to pass judgement . &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I even started some fun project in the beginning just for learning, here is one of them and as a matter of fact it is currently compiling well with JavaFX 1.2 installed but was made in 1.1 era&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TennisFX&lt;/b&gt; -here is the pic it i what it shows here nothing functional when I shelved it knwing it'll require lot of game mathematics and I don't know some stuff which I was not good at the time.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sk4TowH2MAI/AAAAAAAABz4/3UDtHHKQrvI/s1600-h/Screenshot-Tennis+FX%21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sk4TowH2MAI/AAAAAAAABz4/3UDtHHKQrvI/s400/Screenshot-Tennis+FX%21.png" xj="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then the date of &lt;a href="http://java.sun.com/javaone/"&gt;JavaONE&lt;/a&gt; approach, I like these things(although I don't understand much) and have over 3GB worth of tech talks downloaded in my system through &lt;a href="http://www.parleys.com/"&gt;Parleys&lt;/a&gt; and tried my luck with 'Dude &lt;a href="http://java.sun.com/javaone/2009/contest/"&gt;where's my pass' contest&lt;/a&gt; (I must say &lt;a href="http://www.youtube.com/watch?v=4I7oGbVruio&amp;amp;feature=player_em"&gt;my video&lt;/a&gt; was embarrasing , I was wearing Vest and it didn't look good , that and some unworthy voice acting to press content into stipulated 30seconds contributed to my demise), and as expected I got bumped but, that was fun, tried my hand in JavaFX programming contest, this is my application as it look the night before the submission date( sorry I couldn't pass the screenshot because it needs to be updated to JavaFX 1.2), I could not submit because of some media component bug at the last minute(or I must say last 4 hours, and was totally my fault) but it was a great experience (the idea was huge but I lacked the resources, time, and most importantly experience required but that's another story, ), 3days after we got the &lt;a href="http://java.sun.com/javafx/1/reference/releasenotes/production-suite-release-notes-1-2.html"&gt;Marina release&lt;/a&gt;(JavaFX 1.2 was codenamed Marina)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Marina release was great, it bridged the huge gap, provided a leap in terms of components, Caspian was great and layouts(although JFXtras is doing great in that department, but it good to have a great thing out of the box) let me give you a feel of what they did and what should be next.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1.&lt;/b&gt;&lt;a href="http://fxexperience.com/2009/06/caspian-skin/"&gt;&lt;b&gt;Project Caspian&lt;/b&gt;&lt;/a&gt; – I didn't know it is a separate project or what but it really is great, it is the name of Look and feel we get out of box, it look lean and attractive and provided a better alternative then what we have in Swing(In the attractiveness department, I didn't know much about stability), if it is good enough in technical terms I suggest it to be included in Swing but, just a request , you're free to ignore, I didn't mind and Swing have very good L&amp;amp;F available like Substance and others, so that is covered up.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_8IgrExDrA8Y/Sk4WpAoKqYI/AAAAAAAAB0A/WyAXNjgvC1I/s1600-h/button.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8IgrExDrA8Y/Sk4WpAoKqYI/AAAAAAAAB0A/WyAXNjgvC1I/s400/button.png" xj="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am farely content with this one.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2.The component set&lt;/b&gt; – it is much better then perhaps having nothing(that's what we had in version 1.1 , that TextBox thing was not properly documented), a fairly good list including Progressbar , button, scrollbar(it is a welcome addtion, it's a paint to implement it yourself) and other traditional ones.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;What it lacks is a good component to provide Data representation, Joshua Marinacci showed a&lt;a href="http://jfxstudio.wordpress.com/2009/06/20/a-custom-virtual-list/"&gt; lazy list&lt;/a&gt; version of data representation so we're expecting something on the line in next version, listview will suffice till then , also if some receptive one are hearing there is a problem with hyperlink control launching browser , that's a fundamental thing if you're talking about hyperlink, however we get a pretty rich control set in terms of 0.1 version increase. &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3.RSS support &lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It came up early and &lt;a href="http://blogs.sun.com/rakeshmenonp/entry/javafx_rss_and_atom_task"&gt;came up good&lt;/a&gt;, ask a beginner like me who again with lack of much experience delved into lines of Rome Library(it is good but not beginner freindly), I don't care if this is inspired by Rome or what but this brings in very good support I must say in terms of out of the box functionality.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I have nothing to complain about here because it is more that what I(or I must say almost anybody else ) expected.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4.Charting support&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This release bring out Charting support , good first hand approach , some said it is inspired by JfreeChart, I had used JfreeChart for a while and it simply didn't matter, Charting support is always welcome, due to it's impact for business users it deserves special treatment.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is another good thing, just evolve it more.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5, Runtime improvement&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is the huge thing (or I must say only thing because Project Caspian bring on a huge change into paradigm) if JavaFX had to be a success in Desktop and browser and they're slowly approaching that persona. But.....&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I have a huge request, I didn't if you guys are right person to ask for it but please let the plugin load asynchronously in the browser, I don't want my browser to hang each time I load a web page with Java content, this is more of a generic request but can hinder JavaFX acceptance for browser.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;a href="http://blogs.sun.com/dwarak/entry/using_persistence_in_javafx"&gt;6.Persistence storage&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Java have a&lt;a href="http://javablog.co.uk/2007/10/25/persistence-options-in-java-part-1-local-filesystem/"&gt; myriad of persistence option available&lt;/a&gt;(try the &lt;a href="http://my.safaribooksonline.com/9780768680591"&gt;book by IBM guys&lt;/a&gt; if you want to have deeper look) and this iteration of JavaFX support this with introduction of persistence storage mechanism in JavaFX, works great for small things and a nice improvement.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;We need a supported embedded database technology, I know we have Derby or JavaDB(although they're one and the same thing almost) but something more smaller, may be DerbyLite in the line of SQLlite with less functionality( a smaller support base in terms of SQL language) or why go relational, get something in the line of Bigtable, call it smalltable and just make it small.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And for what should be(or maybe) done in later iteration of JavaFX(besides those requested above), just requesting if someone is hearing&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Lose that security dialog box, &lt;a href="http://code.google.com/p/pulpcore/"&gt;others did it&lt;/a&gt;&amp;nbsp;, I know that fulfills Java's Security sandbox feature but hinders User's experience which is a much larger thing if you're on RIA track, get a compromise,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Allow lazy loading of application, let us choose our custom screen while application is loading , that spinning java logo is good but it looks monotonous after some time.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Include building a game viral tutorial in JavaFX, with distribution system &lt;a href="http://wiki.zembly.com/wiki/Working_with_Java_Fx"&gt;as zembly&lt;/a&gt;(another great technology, pardon me if I am not using proper term) and inclusion of &lt;a href="http://www.projectdarkstar.com/"&gt;project darkstar&lt;/a&gt; into the landscape.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Provide a remoting API, (get inspiration of &lt;a href="http://www.exadel.com/web/portal/flamingo"&gt;project flamingo&lt;/a&gt; and &lt;a href="http://code.google.com/p/cairngorm-fx/"&gt;Cairngorm-fx&lt;/a&gt;), I think Stephen Chin said&amp;nbsp;&lt;a href="http://steveonjava.com/2009/05/31/javafx-1-2-top-10/"&gt;here&lt;/a&gt;&amp;nbsp;(&amp;nbsp;read the comments&amp;nbsp;) that it is in the to-do list of &lt;a href="http://code.google.com/p/jfxtras/"&gt;JFXtras&lt;/a&gt; , so maybe we'll get it by year end.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Provide more open event like the nice thing Mr. Joshua Marinacci are doing in &lt;a href="http://jfxstudio.org/"&gt;JFXstudio website&lt;/a&gt;, it is great, you had JavaFX challenge but I think this release deserve a JavaFX challnge 2.0.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-1537826643356581516?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/1537826643356581516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=1537826643356581516' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1537826643356581516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1537826643356581516'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/07/we-got-elephant-out-now-what-to-expect.html' title='We got elephant out, now what to expect in JavaFX 1.3/1.5(post-marina)'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8IgrExDrA8Y/Sk4R5BnNwVI/AAAAAAAABzw/lk2heBsU9fk/s72-c/Screenshot-JNebulaFx.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-600575764346921973</id><published>2009-06-24T00:15:00.000-07:00</published><updated>2009-06-24T00:15:33.192-07:00</updated><title type='text'>Using Netbeans with local Subversion repository</title><content type='html'>In this post I'll document how to use netbeans with your local subversion repository, if you want to know how to set-up subversion in ubuntu and a local repository &lt;a href="http://tuxecute.blogspot.com/2009/06/create-local-svn-repository-in-ubuntu.html"&gt;head to this post&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you don't mind sharing your project to the world, you can use the integrated Kenai plugin feature of netbeans 6.7 (this feature is not yet available in lower versions) which comes with several features including (but not limited) to using Bug-tracking features, collaboration etc., from withing the IDE, that said , fire up you netbeans IDE (wait for some time to let it settle down, it has some issues if you start meddling in the beginning) and select project which you want want to include in Subversion repository, right click and select Versioning&amp;gt;Subversion and click on it&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8IgrExDrA8Y/SkHQ4VbjqwI/AAAAAAAABxc/gk3vszE2NQc/s1600-h/subversion1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8IgrExDrA8Y/SkHQ4VbjqwI/AAAAAAAABxc/gk3vszE2NQc/s400/subversion1.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Click on what is specified in the link&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt; A window will appear&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_8IgrExDrA8Y/SkHROp_GE8I/AAAAAAAABxk/f2ohjWQTBcI/s1600-h/Subversion2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_8IgrExDrA8Y/SkHROp_GE8I/AAAAAAAABxk/f2ohjWQTBcI/s400/Subversion2.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Add path of local svn repo(mine is "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/home/vaibhav/svnrepo&lt;/span&gt;") &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;click on next , the following window will appear&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Note: if your repo is remote(but is a svn repo) then provide relevant information , in the URL. &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_8IgrExDrA8Y/SkHRgVMURnI/AAAAAAAABxs/_MQGDyh-6CY/s1600-h/Subversion3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_8IgrExDrA8Y/SkHRgVMURnI/AAAAAAAABxs/_MQGDyh-6CY/s400/Subversion3.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;add whatever you like in the big box, it is the description of you first check in(in a way)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt; and click next&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;following window will appear&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_8IgrExDrA8Y/SkHRzsYdCQI/AAAAAAAABx0/ERzmFVEkRfg/s1600-h/Subverision4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_8IgrExDrA8Y/SkHRzsYdCQI/AAAAAAAABx0/ERzmFVEkRfg/s400/Subverision4.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is the list of all what is to be imported in the local repo , click finish, and your repo is code is checked-in , Now you've everything set-up&amp;nbsp; update commit or do whatever with your code. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-600575764346921973?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/600575764346921973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=600575764346921973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/600575764346921973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/600575764346921973'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/06/using-netbeans-with-local-subversion.html' title='Using Netbeans with local Subversion repository'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8IgrExDrA8Y/SkHQ4VbjqwI/AAAAAAAABxc/gk3vszE2NQc/s72-c/subversion1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-3106162719405432938</id><published>2009-06-13T19:03:00.000-07:00</published><updated>2009-06-13T19:47:02.836-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WidgetFX'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><title type='text'>WidgetFX contest Announced</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://widgetfx.org/portal/contest"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 600px; height: 150px;" src="http://widgetfx.org/portal/image/image_gallery?uuid=94679807-2015-4571-b98d-ba0556fe2028&amp;amp;groupId=10128&amp;amp;t=1243578267319" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the link for &lt;a href="http://widgetfx.org/portal/contest"&gt;contest page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In short it is a contest sponsored by widgetFX platform with Appress books, we have to create an app(only boundation is it should run on &lt;span style="font-weight: bold;"&gt;Windows Vista&lt;/span&gt; under &lt;span style="font-weight: bold;"&gt;JRE 1.6u13&lt;/span&gt; ) and there are books to be won (published by Apress), for more details fillow the link given, submission ends on July 31 so we have plenty of time.&lt;br /&gt;&lt;br /&gt;These type of contest really promote platform learning, WidgetFX platform is a platform which uses JavaFX as development platform , you just have to do few modifications in your original application, screw the details , if you know JavaFX you are good to go, steveonjava blog even have a calendar app tutorial to get you started(although it is for version JavaFX 1.1), same blog also enlists a migration guide from JavaFX 1.1 to JavaFX 1.2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-3106162719405432938?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/3106162719405432938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=3106162719405432938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/3106162719405432938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/3106162719405432938'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/06/widgetfx-contest-announced.html' title='WidgetFX contest Announced'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-7998848494533766272</id><published>2009-06-11T07:33:00.000-07:00</published><updated>2009-06-11T08:14:07.104-07:00</updated><title type='text'>JFXtras 0.5 core beta released: compatible with JavaFX 1.2</title><content type='html'>JFXtras group- the open source javafx library providing added functionality to javafx has announced the availability of JFXtras 0.5 core beta , which make it compatible to javaFX 1.2 here is the &lt;a href="http://code.google.com/p/jfxtras/"&gt;link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-7998848494533766272?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/7998848494533766272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=7998848494533766272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/7998848494533766272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/7998848494533766272'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/06/jfxtras-05-core-beta-released.html' title='JFXtras 0.5 core beta released: compatible with JavaFX 1.2'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-6207793528170469759</id><published>2009-05-31T04:03:00.000-07:00</published><updated>2009-06-03T03:43:26.868-07:00</updated><title type='text'>JavaFX 1.2 released, what's new, a complete package by package review</title><content type='html'>&lt;a href="http://javafx.com/docs/articles/javafx1-2.jsp"&gt;&lt;span style="font-weight: bold;"&gt;Update : This post is now useless, A much informative article has been posted in javafx.com website, here is the link&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have to leave today for a all night journey, 2 hours before that James Weaver blog post become available pointing, that Sun has made available javafx 1.2 , so I pointed my browser to javafx.com and was greeted with this page when I click download button on home page&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8IgrExDrA8Y/SiJlPqPi97I/AAAAAAAABRA/J7z7E3nUx0w/s1600-h/Javafx.com_download_page.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 357px; height: 400px;" src="http://1.bp.blogspot.com/_8IgrExDrA8Y/SiJlPqPi97I/AAAAAAAABRA/J7z7E3nUx0w/s400/Javafx.com_download_page.png" alt="" id="BLOGGER_PHOTO_ID_5341943427726768050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I selected the third option as suggested by Jim, and following page appears&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8IgrExDrA8Y/SiJmOFsQKRI/AAAAAAAABRI/CF8ORGg0gJk/s1600-h/javafx_download.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 308px; height: 400px;" src="http://1.bp.blogspot.com/_8IgrExDrA8Y/SiJmOFsQKRI/AAAAAAAABRI/CF8ORGg0gJk/s400/javafx_download.png" alt="" id="BLOGGER_PHOTO_ID_5341944500246817042" border="0" /&gt;&lt;/a&gt;this page shows option of Javafx1.2 for download never , I downloaded it (in first attempt I downloaded prodduction suite which is 23 mb , but then I got 45Mb installer of SDK), and installed it few changes I observer in installation&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;production suite have both illustrator CS3, CS4 and Photoshop CS3,CS4 plugins&lt;/li&gt;&lt;li&gt;javafx is installed in a separate path in c:/program files/javafx&lt;/li&gt;&lt;/ul&gt;since I have limited time(I have a train to catch for a pilgrimage in less then an hour and journey is itself 11 hours long) I quickly browse through API docs and few changes I observe the following additions, since I am in a hurry I am only listing class additions&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No addition in javafx.animation package&lt;/li&gt;&lt;li&gt;same goes for javafx.animation.transition package&lt;/li&gt;&lt;li&gt;In javafx.async package old classes are rem,oved and 3 new classes namely, JavaTaskBase to provide running classes in thread outside EDT, RunnableFuture(the name explains it all), and Task class which  a way of starting, stopping and tracking code that  does not run on the JavaFX event dispatch thread(straight from the docs).&lt;/li&gt;&lt;li&gt;a new javafx.data package which has 2 classes Converter(incidentally it have fromString() and toString() method) and a Pair class which defines a simple name value variables&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;This is the big one, there is a whole package(and 3 of them ) for managing feed(RSS and Atom) javafx.data.feed defines the base classes for javafx.feed.data.rss pacakges and javafx.data.feed.atom packages and they provide both RSS and atom functionality&lt;/span&gt;&lt;/li&gt;&lt;li&gt;No surprises in javafx.data.pull and javafx.data.xml package (this is not an in-depth view)&lt;/li&gt;&lt;li&gt;a new package javafx.date.DateTime which provides support for proleptic Gregorian calendar  (the pure Gregorian calendar with no Julian-Gregorian transition).&lt;/li&gt;&lt;li&gt;A new SwingUtils class in javafx.ext.swing package which have a new function toFXImage() to convert bufferedimage to fx image&lt;/li&gt;&lt;li&gt;A new FXDNode class which is a revamped UIStub class which has backgroundloading  support&lt;/li&gt;&lt;li&gt;Many new classes in javafx.geometry package  HPos, VPos(for positioning and alignment) and Insets class and BOunds and BoundingBox class&lt;/li&gt;&lt;li&gt;A new class URLConverter in javafx.io.http package which support string to URL conversion among other functionality&lt;/li&gt;&lt;li&gt;Another Big one for me in terms for funtionality&lt;span style="font-weight: bold;"&gt; a local javafx.io package containing  Resource and Storage classes for local persistence&lt;/span&gt;&lt;/li&gt;&lt;li&gt;nothing new in javafx.reflect and javafx.lang&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;a new class javafx.scene.Parent &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;3 new javafx.scene.chart, javafx.scene.chart, javafx.scene.chart.data for data needs, this is something which is much requested functionality for every RIA platform&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;A whole new set of controls&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Behavior.html"&gt;Behavior&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Button.html"&gt;Button&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ButtonBase.html"&gt;ButtonBase&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.CheckBox.html"&gt;CheckBox&lt;/a&gt; &lt;/li&gt;&lt;li class="profile-common "&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Control.html"&gt;Control&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Hyperlink.html"&gt;Hyperlink&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Keystroke.html"&gt;Keystroke&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Label.html"&gt;Label&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Labeled.html"&gt;Labeled&lt;/a&gt; &lt;/li&gt;&lt;li class="profile-common "&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ListView.html"&gt;ListView&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.OverrunStyle.html"&gt;OverrunStyle&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ProgressBar.html"&gt;ProgressBar&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ProgressIndicator.html"&gt;ProgressIndicator&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.RadioButton.html"&gt;RadioButton&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ScrollBar.html"&gt;ScrollBar&lt;/a&gt; &lt;/li&gt;&lt;li class="profile-common "&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Skin.html"&gt;Skin&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.Slider.html"&gt;Slider&lt;/a&gt; &lt;/li&gt;&lt;li class="profile-common "&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.TextBox.html"&gt;TextBox&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.TextInputControl.html"&gt;TextInputControl&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ToggleButton.html"&gt;ToggleButton&lt;/a&gt; &lt;/li&gt;&lt;li class=""&gt; &lt;a href="file:///C:/Program%20Files/JavaFX/javafx-sdk1.2/docs/api/javafx.scene.control/javafx.scene.control.ToggleGroup.html"&gt;ToggleGroup&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;A new BoxBlur effect in javafx.scene.effect&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A revamped javafx.scene.input package with 4 additional class , not much in terms of functionality&lt;/li&gt;&lt;li&gt;A new Panel class in javafx.scene.layout to define new level of view, with additional layouts namely , Stack, Tile,Flow&lt;/li&gt;&lt;li&gt;nothing new in next few packages&lt;/li&gt;&lt;li&gt;An Alert class to show alerts in javafx.stage and a Screen class for accessing screen properties&lt;/li&gt;&lt;li&gt;2 new classes in javafx.util package Math(A straight funcitionality import for java.lang.Math) nad Properties (utility class for storing name value pairs)&lt;/li&gt;&lt;/ul&gt;now I have to leave, my mom is screaming at me to get ready , less than 5 minutes left&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-6207793528170469759?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/6207793528170469759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=6207793528170469759' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/6207793528170469759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/6207793528170469759'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/javafx-12-released.html' title='JavaFX 1.2 released, what&apos;s new, a complete package by package review'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8IgrExDrA8Y/SiJlPqPi97I/AAAAAAAABRA/J7z7E3nUx0w/s72-c/Javafx.com_download_page.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-4192209966707276277</id><published>2009-05-15T14:44:00.001-07:00</published><updated>2009-05-15T17:05:45.202-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='zembly'/><title type='text'>Zembly and my shameless attempt to get a free T-shirt</title><content type='html'>I love free stuff, everyone loves them if they are not worthless, I came across this contest several days ago, but since I was busy(yeah I am undergrad, and we have those cute little things called Exams) so now is the time, my exams are over and since the contest is over at 2:29 PM IST so now is the only time I can do this (less than 12 hrs left and I have a Project presentation in the meantime , my Semester project nothing fancy except it is in javafx ) .&lt;br /&gt;      I explored this platform a little while back before the contest, I can give proof so that you know I am not bullshitting here's the proof from Google&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sg3m66YnN1I/AAAAAAAABQ4/T-TaMnUjG38/s1600-h/image.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 156px;" src="http://2.bp.blogspot.com/_8IgrExDrA8Y/Sg3m66YnN1I/AAAAAAAABQ4/T-TaMnUjG38/s400/image.png" alt="" id="BLOGGER_PHOTO_ID_5336175033283196754" border="0" /&gt;&lt;/a&gt;yeah the date is May 1, and swear to god I didn't even think about the contest(but I knew about, and deep down this thought might be lurking around my consciousness)&lt;br /&gt;&lt;br /&gt;so I tried to use it a little while back(seriously this time before there was an announcement contest) , there is a lot of stuff going on about cloud computing and I seriously wanted to check it out here is some facts to prove that&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I read Sun blogs about cloud computing,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I picked up cloud computing this semester(but college scrapped it off the curriculum without any reason)&lt;/li&gt;&lt;li&gt;I checked mozilla bespin just because it looks cool and have that cloud computing buzzword and it looks really cool with that dark interface&lt;/li&gt;&lt;/ul&gt;Now some fact you can use against me&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I did not really understand what cloud computing really is.&lt;/li&gt;&lt;li&gt;I have some idea but not any concrete definition because everybody is so vague about it, you read one thing somewhere and next thing just contradicts it&lt;/li&gt;&lt;/ul&gt;so here goes my adventure with zembly&lt;br /&gt;&lt;br /&gt;I am a Java guy, so the interface they provide with HTML and CSS and JavaScript is not really cool with me, it si really cool by the way but I am not just into JavaScript and stuff, that repels me somehow , I have a book about it and stuff which was a year ago and I read it , I know what's going on if I see the code but there ends my familiarity I haven't written  any code except if you say retrieving time falls into that category, here it goes&lt;br /&gt;&lt;br /&gt;        When I log inside zembly I came to know that I created 2 widgets inside it , this stuff I really liked in it, you can get any kind of widget, explore it, read , learn and edit the source code ,  this is like the more simplified version of open-source, you can like just made a copy of a project and edit it as your own, however for those who are not that much open(or are just practical, as they think) can go for a pro-account which is free for about 6 months and you can make your project private.&lt;br /&gt;&lt;br /&gt;        As they say  inthe announcement today, zembly will be free with standard options for like forever(as much as I like to believe it, it is free for now that counts, and the next 6 months) , I may not have developed any application in zembly I have somehow experimented with it and by some way have gained something about java-script, on the front of other stuff, in the meantime I came across a blog which suggest that I can develop in JavaFX and you remember the proof I gave in the beginning by google , that was real and I pasted that post on May 1 but my exams also started that very same day so I didn't get much chance to explore,&lt;br /&gt;      Some confession : I really started this blog to get into that contest and have a branded T-Shirt but I must confess I really enjoyed, it I wasn't sure I can go this much longer but I did write more than my other some serious posts, and I came to conclusion that I will definitely  explore it more once JavaFX contest is over, yeah definitely. and other thing I like these technologies and in future I will write more about them&lt;br /&gt;another note : zembly wiki now has a link to get you ready for javafx development , so you (and I )will not have to wander.&lt;br /&gt;&lt;br /&gt;update 1:just seconds after this post some dude complained about this entry on dzone, I don't know the reason, but seriously those guys are really fast&lt;br /&gt;disclaimer: I don't really think anyone should be reading this, because these are all my personal view, and if someone find it somewhat offended , seriously I am sorry for that, at the time of starting this article , I was just trying to relieve my exam tension,hence the awkward title, but as I wrote I kind of immersed and believe it or not, this post took around 1.hr   3:30 AM to (do the calculation youself) IST and I really enjoyed it , I don't mean to offend anyone, it's just fun to write.&lt;br /&gt;update2: dzone seems to lock this post, , seems like it contradicts with their quality control or something, never mind I'll definitely make sure next time I will keep check with that before submitting. I mean I will not submit these type of article there&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-4192209966707276277?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/4192209966707276277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=4192209966707276277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/4192209966707276277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/4192209966707276277'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/zembly-and-my-shameless-attempt-to-get.html' title='Zembly and my shameless attempt to get a free T-shirt'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8IgrExDrA8Y/Sg3m66YnN1I/AAAAAAAABQ4/T-TaMnUjG38/s72-c/image.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-1272147425106168406</id><published>2009-05-12T23:28:00.000-07:00</published><updated>2009-05-14T03:29:12.832-07:00</updated><title type='text'>Dude where's my pass entr, made in javafx</title><content type='html'>Note: this app was written in haste with no actual preparation , extreamely limited time constraint (both for runtime and actual code writing) so some of you may think it actually suck but I don't mind, it worked out more than I expected and I learned a lot.&lt;br /&gt;This is my entry to dude where's my pass contest for javaone&lt;br /&gt;&lt;br /&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4I7oGbVruio&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/4I7oGbVruio&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;since this post came up as no.1 in Google blog search for javafx for no particular reason I now am obliged to convert it to a full fledged code, here's my step by step guide to what I had done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;1. Motivation&lt;/h3&gt;&lt;br /&gt;I want to roll out an entry to Sun's dude where's my pass contest, I had no intention to really winning it(I am very very bad at it), but everything is worth a try ,It was supposed to be a simple video , but I am not an entertainer(see video if you have any doubts), I was browsing through dzone and came across&lt;a href="http://internna.blogspot.com/2008/12/javafx-mario-and-me.html"&gt; this post&lt;/a&gt;&lt;br /&gt;I never had developed even a simplest of game but it really fascinates me specially the storytelling, so here it goes , when I came to know about the free mario sprites(read GIFs if you please) and one thing led to another and this whole thing was conceptualized here is the screen-shot of directory structure, nothing fancy but it get the work done, and all I can come up given the time constraint.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8IgrExDrA8Y/SgvqezAKKdI/AAAAAAAABQw/VjuVNClQZ6A/s1600-h/Javaonefilestructure.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 268px; height: 238px;" src="http://3.bp.blogspot.com/_8IgrExDrA8Y/SgvqezAKKdI/AAAAAAAABQw/VjuVNClQZ6A/s400/Javaonefilestructure.jpg" alt="" id="BLOGGER_PHOTO_ID_5335615998358333906" border="0" /&gt;&lt;/a&gt; here is description of images&lt;br /&gt;&lt;ul&gt;&lt;li&gt;castleone : the png of castle with javaone banner above it , created via GIMP&lt;/li&gt;&lt;li&gt;code.png : the image of code when Mr. gosling try to find princess , created with JDarkroom and Paint&lt;/li&gt;&lt;li&gt;jag.png : image of Mr.gosling animated&lt;/li&gt;&lt;li&gt;jagback : back of of mr. Gosling , created with GIMP(although it doesn't look like a back image)&lt;/li&gt;&lt;li&gt;others are self explanatory &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;The code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;since you have seen the video (I assume ) it is easy to present different snippets&lt;br /&gt;&lt;br /&gt;I decided to use absolute positioning since it is a really quick and dirty work so no pre-planning&lt;br /&gt;as for the scene I use LinearGradient to fill it t o give green ground and blue sky feel here is code of gradient&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;fill:LinearGradient {&lt;br /&gt;       startX : 0.0&lt;br /&gt;       startY : 0.0&lt;br /&gt;       endX : 0.0&lt;br /&gt;       endY : 1.0&lt;br /&gt;       stops: [&lt;br /&gt;&lt;/pre&gt; &lt;pre class="brush:javafx"&gt;              Stop {&lt;br /&gt;               color : Color.LIGHTBLUE&lt;br /&gt;               offset: 0.0&lt;br /&gt;           },&lt;br /&gt;           Stop {&lt;br /&gt;               color : Color.BLUE&lt;br /&gt;               offset: 0.8&lt;br /&gt;           },&lt;br /&gt;           Stop {&lt;br /&gt;&lt;/pre&gt; &lt;pre class="brush:javafx"&gt;                  color : Color.LIGHTGREEN&lt;br /&gt;               offset: 0.81&lt;br /&gt;           },&lt;br /&gt;           Stop {&lt;br /&gt;               color : Color.GREEN&lt;br /&gt;               offset: 1.0&lt;br /&gt;           },&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       ]&lt;br /&gt;&lt;/pre&gt; &lt;pre class="brush:javafx"&gt;      }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the code is self- explanatory , nothing fancy here&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;images used&lt;/h4&gt;&lt;br /&gt;The scene consist of few images, here are there code and details&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.sun.com/rakeshmenonp/resource/images/jws-launch-button.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/h3&gt; &lt;ol&gt;&lt;li&gt;The castle , it's visible variable is bind to castleView boolean variable and set to true when Mr.Gosling said that one&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;pre class="brush: javafx"&gt;&lt;br /&gt;ImageView {&lt;br /&gt;                            fitHeight:200 fitWidth:200&lt;br /&gt;                            translateX:350&lt;br /&gt;                            translateY:40&lt;br /&gt;                            visible:bind castleView&lt;br /&gt;                            image: Image {&lt;br /&gt;                                url: "{__DIR__}resources/castleone.png"&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;The mario image, xposition is binded to make it move&lt;/li&gt;&lt;br /&gt;&lt;pre class="brush: javafx"&gt;&lt;br /&gt;image = ImageView{&lt;br /&gt;                visible: bind marioV&lt;br /&gt;                x:bind marioX;&lt;br /&gt;                y:200&lt;br /&gt;                scaleX:2.0&lt;br /&gt;                scaleY:2.0&lt;br /&gt;                image: bind currentMarioImage&lt;br /&gt;            }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Mr. gosling image , x: position is bind to make it move and image variable is bind to  allow to switch between front and back view&lt;/li&gt;&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;imageGos = ImageView {&lt;br /&gt;                x:bind gosX y:180&lt;br /&gt;                fitWidth:40 fitHeight:60&lt;br /&gt;                image :bind jagimg&lt;br /&gt;            }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Code image which is displayed when Mr. Gosling tried to search for princess&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;pre class=""&gt;&lt;br /&gt;&lt;br /&gt;ImageView {&lt;br /&gt;                 visible :bind consoleV&lt;br /&gt;                 translateX:20&lt;br /&gt;                 translateY:20&lt;br /&gt;                 fitHeight:150 fitWidth:300&lt;br /&gt;                 image: Image {&lt;br /&gt;                     url: " resources="" png=""&gt;&lt;br /&gt;&lt;br /&gt;                },&lt;br /&gt;            }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;and the two mediafile which I accesed from my local WAMP server through http,&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;caution : don't place them in resources folder , mediafiles under jar are not yet supported&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;here's the code&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;&lt;br /&gt;// two mediafile recorded by me and played in the beginning and end&lt;br /&gt;             MediaView {&lt;br /&gt;                 translateX:40 translateY:20&lt;br /&gt;                 fitWidth:250 fitHeight:160&lt;br /&gt;                 preserveRatio: true&lt;br /&gt;                 visible:bind mediaV&lt;br /&gt;                 mediaPlayer : playMedia = MediaPlayer {                     &lt;br /&gt;                     autoPlay:false&lt;br /&gt;                     media : Media {&lt;br /&gt;                         source : "http://localhost/video.avi"&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;             MediaView {&lt;br /&gt;                 translateX:40 translateY:20&lt;br /&gt;                 fitWidth:250 fitHeight:160&lt;br /&gt;                 preserveRatio: true&lt;br /&gt;                 visible:bind dudeV&lt;br /&gt;                 mediaPlayer : playDude = MediaPlayer {&lt;br /&gt;                     autoPlay:false&lt;br /&gt;                     media : Media {&lt;br /&gt;                         source : "http://localhost/pass.avi";&lt;br /&gt;&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for some region my college profile server does not allow to fetch these files so attached jnlp won't play it&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;the magic&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;here is the timeline where all the magic happen&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush : javafx"&gt;&lt;br /&gt;var marioMoveRight =  Timeline {&lt;br /&gt;     repeatCount: 1&lt;br /&gt;     keyFrames : [&lt;br /&gt;      &lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 3s&lt;br /&gt;             canSkip: true&lt;br /&gt;             values: [marioX=&gt;280, gosX=&gt;230]&lt;br /&gt;             action: function(){&lt;br /&gt;                 currentMarioImage =marioStanding;&lt;br /&gt;                 jagDialog=true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 println("3s over")&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 4s&lt;br /&gt;             action: function(){&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog=false;&lt;br /&gt;                 println("4s over")&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 5s&lt;br /&gt;             action: function(){                 &lt;br /&gt;                 marioTalk =  "{marioTalk}\n my princess is lost";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 6s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "She is  in the Castle";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 7s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "Which castle";&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 8s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "{jagTalk} \nThat one";&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 castleView = true;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 9s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "let me find her";&lt;br /&gt;                 jagimg = jagbimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 10s&lt;br /&gt;             action: function () {&lt;br /&gt;                 consoleV=true;&lt;br /&gt;                 jagDialog = false&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 12s&lt;br /&gt;             action: function () {&lt;br /&gt;                 consoleV=false;&lt;br /&gt;                 jagDialog = false;&lt;br /&gt;                 mediaV=true;&lt;br /&gt;                 playMedia.play();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 17s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog=true;&lt;br /&gt;                 marioTalk = "Aw! man she is ugly , bulls";&lt;br /&gt;                 playMedia.pause();&lt;br /&gt;                 mediaV = false;&lt;br /&gt;                 jagimg=jagfimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 18.5s&lt;br /&gt;             action: function () {          &lt;br /&gt;                 marioTalk = "perhaps, I \nshould go to javaone,";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 20s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "great minds \n'll ease me up";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 21.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "I wasted lifetime , hunting castles";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 23s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog =false;&lt;br /&gt;                 mediaV= false;&lt;br /&gt;                 marioTalk = "Now I should do something worthwhile";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 24.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 jagTalk = "Sorry dude, that one goes to your fake princess";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 26s&lt;br /&gt;             action: function () {                 &lt;br /&gt;                 jagTalk = "he agreed to become \nthat,  for it";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 27.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog = false;&lt;br /&gt;                 marioTalk = "yeah sure he deserve, 'll \nsee ya next year";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;      &lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 29s&lt;br /&gt;             values: marioX =&gt;280&lt;br /&gt;             action:function(){&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 currentMarioImage = marioImage;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 30.5s&lt;br /&gt;             values: gosX =&gt; 230&lt;br /&gt;             action:function(){&lt;br /&gt;                 jagimg=jagfimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame{&lt;br /&gt;             time:32s&lt;br /&gt;             values: [marioX =&gt;0 , gosX=&gt;300]&lt;br /&gt;             action:function(){&lt;br /&gt;                 dudeV=true;&lt;br /&gt;                 playDude.play();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame{&lt;br /&gt;             time:35s&lt;br /&gt;             action:function(){&lt;br /&gt;              &lt;br /&gt;                 stage.scene=newScene;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;     ]&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;sorry for badly named variable&lt;br /&gt;&lt;br /&gt;here is the complete code&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;/*&lt;br /&gt;* Main.fx&lt;br /&gt;*&lt;br /&gt;* Created on 12 May, 2009, 10:58:17 AM&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package javaone;&lt;br /&gt;&lt;br /&gt;import java.lang.Object;&lt;br /&gt;import javafx.animation.KeyFrame;&lt;br /&gt;import javafx.animation.Timeline;&lt;br /&gt;import javafx.scene.Group;&lt;br /&gt;import javafx.scene.image.Image;&lt;br /&gt;import javafx.scene.image.ImageView;&lt;br /&gt;import javafx.scene.media.Media;&lt;br /&gt;import javafx.scene.media.MediaPlayer;&lt;br /&gt;import javafx.scene.media.MediaView;&lt;br /&gt;import javafx.scene.paint.*;&lt;br /&gt;import javafx.scene.Scene;&lt;br /&gt;import javafx.scene.shape.*;&lt;br /&gt;import javafx.scene.text.Font;&lt;br /&gt;import javafx.scene.text.Text;&lt;br /&gt;import javafx.stage.Stage;&lt;br /&gt;import javafx.scene.effect.Glow;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author Vaibhav Mishra&lt;br /&gt;*/&lt;br /&gt;var console="";&lt;br /&gt;var marioV = true;;&lt;br /&gt;var mediaV = false;&lt;br /&gt;var image:ImageView;&lt;br /&gt;var gosX=50;&lt;br /&gt;var imageGos:ImageView;&lt;br /&gt;var marioX=500;&lt;br /&gt;var marioImage:Image = Image {&lt;br /&gt;                     url:"{__DIR__}resources/mario_walkleft.gif"&lt;br /&gt;                 };&lt;br /&gt;var jagfimg= Image {&lt;br /&gt;     url: "{__DIR__}resources/jag.png";&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var jagimg = jagfimg;&lt;br /&gt;var jagbimg =Image {&lt;br /&gt;     url: "{__DIR__}resources/jagback.png";&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var marioDialog = false;&lt;br /&gt;var jagDialog = false;&lt;br /&gt;&lt;br /&gt;var marioTalk = "Hi Mr. Gosling";&lt;br /&gt;var jagTalk = "Hi Mario";&lt;br /&gt;var videoSource = "http://localhost/video.avi";&lt;br /&gt;&lt;br /&gt;var playMedia:MediaPlayer;&lt;br /&gt;var marioStanding:Image = Image{&lt;br /&gt; url:"{__DIR__}resources/mario_standleft.png";&lt;br /&gt;}&lt;br /&gt;var dudeV=false;&lt;br /&gt;var castleView = false;&lt;br /&gt;var consoleV = false;&lt;br /&gt;var playDude:MediaPlayer ;&lt;br /&gt;var currentMarioImage = marioImage;&lt;br /&gt;var stage = Stage {&lt;br /&gt;&lt;br /&gt; title: "JavaONE Podium"&lt;br /&gt; width: 600&lt;br /&gt; height: 300&lt;br /&gt;&lt;br /&gt; scene: Scene {&lt;br /&gt;     fill:LinearGradient {&lt;br /&gt;         startX : 0.0&lt;br /&gt;         startY : 0.0&lt;br /&gt;         endX : 0.0&lt;br /&gt;         endY : 1.0&lt;br /&gt;         stops: [&lt;br /&gt;             Stop {&lt;br /&gt;                 color : Color.LIGHTBLUE&lt;br /&gt;                 offset: 0.0&lt;br /&gt;             },&lt;br /&gt;             Stop {&lt;br /&gt;                 color : Color.BLUE&lt;br /&gt;                 offset: 0.8&lt;br /&gt;             },&lt;br /&gt;             Stop {&lt;br /&gt;                 color : Color.LIGHTGREEN&lt;br /&gt;                 offset: 0.81&lt;br /&gt;             },&lt;br /&gt;             Stop {&lt;br /&gt;                 color : Color.GREEN&lt;br /&gt;                 offset: 1.0&lt;br /&gt;             },&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         ]&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     content: [&lt;br /&gt;                 ImageView {&lt;br /&gt;                             fitHeight:200 fitWidth:200&lt;br /&gt;                             translateX:350&lt;br /&gt;                             translateY:40&lt;br /&gt;                             visible:bind castleView&lt;br /&gt;                             image: Image {&lt;br /&gt;                                 url: "{__DIR__}resources/castleone.png"&lt;br /&gt;                             }&lt;br /&gt;                         }&lt;br /&gt;             image = ImageView{&lt;br /&gt;                 visible: bind marioV&lt;br /&gt;                 x:bind marioX;&lt;br /&gt;                 y:200&lt;br /&gt;                 scaleX:2.0&lt;br /&gt;                 scaleY:2.0&lt;br /&gt;                 image: bind currentMarioImage&lt;br /&gt;             }&lt;br /&gt;             // gosling's image&lt;br /&gt;             imageGos = ImageView {&lt;br /&gt;                 x:bind gosX y:180&lt;br /&gt;                 fitWidth:40 fitHeight:60&lt;br /&gt;                 image :bind jagimg&lt;br /&gt;             }&lt;br /&gt;             //goslings bubble which with inbound text, note text if more than avilable may overflow&lt;br /&gt;             Group{&lt;br /&gt;                 visible :bind jagDialog&lt;br /&gt;                 translateX:130&lt;br /&gt;                 translateY:100&lt;br /&gt;                 content:[&lt;br /&gt;                     Rectangle {&lt;br /&gt;                         width: 100, height: 60&lt;br /&gt;                         arcWidth:20 arcHeight:20&lt;br /&gt;                         fill: Color.LIGHTGRAY&lt;br /&gt;                     }&lt;br /&gt;&lt;br /&gt;                     Text {&lt;br /&gt;                         translateX:10&lt;br /&gt;                         translateY:20&lt;br /&gt;                         wrappingWidth:100&lt;br /&gt;                         font : Font {&lt;br /&gt;                             size: 12&lt;br /&gt;                         }&lt;br /&gt;                         content: bind jagTalk&lt;br /&gt;                     }&lt;br /&gt;                     Polyline {&lt;br /&gt;                         points : [70,50, 60,50,85, 75,70,50 ]&lt;br /&gt;                         fill:Color.LIGHTGRAY&lt;br /&gt;                         stroke:Color.LIGHTGRAY&lt;br /&gt;                     }&lt;br /&gt;&lt;br /&gt;                 ]&lt;br /&gt;             }&lt;br /&gt;          &lt;br /&gt;             //mario bubble constraint same as gosling's&lt;br /&gt;             Group{&lt;br /&gt;                 visible :bind marioDialog&lt;br /&gt;                 translateX:300&lt;br /&gt;                 translateY:100&lt;br /&gt;                 content:[&lt;br /&gt;                     Rectangle {&lt;br /&gt;                         width: 100, height: 60&lt;br /&gt;                         arcWidth:20 arcHeight:20&lt;br /&gt;                         fill: Color.LIGHTGRAY&lt;br /&gt;                     }&lt;br /&gt;                     Text {&lt;br /&gt;                         translateX:10&lt;br /&gt;                         translateY:20&lt;br /&gt;                         wrappingWidth:100&lt;br /&gt;                         font : Font {&lt;br /&gt;                             size: 12&lt;br /&gt;                         }&lt;br /&gt;                         content: bind marioTalk&lt;br /&gt;                     }&lt;br /&gt;                     Polyline {&lt;br /&gt;                         points : [30,50, 40,50,15, 75,30,50 ]&lt;br /&gt;                         fill:Color.LIGHTGRAY&lt;br /&gt;                         stroke:Color.LIGHTGRAY&lt;br /&gt;                     }&lt;br /&gt;&lt;br /&gt;                 ]&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             ImageView {&lt;br /&gt;                 visible :bind consoleV&lt;br /&gt;                 translateX:20&lt;br /&gt;                 translateY:20&lt;br /&gt;                 fitHeight:150 fitWidth:300&lt;br /&gt;                 image: Image {&lt;br /&gt;                     url: "{__DIR__}resources/code.png"&lt;br /&gt;&lt;br /&gt;                 },&lt;br /&gt;             }&lt;br /&gt;             // two mediafile recorded by me and played in the beginning and end&lt;br /&gt;             MediaView {&lt;br /&gt;                 translateX:40 translateY:20&lt;br /&gt;                 fitWidth:250 fitHeight:160&lt;br /&gt;                 preserveRatio: true&lt;br /&gt;                 visible:bind mediaV&lt;br /&gt;                 mediaPlayer : playMedia = MediaPlayer {                     &lt;br /&gt;                     autoPlay:false&lt;br /&gt;                     media : Media {&lt;br /&gt;                         source : "http://localhost/video.avi"&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;             MediaView {&lt;br /&gt;                 translateX:40 translateY:20&lt;br /&gt;                 fitWidth:250 fitHeight:160&lt;br /&gt;                 preserveRatio: true&lt;br /&gt;                 visible:bind dudeV&lt;br /&gt;                 mediaPlayer : playDude = MediaPlayer {&lt;br /&gt;                     autoPlay:false&lt;br /&gt;                     media : Media {&lt;br /&gt;                         source : "http://localhost/pass.avi";&lt;br /&gt;&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;         ]&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;var newScene:Scene = Scene{&lt;br /&gt; fill:Color.WHITE&lt;br /&gt; content:[&lt;br /&gt;&lt;br /&gt;     Text {&lt;br /&gt;         translateX:200 translateY:130&lt;br /&gt;     font : Font {&lt;br /&gt;         size: 24&lt;br /&gt;     }&lt;br /&gt;     x: 10, y: 30&lt;br /&gt;     content: "Created in JavaFX"&lt;br /&gt;     fill:Color.BLUE&lt;br /&gt;     effect:Glow {&lt;br /&gt;         level: 1&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt; ]&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var marioMoveRight =  Timeline {&lt;br /&gt;     repeatCount: 1&lt;br /&gt;     keyFrames : [&lt;br /&gt;      &lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 3s&lt;br /&gt;             canSkip: true&lt;br /&gt;             values: [marioX=&gt;280, gosX=&gt;230]&lt;br /&gt;             action: function(){&lt;br /&gt;                 currentMarioImage =marioStanding;&lt;br /&gt;                 jagDialog=true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 println("3s over")&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 4s&lt;br /&gt;             action: function(){&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog=false;&lt;br /&gt;                 println("4s over")&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 5s&lt;br /&gt;             action: function(){                 &lt;br /&gt;                 marioTalk =  "{marioTalk}\n my princess is lost";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 6s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "She is  in the Castle";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 7s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "Which castle";&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 8s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "{jagTalk} \nThat one";&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 castleView = true;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 9s&lt;br /&gt;             action: function () {&lt;br /&gt;                 jagTalk = "let me find her";&lt;br /&gt;                 jagimg = jagbimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 10s&lt;br /&gt;             action: function () {&lt;br /&gt;                 consoleV=true;&lt;br /&gt;                 jagDialog = false&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 12s&lt;br /&gt;             action: function () {&lt;br /&gt;                 consoleV=false;&lt;br /&gt;                 jagDialog = false;&lt;br /&gt;                 mediaV=true;&lt;br /&gt;                 playMedia.play();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 17s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog=true;&lt;br /&gt;                 marioTalk = "Aw! man she is ugly , bulls";&lt;br /&gt;                 playMedia.pause();&lt;br /&gt;                 mediaV = false;&lt;br /&gt;                 jagimg=jagfimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 18.5s&lt;br /&gt;             action: function () {          &lt;br /&gt;                 marioTalk = "perhaps, I \nshould go to javaone,";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 20s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "great minds \n'll ease me up";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 21.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioTalk = "I wasted lifetime , hunting castles";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 23s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog =false;&lt;br /&gt;                 mediaV= false;&lt;br /&gt;                 marioTalk = "Now I should do something worthwhile";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 24.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 jagDialog = true;&lt;br /&gt;                 jagTalk = "Sorry dude, that one goes to your fake princess";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 26s&lt;br /&gt;             action: function () {                 &lt;br /&gt;                 jagTalk = "he agreed to become \nthat,  for it";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 27.5s&lt;br /&gt;             action: function () {&lt;br /&gt;                 marioDialog = true;&lt;br /&gt;                 jagDialog = false;&lt;br /&gt;                 marioTalk = "yeah sure he deserve, 'll \nsee ya next year";&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;      &lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 29s&lt;br /&gt;             values: marioX =&gt;280&lt;br /&gt;             action:function(){&lt;br /&gt;                 marioDialog = false;&lt;br /&gt;                 currentMarioImage = marioImage;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame {&lt;br /&gt;             time: 30.5s&lt;br /&gt;             values: gosX =&gt; 230&lt;br /&gt;             action:function(){&lt;br /&gt;                 jagimg=jagfimg;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame{&lt;br /&gt;             time:32s&lt;br /&gt;             values: [marioX =&gt;0 , gosX=&gt;300]&lt;br /&gt;             action:function(){&lt;br /&gt;                 dudeV=true;&lt;br /&gt;                 playDude.play();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         KeyFrame{&lt;br /&gt;             time:35s&lt;br /&gt;             action:function(){&lt;br /&gt;              &lt;br /&gt;                 stage.scene=newScene;&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;     ]&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; override function run():Void{&lt;br /&gt;     stage;&lt;br /&gt;     marioMoveRight.play();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;here is the link to jnlp for launch&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://profile.iiita.ac.in/IIT2006117/jfx/j1/javaone.jnlp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 88px; height: 23px;" src="http://blogs.sun.com/rakeshmenonp/resource/images/jws-launch-button.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;same video on vimeo&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4624495&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4624495&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="300" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/4624495"&gt;dudepass&lt;/a&gt; from &lt;a href="http://vimeo.com/user502941"&gt;vaibhav mishra&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;edit1: I removed blogger embedded video, because it scaled downthe video big-time and it totally sucks, added youtube link&lt;br /&gt;edit2: don't know about quality  , added vimeo link&lt;br /&gt;edit3: 7 votes(2 of which are negative but still, it counts) thanks anyone who bothered enough&lt;br /&gt;edit4: I modified post to make it more fulfilling and jsut realized my code ran 423 lines...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-1272147425106168406?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/1272147425106168406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=1272147425106168406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1272147425106168406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1272147425106168406'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/dude-wheres-my-pass-entr-made-in-javafx.html' title='Dude where&apos;s my pass entr, made in javafx'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_8IgrExDrA8Y/SgvqezAKKdI/AAAAAAAABQw/VjuVNClQZ6A/s72-c/Javaonefilestructure.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-381589574731154291</id><published>2009-05-11T21:26:00.000-07:00</published><updated>2009-05-11T22:02:02.357-07:00</updated><title type='text'>My first ( in a long time) J2ME app</title><content type='html'>to learn more about I sort of googled "crash course in j2me" and found &lt;a href="http://koderko.dk/J2METutorial/collisiondetection.asp"&gt;this article&lt;/a&gt;, , I am currently going through it and my current status is , &lt;br /&gt;&lt;object width="550" height="400"&gt;&lt;br /&gt;&lt;param name="movie" value="http:profile.iiita"&gt;&lt;br /&gt;&lt;embed src="http://profile.iiita.ac.in/IIT2006117/flash/javameone.swf" width="550" height="400"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-381589574731154291?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/381589574731154291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=381589574731154291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/381589574731154291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/381589574731154291'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/my-first-in-long-time-j2me-app.html' title='My first ( in a long time) J2ME app'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-575630028426497952</id><published>2009-05-08T23:58:00.000-07:00</published><updated>2009-05-09T00:07:23.307-07:00</updated><title type='text'>Hunt for libraries</title><content type='html'>Today my morning started with a hunt for java libraries, just for fun, I was looking for some new cool libraries, and then   I ended up looking into details of persistence, without even realizing I ended up where I was not supposed to be, I promised myself yesterday that I will not waste my time doing meaningless research (although I was doing it for several 3 years with no output), and hell I am doing it again, this post is a reminder of my failed attempt , hope I will be more focused later&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-575630028426497952?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/575630028426497952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=575630028426497952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/575630028426497952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/575630028426497952'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/hunt-for-libraries.html' title='Hunt for libraries'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-6513856045064659200</id><published>2009-05-07T07:35:00.000-07:00</published><updated>2009-05-09T00:09:38.513-07:00</updated><title type='text'>creating custom javafx button</title><content type='html'>I am creating a simple application just to learn intricacies of javafx, the application require a button component, I know it is quite easy to use swing button , but it is just plain ugly and do not belnd with my application UI, nothing special , I just wanted a simple application so I created a simple button component were&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A simple rectangle which forms the button surrounding&lt;/li&gt;&lt;li&gt;A text component which aligns the itself inside the rectangle&lt;/li&gt;&lt;li&gt;A hover effect  when mouse comes over the button&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A simple action fucntion which is invoked when the mouse clicked&lt;/li&gt;&lt;/ol&gt;I first extended the CustomNode and named my class ButtonFX&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;public class ButtonFX extends CustomNode{&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then I override the create() function, which returns node , in this case, the custom button&lt;br /&gt;I here should mention that Group is a collection of node elements and itself is a node so I will be returning group component which consist of rectangle  and text&lt;br /&gt;here is code for Rectangle&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;rect = Rectangle {&lt;br /&gt;             width: 60, height: 30&lt;br /&gt;             fill: bind if(rect.hover) Color.BLACK else Color.BLUE&lt;br /&gt;             stroke:Color.WHITE&lt;br /&gt;             arcHeight:10&lt;br /&gt;             arcWidth:10&lt;br /&gt;         }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;here  the fill variable in  line 3 uses hover keyword to control the color of rectangle, I assigned rect so that I could later use hover keyword&lt;br /&gt;&lt;br /&gt;arcHeight and arcWidth are used to provide some visual appeal to button&lt;br /&gt;&lt;br /&gt;here is text class which is more interesting&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;Text {&lt;br /&gt; font : font =Font {&lt;br /&gt;                 size: 14&lt;br /&gt;              }&lt;br /&gt; y: rect.layoutBounds.minY+&lt;br /&gt;                  (rect.layoutBounds.height - font.size)/2,&lt;br /&gt; x: rect.layoutBounds.minX+5&lt;br /&gt; content: "Login"&lt;br /&gt; textOrigin:TextOrigin.TOP&lt;br /&gt; textAlignment:TextAlignment.CENTER&lt;br /&gt; fill:Color.WHITE&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The important part of this is the y constraint, here a formulae is used to align it to the center of rectangle based on font size and rectangle size&lt;br /&gt;now we know why reffering to rectangle as rect come in handy , layoutBounds allow us to access dimension (x position y position , width, height etc.,) and for action functionality I created a function which simply prints that button is clicked , this should be overridden when we call ButtonFX to mimic proper button functionality&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;here is full code&lt;/h3&gt;&lt;br /&gt;&lt;pre class="brush:javafx"&gt;&lt;br /&gt;/*&lt;br /&gt; * ButtonFX.fx&lt;br /&gt; *&lt;br /&gt; * Created on 7 May, 2009, 6:51:18 PM&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;package nbtalkfx;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import javafx.scene.CustomNode;&lt;br /&gt;import javafx.scene.Group;&lt;br /&gt;import javafx.scene.input.MouseEvent;&lt;br /&gt;import javafx.scene.Node;&lt;br /&gt;import javafx.scene.paint.Color;&lt;br /&gt;import javafx.scene.shape.Rectangle;&lt;br /&gt;import javafx.scene.text.Font;&lt;br /&gt;import javafx.scene.text.Text;&lt;br /&gt;import javafx.scene.text.TextAlignment;&lt;br /&gt;import javafx.scene.text.TextOrigin;&lt;br /&gt;import javafx.scene.effect.Reflection;&lt;br /&gt;import javafx.scene.text.FontWeight;&lt;br /&gt;import javafx.scene.effect.Glow;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Vaibhav Mishra&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;public class ButtonFX extends CustomNode{&lt;br /&gt;    var rect:Rectangle;&lt;br /&gt;    var font:Font;&lt;br /&gt;    var text:Text;&lt;br /&gt;    package var clicky:function() ;&lt;br /&gt;//public function clickAction():Void{&lt;br /&gt;//        println("buttonFX");&lt;br /&gt;//    }&lt;br /&gt;&lt;br /&gt;    override function create():Node{&lt;br /&gt;        Group{&lt;br /&gt;            content:[&lt;br /&gt;                rect = Rectangle {&lt;br /&gt;                    width: 60, height: 30&lt;br /&gt;                    fill: bind if(rect.hover) Color.BLACK else Color.LIGHTGRAY&lt;br /&gt;                    stroke:bind if(rect.hover) Color.WHITE else Color.GRAY&lt;br /&gt;                    arcHeight:10&lt;br /&gt;                    arcWidth:10&lt;br /&gt;                    strokeWidth:3&lt;br /&gt;                }&lt;br /&gt;                text = Text {&lt;br /&gt;                    id:"loginButtonText"&lt;br /&gt;                    font : font =Font {&lt;br /&gt;                        size: 18&lt;br /&gt;                        embolden:true&lt;br /&gt;                    }&lt;br /&gt;                    y: rect.layoutBounds.minY+(rect.layoutBounds.height - font.size)/2, &lt;br /&gt;                    translateX: bind rect.layoutBounds.minX +(rect.layoutBounds.width/2) - (text.layoutBounds.width/2)&lt;br /&gt;&lt;br /&gt;                    content: "Login"&lt;br /&gt;                    textOrigin:TextOrigin.TOP&lt;br /&gt;                    //textAlignment:TextAlignment.CENTER&lt;br /&gt;                    fill:bind if(rect.hover) Color.WHITE else Color.BLACK&lt;br /&gt;                    //layoutBounds:rect.layoutBounds&lt;br /&gt;//                    effect :Glow {&lt;br /&gt;//                    level: 1.0&lt;br /&gt;//                }&lt;br /&gt;                }&lt;br /&gt;            ]&lt;br /&gt;            onMouseClicked:function (e:MouseEvent):Void{&lt;br /&gt;                println("button clicked");&lt;br /&gt;                clicky();&lt;br /&gt;            }&lt;br /&gt;            effect:Reflection {&lt;br /&gt;                      fraction: 0.25&lt;br /&gt;                      topOffset: 0.0&lt;br /&gt;                      topOpacity: 0.5&lt;br /&gt;                      bottomOpacity: 0.0&lt;br /&gt;                   }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;update: overriding functions defined in Custom components gives compilation error in current openjfx compiler 1.1.1 , this seems to be fixed in version 1.2 or later,  I have not implemented it here , will do it after javaone.&lt;br /&gt;&lt;br /&gt;update2: the default javafx brush i am using for blogger doesnot wrap code automatically and some part of line y part of text is missing in display, view source to check full code .&lt;br /&gt;&lt;br /&gt;update3: I found a way to do it thanx to dynamic Sun community, now I have changed the full working code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-6513856045064659200?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/6513856045064659200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=6513856045064659200' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/6513856045064659200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/6513856045064659200'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/creating-custom-javafx-button.html' title='creating custom javafx button'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-7351692058749426637</id><published>2009-05-06T15:19:00.001-07:00</published><updated>2009-05-06T15:31:07.691-07:00</updated><title type='text'>making yourself a better programmer</title><content type='html'>this is sort of like a maintainance entry , to remind myself that I did this,&lt;br /&gt;it si referenced from following &lt;a href="http://secretgeek.net/6min_program.asp"&gt;blog post&lt;/a&gt;, nice points&lt;br /&gt;&lt;ol&gt;&lt;li&gt;M&lt;span style="font-weight: bold;"&gt;ake IDEs font bigger&lt;/span&gt;, suggested by Mr.Hanselman, the smae guy as hanselminutes(probably , unless there is a deeply entrenched Government conspiracy), the author go from 10 to 14 , mine is 12 by default so , I guess I am on 16, the aim is to have less weird functions, This seems to look great , let me see the effect on my productivity&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Make hard coded strings look ugly&lt;/span&gt; , I don't really understand it but, what the hell, lets do it, yeah this surely is more effective than it sounds.&lt;/li&gt;&lt;li&gt;lets just forget about the 3rd one&lt;/li&gt;&lt;li&gt;I don't do unit tests(I am a undergrad not in any kinda production environment) so skip it also&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Read the code from an open source project,&lt;span style="font-weight: normal;"&gt; this surely helped me , even if I dont understand most of it, but still fun to see a nice project under the hood&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;over my head&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;same as 6&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Stop reading, start writing. &lt;span style="font-weight: normal;"&gt;yeah I am doing it right now , and suerly it is timetested but much ignored tip&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-7351692058749426637?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/7351692058749426637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=7351692058749426637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/7351692058749426637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/7351692058749426637'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/making-yourself-better-programmer.html' title='making yourself a better programmer'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-8325950154883602636</id><published>2009-05-05T03:31:00.000-07:00</published><updated>2009-05-05T03:34:15.433-07:00</updated><title type='text'>checking javafx syntax</title><content type='html'>&lt;pre class="brush:javafx"&gt;&lt;br /&gt;Stage {&lt;br /&gt;   title: "Test Box"&lt;br /&gt;   width:200 height:350&lt;br /&gt;   style:StageStyle.TRANSPARENT&lt;br /&gt;   scene:migScene;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-8325950154883602636?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/8325950154883602636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=8325950154883602636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8325950154883602636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8325950154883602636'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/05/checking-javafx-syntax.html' title='checking javafx syntax'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-8538871444192259244</id><published>2009-04-20T05:53:00.000-07:00</published><updated>2009-04-20T05:59:39.847-07:00</updated><title type='text'>Oracle buying Sun, next what Apple+Adobe</title><content type='html'>In recent turn of events Oracle announced they are acwuiring Sun microsystems in $7.4 billion , sorry for posting it here but it is really a huge news, it will surely embrace Java , but what about JavaFX , recently I as a learner  and a student really have the liking of this new language, but will oracle feel the same, I don't know why but from 3 days I am learning Flex maybe to know what JavaFX is up against and maybe to understand what all the fuss is about, I really liked it, it produces beautiful result but surely like JavaFX because of it's Java support and ability to create much better looking UIs than traditional Swing apps, lets wait and watch.&lt;br /&gt;since there was not even a rumour about acquisition , there might be a chance of Apple and Adobe merger let's hope.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-8538871444192259244?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/8538871444192259244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=8538871444192259244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8538871444192259244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8538871444192259244'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/04/oracle-buying-sun-next-what-appleadobe.html' title='Oracle buying Sun, next what Apple+Adobe'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-4344010325965845411</id><published>2009-04-17T03:56:00.001-07:00</published><updated>2009-04-17T03:57:55.085-07:00</updated><title type='text'>CodeJavaFX winners announced</title><content type='html'>Sun finnally announced the codeJavaFX winners , here is &lt;a href="http://in.sun.com/specials/codejavafx/winners.jsp"&gt;a list&lt;/a&gt;&lt;br /&gt;congratulations,&lt;br /&gt;PS: I got a T-Shirt (unless they disqualify my entry which has a fair chance(of disqualification))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-4344010325965845411?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/4344010325965845411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=4344010325965845411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/4344010325965845411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/4344010325965845411'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/04/codejavafx-winners-announced.html' title='CodeJavaFX winners announced'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-90827692280943780</id><published>2009-04-16T11:26:00.000-07:00</published><updated>2009-04-16T11:46:23.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><title type='text'>CodeJavaFX deadline over (or is it)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://in.sun.com/specials/codejavafx/images/l0_codejavafx.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 780px; height: 165px;" src="http://in.sun.com/specials/codejavafx/images/l0_codejavafx.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am waiting for the result of CodeJavaFX contest for quite a some time, yeah .. some time because the &lt;a href="http://in.sun.com/specials/codejavafx/"&gt;home page&lt;/a&gt; of contest reveals two dates for results, 15th and 17th of april, judging by how this thing work i suppose date is 17th(if it was 15th , I would have at least the design of my JavaFX T-Shirt by now), just read an article of contest coordinator in LFY magazine , I hope I could do some of that stuff, but there is also a 14 yr old writing in that magazine(dude must be a real genius or have people who know people at the right place(I assume the former ,it's open source  world duh!(sorry for the bracket inside bracket and this one too ..))),&lt;br /&gt;       just got to know that I have a presentation due tomorrow for my class, man I should take study seriously......&lt;br /&gt; &lt;br /&gt;PS - I love You&lt;br /&gt;PPS - I started this article 6 minutes b4 midnight and completed 6 minutes past midnight, man, I am consistent(and symmetric)......&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_8IgrExDrA8Y/Sed8zTBZfhI/AAAAAAAABOs/sC7G9fWcqLE/s1600-h/ScreenHunter_01+Apr.+17+00.14.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 349px;" src="http://4.bp.blogspot.com/_8IgrExDrA8Y/Sed8zTBZfhI/AAAAAAAABOs/sC7G9fWcqLE/s400/ScreenHunter_01+Apr.+17+00.14.gif" alt="" id="BLOGGER_PHOTO_ID_5325362305110212114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I don't know about licensing, if the banner offend somebody I'll gladly take it down(no I won't).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-90827692280943780?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/90827692280943780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=90827692280943780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/90827692280943780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/90827692280943780'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/04/codejavafx-deadline-over-or-is-it.html' title='CodeJavaFX deadline over (or is it)'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8IgrExDrA8Y/Sed8zTBZfhI/AAAAAAAABOs/sC7G9fWcqLE/s72-c/ScreenHunter_01+Apr.+17+00.14.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-1352642603187180551</id><published>2009-04-15T09:17:00.000-07:00</published><updated>2009-04-15T09:37:54.660-07:00</updated><title type='text'>Sun is buying Novell- and maybe Microsoft(baseless)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fayerwayer.com/up/2008/11/sun-microsoft.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 398px; height: 291px;" src="http://www.fayerwayer.com/up/2008/11/sun-microsoft.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;today(yeah I mean just 5 minutes back ) I searched java in google news and came across &lt;a href="http://news.cnet.com/8301-13505_3-10218707-16.html"&gt;this post&lt;/a&gt; for those of you who are too lazy like me to open(and read ) the link, here is the summary, it says that Sun should buy Novell, I don't know what does that mean to me, so I thought of what a better way to start thinking about it and document it in the mighty blogosphere, let's get started -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I'll then have to change my signature from Sun developer's forum from (it mentions both sun and canonical basically predicting there future partnership), since Novell has Suse, so Sun have to support it as its Linux platform.&lt;/li&gt;&lt;li&gt;Death of Solaris- I don;t know much about Solaris except for its cool DTrace and ZFS features which are too technical for my old fashioned dumb mind, may be I am wrong but hey we're just predicting.&lt;/li&gt;&lt;li&gt;Sun will have an indirect relationship with Microsoft - I hear a lot that Mr. McNealy hates Microsoft, but if they have Novell then along came a treaty with Microsoft which god knows what documents, but given the Microsoft's stature certainly made Novell it's bitch in some way or the other , this merger will result in Microsoft filing some legal petitions against Sun because Sun didn't give a shit about what Microsoft think and made their former entity sign on a shitty piece of paper.&lt;/li&gt;&lt;li&gt;The point above was awesome, I like crapping Microsoft despite all the innovation it has given to world , I am not a reasonable person, I am a fanboy.&lt;/li&gt;&lt;li&gt;I have to throw my Solaris admin book and given my long love-relationship with books(I have books from my 10th standard saved , which have a chance of being useful to me ,next to nothing then Novell acquiring Sun and then Sun Acquiring Microsoft'I know the order is reversed I am too lazy to reedit it.')&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-1352642603187180551?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/1352642603187180551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=1352642603187180551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1352642603187180551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/1352642603187180551'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2009/04/sun-is-buying-novell-and-maybe.html' title='Sun is buying Novell- and maybe Microsoft(baseless)'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-8092509316535103150</id><published>2008-12-19T14:51:00.000-08:00</published><updated>2008-12-19T14:57:04.352-08:00</updated><title type='text'></title><content type='html'>&lt;blockquote&gt;Today I want to try something new , after having a messed up schedule by wasting time in loser stuff, watching movies and all that, I found a more losing thing to do( but it's new ) so let's do it , might turn out to be something useful , i.e., the topcoder software section , and I must say that they have pretty much messed up section for initial developers and I really mean it, it seems quite a steep slope of learning and for someone like me who uses them as learning platform it's somewhat illogical and a bit of inconvenience, let's see what it turn out to be ,and for instance just watched first 6 episodes of Numb3rs and really loved it.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-8092509316535103150?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/8092509316535103150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=8092509316535103150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8092509316535103150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/8092509316535103150'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2008/12/today-i-want-to-try-something-new-after.html' title=''/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5043081227707456488.post-9119162231090433153</id><published>2008-08-07T17:34:00.000-07:00</published><updated>2008-08-07T17:41:49.221-07:00</updated><title type='text'>My new Netbeans plugin</title><content type='html'>I have developed a plugin for netbeans which showsthe proxy status(alive or otherwise) of IIIT Allahabad i.e., my college   the plugin can be downloaded by clicking on this pic&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=11956"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_8IgrExDrA8Y/SJuWBgqO-VI/AAAAAAAAAsk/lOdLn5piMoA/s320/Thumbnail.png" alt="" id="BLOGGER_PHOTO_ID_5231940344812075346" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5043081227707456488-9119162231090433153?l=javalan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javalan.blogspot.com/feeds/9119162231090433153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5043081227707456488&amp;postID=9119162231090433153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/9119162231090433153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5043081227707456488/posts/default/9119162231090433153'/><link rel='alternate' type='text/html' href='http://javalan.blogspot.com/2008/08/my-new-netbeans-plugin.html' title='My new Netbeans plugin'/><author><name>vinu</name><uri>http://www.blogger.com/profile/12166213373589780955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://2.bp.blogspot.com/_8IgrExDrA8Y/SjEQ20UfF4I/AAAAAAAABRk/rEA8fMLqYe0/S220/icon.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8IgrExDrA8Y/SJuWBgqO-VI/AAAAAAAAAsk/lOdLn5piMoA/s72-c/Thumbnail.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
