JAX India 2007 – Day 3 Report
I am back from a day at the JAX India 2007 conference. I went with Kapil, Kannan, both Vikas, Subin and Janmejay. It was a busy day and, overall, I found it not very useful to me.
First, I attended Neal Ford‘s session titled 10 Ways To Improve Your Code. This session was a huge let down! I walked in a tad late and was horrified at the advise handed out at that very moment – “Version control your code”! I can’t help notice that it was a wondefully useful advise in 2007, duh! The next 40 minutes or so we were treated with more trite. There was this bit of advise – “Use reflection when appropriate”. And an example of such an appropriate instance? (in summary)
We were called in to help this customer. They were using some framework which generated a whole bunch of getters and setters. We were not allowed to touch any of that code, and these getters were spoiling our test coverage numbers. So we wrote a test which simply invoked those getters and setters using reflection.
If anybody was worried about using reflection, that example should just convince them! Yeah.
The next session was AOP – Whats new and cool in Spring 2.0 by Vishal Puri. Vishal showed some Spring AOP capabilities – transaction demarcation, exception translation, retries with an around advice and checking for depdency violations. Vishal was somewhat handicapped by most of the audience not knowing what a pointcut was; and his examples, unfortunately, could be appreciated only if one recognises the power of a good pointcut expression language. The specific capabilities introduced are well-known to anyone, at least casually , following the AOP scene but it was good to know that these are available out of the box in Spring 2.0. I need to read up on these sometime soon. BTW, I found Vishal to be a terrible presenter.
Sangeetha Oak’s session titled Building an AJAX Web application using Dojo toolkit was up next. I barely managed to squeeze into the hall; but when Sangeetha started with “Well, you might have heard of Ajax and might think that Dojo is … “, we decided that maybe it was a good time to check the stalls. Subin hung on for some 10 minutes more but by the time speaker started explaining dojo.addOnLoad(..), he also joined us. Dojo is an incredibly powerful framework, and I was glad to see that people were interested in hearing about it.
The stalls were eventless. And nobody offered a single damn tshirt! 🙂 I saw a demo of JTest – a tool which generates unit test code. It is the worst idea I have seen this year. From the brief demo I saw, what I gathered was that JTest analyses your code, figures out what it might be doing, and generates unit tests which always pass. Then you have to generate a report which tells you what inputs were given to a method and what the actual outputs were – which somebody needs to manually verify. To me, it looked like actually writing the tests by hand (with a lil help from the IDE) was lot easier. The person doing the demo, showed a totally incomprehensible deep if-else-if branch and proudly demostrated that such code can be tested by JTest. I think that somebody has totally missed the whole point of unit testing.
We then went to catch up some lunch. While waiting in the queue this one guy came up and asked “May I squeeze in please?” and when I politely said “Sure”, he got into the queue ahead of me, turned around and declared “This lady here is a friend of mine” (pointing at the lady who was standing ahead of me, but was now standing in front of him). Yeah, great friend who would let you stand behind herself in a queue – and a great response to the guy who actually let you get ahead of himself; impressed, buddy, I really am! The lunch was actually good; the only time I felt that the conference fee made good ROI.
After lunch we went to yet another session by Vishal Puri – this time titled Simplfying enterprise applications with Spring 2.0. This was pure Spring marketing pitch. Vishal, as I mentioned earlier, is not a great speaker – so I am not sure if he would manage to convince anyone to use Spring. That would be a shame though; Spring is a very useful piece of software.
The next session was Neal Ford again – this time with JRuby on Rails. Neal whipped out a quick scaffold user interface for one database table. From couple of conversations I overheard later in the day, some people were immensely impressed. He mentioned that one can now host JRuby applications as a WAR file in servlet containers but admitted that JRuby at this point is too slow. He expressed hope that it would soon be as quick or even quicker than C Ruby. Yawn.
The last session I attended in the day – Persistence for Service Oriented Architectures by Tobias Israel – was actually the most useful. I had trouble following him at some parts of the talk but he asked lots of interesting questions which I don’t hear being talked about much. After making such a great start by enumerating the questions, he didn’t do a good job of suggesting answers. Maybe he was rushed for time, maybe I did not understand him well. Anyways, I need to read up on the topic sometime soon. Tobias works for SignSoft, and I hope he has a blog. His slides had lots of typos – that made understanding him even harder.
So, that was my day.