Thursday, May 10, 2007

JavaOne Day 3 - Consumer JRE, Ajax Security, Ruby in Netbeans

Todays highlights:

Roumen posted a blog entry about Sun's commitment to create "Consumer JRE". This is exactly what JavaFX needs in order to blow Flash away.

In the morning I attended Ajax Security session. The session didn't bring up anything new (un)fortunately, but it was a good recap of security pitfalls and best practices for Ajax development. The main message of the session was that Ajax makes securing web applications more complicated because of exposing more API and revealing many implementation details to the cruel world. The most important counter measures are:
  1. don't trust the client
  2. validate input
  3. encode output
  4. don't send sensitive (passwords) data in raw form over http
  5. remove comments from html and java script
Tor Norbye's session on Ruby tooling was pretty interesting. I had no idea that NetBeans was using Lucene search engine to make auto-completion and ctl(cmd)+space suggestions for dynamic languages like Ruby in NetBeans possible. Pretty smart :)

Btw, I've been using Netbeans 6 M9 as my main development environment for almost two weeks now, while working on numerious Java and Rails projects. The stability of this build is fantastic. I don't recall seeing any major or even minor issues.

Incredible Java2SignLanguage Interpreter

I never gave a thought as to what would it be like to be at JavaOne and couldn't hear anything. So it really amazed me to see that some (maybe all?) of the sessions at JavaOne are being interpreted into sign language.

Live translation into sign language is nothing rare. But when you realize how complex and highly technical most of the sessions are, it is hard to believe that it's actually possible.

I shot this video during Joshua Bloch's Effective Java session. Joshua is a great speaker, but he also tends to talk about pretty geeky stuff that a non-technical person would find hard or impossible to follow.

I applaud all these interpreters for the great work they do!


The video quality is not the best, but you get the idea :) I might shoot a better one tomorrow if I feel like it.

Wednesday, May 09, 2007

JavaOne Day 2 - JavaFX Details + Enterprise Rails

Another great JavaOne day is over. Today I did a better job of avoiding boring sessions like yesterdays Web2.0 profiling lab :)

Briefly some important info:
  1. Joshua Bloch did a great job at his Effective Java session. The presented Builder pattern (among others) is something I'll definitely use next time when the need surfaces.
  2. Colgate runs an internal RubyOnRails application talking to the SAP backend via SAP4Rails. It's more than likely that more Rails+SAP applications will surface in the near future, because SAP guys love how easy it is to build a pretty GUI with Rails. And I realized that I should be happy that I didn't become a SAP code monkey :)
  3. JavaFX or JFX (formerly Form Follow Function (F3)) details:
    1. in my understanding it is a wrapper around AWT, Swing and Java2D libraries, that uses it's own language to expose easily usable, yet incredibly powerful, API for building rich GUIs
    2. the language, JavaFX Script, is statically typed and as of now is interpreted, but the work is in progress to get rid of this 2nd level of interpretation in the JVM, which will speed up JavaFX 10-20x
    3. can be deployed as a J2SE app, Java Web Start app or an applet
    4. as an applet it weighs somewhere around 700k after PK2000 compression
    5. enables the building of truly amazing GUIs with a very little effort
    6. it is easily possible to transform SVG into JFX Script - that makes it possible to create a GUI based on output from tools like Adobe Illustrator
    7. since JFX is using AWT/Swing internally, it is possible to embed existing GUI components and display them via JFX. The same is true for trying it the other way around - embedding JFX elements into exising Swing applications.
    8. it's still a work in progress and I have a feeling that very interesting things related to JavaFX will be announced in the upcoming weeks/months

Tuesday, May 08, 2007

JavaOne Day 1 - JRubyOnRails and JavaFX



I'm back home after the first day of my first JavaOne and I feel incredibly good. Seeing these thousands of geeks (just like me :)) trying to suck in as much info as they can, while talking about all these cool things that "normal" beings would not even remotely understand. Feels like a geek heaven :))

Overall the day was pretty interesting:
  1. I was happy to meet my team mate Matthew in person.
  2. The DJ that warmed up the crowd before the keynote, reminded me how much I like electronic music from which I got side tracked from for unknown reason. I should blame my friend Monicka influencing me with all that good jazz that she was loading me up with lately.
  3. The keynote was pretty good. IMO I think that Apple does a better job at orchestrating keynotes so that they feel little more exciting though (at least from what I saw online). I'm not saying that it was boring or anything like that, just stating that there is still some space for improvements. ;-)
  4. OpenJDK is out - good job!
  5. JavaFX - think Flash/Flex/Silverlight/AJAX "killer" :) - new technology announced today during the keynote, looks promising. From what I saw I think that this technology has a great potential. Based on experience I got while helping out on the zoom23.com project, I see that AJAX/DHTML has its limits. When creating RIA it is very easy to reach those limits and start to struggle performance-wise. I know that Flash is out there, but I think there are valid reasons why not to use Flash. If JavaFX delivers on its promise, I'd be up to checking out how JavaFX can be leveraged at www.zoom23.com. Rama, are you planting ideas about how/where to use JavaFX at .sun.com? :)
  6. The other major thing that change the way I look at the world today was the JRuby on Rails session. I've been keeping an eye on JRuby for some time now, but I had a feeling that it was not ready yet, or at least not ready for the enterprise. How wrong I was! During the session Charlie and Thomas (a.k.a. JRuby guys) demoed deploying a simple JRoR app as a war to Glassfish app server. Amazing! I have to play with this and see how I can sneak the JRoR into .sun.com (I have a secret plan already! 8-) ). Also the backend of zoom23.com could greatly benefit from tighter integration of the RoR admin app and Java based importers. Hey zoom23 guys, how would you like running zManager and the importers in one JVM? I think that it would be pretty interesting!
  7. I wish Java had closures already! Come on people, hurry up with these, otherwise it'll be too late.
  8. The other session and hands on labs that I attended were beyond disappointment. I was bored to tears!
Off to bed, to recharge and continue tomorrow.

Off to JavaOne 2007

Today I compiled a list of JavaOne sessions that I'd like to attend. It was quite a task to get through all the sessions available. Here is what caught my eye, if I missed something important chime in :)

/**
 * Tue
 */
10:50-11:50 TS-9370 JRuby on Rails: Agility for the Enterprise
3:20-4:20 TS-6045 Web Algorithms
4:40-5:40 TS-2294 Closures for the Java Programming Language
5:40-7:40 LAB-4410 Benchmarking and Profiling Web 2.0 Applications for Performance

/**
 * Wed
 */
9:35-11:35 LAB-7230 Project Sun SPOT, Robots, and Java Technology
1:30-2:30 TS-91440 Ruby on Rails Meets the World of Enterprise Applications
2:50-3:50 TS-9235 Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme Web Testing
4:10-5:10 TS-2388 Effective Concurrency for the Java Platform

/**
 * Thur
 */
9:35 - 10:35 TS-6014 You Are Hacked: Ajax Security Essentials for Enterprise Java Technology Developers
10:55 - 11:55 TS-4436 Technical Overview of GlassFish v2
1:30 - 2:30 TS-3420 Form Follows Function (F3)
2:50 - 3:50 TS-1262 Killer Apps: Data Mining Demystified
4:10 - 5:10 TS-9972 RubyTooling: State of the Art

/**
 * Fri
 */
10:50 - 11:50 TS-9535 Comparing the Developer Experience of Java EE 5.0, Ruby on Rails, and Grails: Lessons Learned from Developing One Application
12:10 - 1:10 TS-2698 Cranking Up Java Application Performance with DTrace
1:30 - 2:30 TS-9646 Performance-Tune Your Ajax Application
2:50 - 3:50 TS-3165 Filthy-Rich Clients: Talk Dirty to Me
4:10 - 5:10 TS-9294 Exploiting JRuby: Building Domain-Specific Languages for the Java Virtual Machine

Tuesday, April 17, 2007

script type="text/ruby" Impossible? Ha!

Check out Dion Almaer's blog with a description of the prototype and a demo page.

Monday, April 16, 2007

Adobre Reader 8.0 Direct Download Link

I previously posted a direct download link for 7.x version of Adobe Reader and a bunch of people found it useful. So here is the link for version 8.0:

AdbeRdr80_en_US_i386.dmg

Enjoy Adobe Reader without the hassle of dealing with Adobe Reader Download Manager.