Pages

Wednesday, May 16, 2007

The Road from JavaOne - Nothern California

Good bye San Francisco, I'll be back! :)The next stop was in Yosemite.Great views, I have to say!The next morning we visited the ghost city - Boddie.And the same day evening we were in Lassen Volcanic......and had a pleasure to enjoy the views! :)After this we held a rally back to the south - to Santa Cruz.

to be continued...

Wednesday, May 9, 2007

JavaOne - Day 4

I have listened the general session (supervised by James Gosling) about various innovative robotic-oriented products, like helicopters, submarines, industrial robots etc. One special - the WowWee robosapien V2 - was presented as well. Now I have one too! :)
The session called Bytecode Manipulation Techniques for Dynamic Applications for JVM was really good. First, Eugene Kuleshov described ASM quickly, and after that some of the applications were descried: TopLink, Terracota DSO, and JRuby language compiler.

Next, I attended Java Puzzlers session, brought by Joshua Bloch & William Pugh.

Finally I was at JRuby session about DSLs. I didn't really get the point here actually. What's the point of implementing a specialized language for a corporate actions calculations? We can do the same Java and support it even better, specially if we have high performance requirements, which is not applicable to JRuby at the moment.

JavaOne - Day 3

Learned how to implement OpenOffice.org extensions with Netbeans. This could be very useful if my company used OpenOffice instead of M$ Office.

Advanced Groovy. This was almost the very best technical session I've been to so far! Nice examples with interactive console, very detailed explanations - it deserves 11 by the scale of 10!

Next, I tried to write an application using Web21C SDK, and received a radio-controlled helicopter for that! :)

The other sessions I've been to:
- OpenJDK report
- Ruby tooling: debugging end autocompletition support
- Manageble systems with JMX, AOP, Spring and Groovy
- BOF session: Lessons learned in plug-in development (for Eclipse, IDEA and Netbeans)

JavaOne - Day 2

JavaOne Pavilon is a great place I think. You can meet people here and get even more information about the issues you're interested in than from technical sessions. I had a chat with James Strachan. He was promoting Camel to me:)

I also saw a demo of a Talend and I have to admit this is a great ETL product! The demo was so smooth and I will definitely give it a try after I'm back home. It is a pity that it does not support JMS yet, but since it is open source I feel like adding this feature myself if it wont be available soon.

Sybase's IDE for database looks promising - should give it a try too, I think.
Tangosol Coherence is the next technology on my list. I had a short chat about it with the Tangosol's representative and I believe it can solve some of our data integration problems in Hansabank.

I also attended Sun SPOT lab this day. The lab consisted of 7 well-prepared exercises, using 2 Sun SPOT devices and a TruckRobot by Syntronics. I wish I could by by the toolkit but unfortunately this is being sold in US only and I could not by one if I have no US address (damn!). Hopefully, it will be available in Europe soon.

The BOF session on dynamic languages was OK ( hello Charles! :) ). Actually, the comparison of the languages could be done by anyone, but the real value of this session was the discussion on the features that could/should be available in these languages.

The session called Building Web User Interfaces in the Java Programming Language with Google Web Toolkit didn't bring anything new to me, but it was interesting to listen.

This was a great day 2 at JavaOne for me. Lots of information and fruitful discussions. I wish all the rest could be the same :)

P.S. Some chocolate for developers can also be found in pavilion :)

JavaOne - Day 1

General Session. We've been presented a new hype technology from Sun - JavaFX script, which should bring the UIs to the next level. Also some frameworks were presented that should make the world yet better - JMaki & Phobos. Also Netbeans 6 was shown with the support of JRuby language editing/debugging.

I attended a session called Cool Things You Can Do with the Groovy Dynamic Language where Guillaume Alléon and Dierk König showd us the power of dynamic object manipulations with groovy language. That was really fun and a pleasure to listen and see. I'd suggested this session to anyone.

At Sun SPOT in Action: 3D, Virtual Reality, and Gaming I met the Sun SPOT device the 1st time live :) The talk was about the virtual reality gaming in general and what is required to archive the responsiveness of the game controls.

Easy Deployment Is Finally Here was a bit disappointing, as I expected a little more than just getjava.exe description.

Finally, I met my GSoC mentor, Wayne. We had a fruitful conversation on the GSoC project, so now I think I know where to start! :)

The Road to JavaOne

We landed in LA on the 3rd of May, so we had time for a small trip on the way to San Francisco. Everyone was exited about visiting Joshua Tree National Park, Las Vegas and Death Valley. Here's how it turned out.
The day after landing in LA we had a trip over the Joshua Tree National Park - seen a lot of cacti ...
... and the joshua trees.Before going to Las Vegas we've visited Hoover Dam, just for some of us to see what it is.After spending next night in Las Vegas we moved west, to Death Valley's salty basins ......and sand dunes...
And after Death Vally - we saw sequoias:, and General Sherman tree in particularWe reached San Francisco on the 7th of May, very late in the evening.

Saturday, April 21, 2007

_JAVA_LAUNCHER_DEBUG confusion

Yesterday a tried to see what happens if I set _JAVA_LAUNCHER_DEBUG environment varable. So, I have set _JAVA_LAUNCHER_DEBUG=true, and started an application...
In Cygwin, for instance:

ant@jupiter ~
$ export _JAVA_LAUNCHER_DEBUG=true

ant@jupiter ~
$ java -version
----_JAVA_LAUNCHER_DEBUG----
JRE path is c:\jdk1.5.0_11\jre
jvm.cfg[0] = ->-client<-
jvm.cfg[1] = ->-server<-
jvm.cfg[2] = ->-hotspot<-
name: -hotspot vmType: VM_ALIASED_TO alias: -client
jvm.cfg[3] = ->-classic<-
jvm.cfg[4] = ->-native<-
jvm.cfg[5] = ->-green<-
1530 micro seconds to parse jvm.cfg
Default VM: client
JVM path is c:\jdk1.5.0_11\jre\bin\client\jvm.dll
6299 micro seconds to LoadJavaVM
JavaVM args:
version 0x00010002, ignoreUnrecognized is JNI_FALSE, nOptions is 2
option[ 0] = '-Djava.class.path=.;C:\Program Files\Java\jre1.6.0\lib\ext\QTJava.zip'
option[ 1] = '-Dsun.java.launcher=SUN_STANDARD'
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode)

OK, nice, it works... I have set _JAVA_LAUNCHER_DEBUG=false and continued with my work.

In a few minutes I wanted to compile some application using IntelliJ IDEA, but as the compilation process stared the IDE just hanged and did nothing. Restarting the IDE didn't help. Confused! I've reinstalled IDEA, upgraded to a new version even - nothing helped - it just hanged when I tried to compile anything.

Damn! I memorized now about the environment variable I've set. Removed that. IDEA compilation succeeded.

The moral is that JVM doesn't care which value is set to _JAVA_LAUNCHER_DEBUG: either 'true' or 'false'. It could be 'foo', 'bar' or 'John Doe' as well - JVM requires this environment variable to be set for debugging and doesn't need the value at all.

Wednesday, April 18, 2007

JSR 223: Scripting for Java

As Charles Nutter suggested, I decided to try javax.scripting API. The Java 6 Revealed book has a nice chapter on JSR 223 and also an example of Pnuts integration with JVM.
I have downloaded the other engines from java.net. It seems that for my SOC project it is reasonable to use Java 6. Virtually it will be possible to write plug-ins in any scripting language for which the engine is available. We could even use combination of many languages, just selecting the relevant engine by name or file extension:

ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine groovyEngine = m.getEngineByName("groovy");
ScriptEngine jrubyEngine = m.getEngineByName("jruby");

The full list of the scripting engines is available at java.net

Monday, April 16, 2007

Google Summer of Code 2007

My application to Google Summer of Code was accepted! Now the summer will be full of fun of Groovy and JRuby plug-in implementation to Eclipse.

Why I decided to participate? Don't know. Maybe I'm starting to get bored by writing JDBC applications all the time, will see how it turns out.

Sunday, April 15, 2007

Office Space

Just realized now I'm getting short of space... No as bad as the codehoopers but it is getting dangerous. I think I need a second level table on the wall and I definitely require a new chair. Thank god I have a Wi-Fi router now and don't have to drag the Ethernet cables all around :)

Disqus for Code Impossible