Tuesday, February 12, 2008

DevCamp at TW

It turned out to be one of a kind , I was very impressed with the way the Dev Camp went along .
The most interesting thing most of the guys spoke only about code , implementation ideas, and techniques (I did'nt miss my "process" here) liked Manoj's presentation on WarGames It was brief but good introduction .
Next on the line was a open house on Ruby and how it fares against typical Java development . Good to see people have indeed developed enterprise applications using Ruby at 1/2 the cost and time and that too with great success.
Some of the concerns shared were to do with Ruby's performance and scalability and common complaints included lack of good IDE for debugging/ search and replace kind of functionality.

Also attended Ravi's session on Monads, warmed up to the idea of Monads with a brief intro on functional programs and what Monads were , there were some interesting examples indicating the use of monads.Overall the concept and idea was good the ambience at TW reminded me of BEA (all code no fluff)

Dev Camp ! You score over the others :)

Tuesday, August 14, 2007

Thread Death Error





Ran into a thread death error when using tomcat 5.5 . I have a servlet using some of the log4j for logging Any request which hits this servlet started throwing up this error .

Servlet.service() for servlet project threw exception

java.lang.ThreadDeath at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:171) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:349) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:461) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:442) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)


The log4j components used in servlet was also pretty straight forward.

/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
.... ...

logger.info("ProjectAppController - returning login view");

The log4j.properties were also pretty much in place. All the log4j related jars were placed within a webapp(WEB-INF/lib) Googling about this resulted in a couple of links which talked about the Tomcat server using log4j of the web application So it turned out that if i have log4j jar and commons-logging.jar present in the common/lib of Tomcat server the error vanished. This seemed pretty strange for
1. Why should the server bother about some logging classes present in one of the web applications?
2. Even if tomcat uses log4j extensively should'nt these jars be present in the lib folders?
The solution as well as the problem does'nt seem convincing , Need some more investigation into this


Wednesday, July 25, 2007

Of Chinups and swollen biceps

Another crazy idea. decided to match my fitness with another dude today . We started with the chinup bar . The other guy did 3 X 10 chinups with a reverse grip . It seemed pretty easy to look at , and against my initial judgement went ahead with the exercise and ended up with 3 X 6 chin ups. It seemed fine initially with a little niggle . The trouble started in the evening when I was reaching for the bike handle , only then did I notice the swelling and now I am walking like a la Salman Khan - (minus the muscles )

Friday, July 20, 2007

Random Notes

I have had the privilege of watching few peers making the journey from a decent programmers
to good programmer(if not great).
I observed the following patterns similar to these successful people
1. Passion : The passion and exuberance is amazing at whatever work they do.
and this passion for work is very infective.Most often the teams who work with such individuals show the same passion .One can verify this from the quality of the work done.


2.Life outside work : If work gives them their daily bread , the extra cheese and other toppings come from
programming outside of office . Generally this activity involves either contributing to the open source
or in pursuit of their passion . This is what keeps their technical skills sharpened and the motto here
is never to lose sight of the goal .

3.Time management : This is probably one of their greatest assets. Apart from being efficient at work,
what I have observed is these guys have time for almost everything they want to do . Partly the time management
skills are a side-effect of their discipline .

4. Clarity and the depth of understanding : In times when every resume boasts of the latest and greatest technology
and most of them cannot answer fundamental concepts, these select few , I have observed have indepth knowledge on whatever
they say they know .

Saturday, June 16, 2007

Interviewing horrors

Of late I am learning to be immune to some insane answers to basic Java Question

Sample this conversation

VC(me): Hmm .. you have rated yourself as 9/10 in Java


candidate(Interviewee) : You know with 7 plus exp in Java J2EE I believe that I am good for 9


me : Fair Enough .. lets get on some tech questions starting with Java


candidate: OK


me : Can you explain to me what does System , out, println stand for in System.out.println()


candidate : ponders for a while and then says System is package , out is class and println is the method


me : (Oh ! this is going to be a long day ... )


Here's another from a different candidate when asked the same question
I have been working only with enterprise Java , I feel these concepts are not required


I am kind of learning to deal with such shocks with little or no expression on my face ..
My friends say that I am trying to be too polite but then
unlike them I believe in non-violence and these are not one -off cases, people are struggling to explain concepts like serialization, collection api...

My advise for people trying to get out of the rut .. or getting started ..

1. Decide if you want to pursue a developer's path or move to managerial. One way or the other .. don't ever ever get stuck in the middle


2. Code , code code and get the basics right .. Oh yeah think before you say 9/10






Thursday, August 31, 2006

Honesty Pays !
Maybe , but this time I paid :(
It was just like any other morning . On the way to the office stopped by to fill in petrol at a gas station . I asked the guy to fill in for 300 bucks and gave him a 500 Rs note. After filling for 300 the guy gave me another 300 bucks as change . I pocketed the change and left the station . I realized I got the extra 100 while driving ,turned back and gave him the change . As I took a left turn from the gas station at the signal, a traffic cop got down from his bike and stopped me and said there was no free left (there was no signal and no board indicating this) . After arguing for 10-15 minutes with a fool on the road, paid 100 as fine the cop insists that the signal stopped working just before I came ... What a coincidence !!
Lateral thinking says if I did not return to the gas station , I would"ve not got caught by the cop for the invisible sign board and a non working traffic signal.
So much for honesty .. :) though I would still prefer to pay the guy at the station rather than for defunct signals and signboards

Tuesday, July 18, 2006

BLOG DOWN

It appears that the entire blogspot.com is not available due to restrictions by almost all the ISP's . The intention was to primarily block certain blogs which were inflammatory in nature . I guess the guys took an extra step and blocked the entire site.Reminds me of a saying It does'nt matter how strong the lock on a door is , the door by itself should be strong
So while the guys fight it out , we wait twiddling our thumbs ....