A Classical design-flaw

Image Courtesy: businessdirect
I hear people talk about design and architecture and when we look at the code some of them write, find that they end up implementing all the possible anti-patterns. Recently, we found an issue with one of our single page, large-javascript-webapp. This app works just fine in all browsers. However, when it comes to IE 9, it does not load the page. Developer thought something was quirky with the javascript and opened the IE Developer Tools. Alas! the app loaded just fine. 

How does simply opening the Developer Tools make the web app load? As it turned out, the javascript had one console.log statements added by the developer for debugging. Apparently in IE 9, the app containing any console.log statements in javascript does not load unless you open the Developer Tools.

Here's where you find a classical design or architectural flaw. Why would anyone with the right frame of mind couple a web page loading with its presence of developer tool loaded? It appears that whenever IE's Javascript engine loads the page and encounters a console.* statement, it looks for a place to find the console object. In IE, this console object is part of the Developer Tools and hence, it waits until the Developer Tools is loaded to process the console.* statements. 

What should have been the ideal behavior? You may have guesses it right by now. IE should have continued to load the page irrespective of whether console object is available or not. I particularly liked the fact that our web page looked a lot nicer on IE 9, but then these silly niggles are really a dampener. Mr. Nadella, ping, ping...! 




Is Java Server Faces dying?

Image Credit: Wiki
In 2005, I blogged about world wide web moving to Client UI Architecture. It was those initial days when as a developer I was beginning to like JSF. Over the last 9 years, I've spent majority of my engineering days working on JSF and the various metaphors of it (you name it). Today, I'm seeing a steep decline in the JSF adoption. Why, do you ask?


For one, Web Client Architecture itself is nearing its half-life. Mobile-first strategy is ruling the next-gen and the majority of CXOs surveyed sees it as the next big wave. Within the Web Client Applications itself, HTML 5 / CSS 3 and JS based apps have long-started to dominate the proceedings. And then, there are emerging technologies like node.js which changes the whole development paradigm. Then, who do you expect to learn and use JSF?

To see the transition in action, look at the home page of Exadel for example. You won't find the reference to our once favorite Richfaces anywhere. Check out ICESoft homepage; ICEmobile is up there although they still have some decent references to ICEfaces. Or check out this comparison of the available web frameworks; JSF 2 fares lowest among the frameworks evaluated.

I would sincerely wish to be proved wrong on this one. Anyone?

Gephi for JVM Runtime Dynamics


2010 Duke's choice awards were announced today. It is really amazing to see how well some people and organizations puts the technologies to the best effect, much beyond what the creators of Java could have originally imagined. One aspect of the enterprise system that always remained intriguing to me has been the Technical Data Visualization. Therefore, naturally I was inclined to check out the Duke award winner on this category. There it was, Gephi, a fantabulous framework for Data Visualization.

The feature of Gephi that impressed me the most was the Dynamic Analysis. I thought this can be an ideal platform to address a long term secret dream of mine; to create a performance monitoring tool that displays live the way in which new Objects are getting created in a JVM and how the garbage collector cleans up the orphaned ones, showing the live objects with relations intact. Any takers for this project? Ping me for the concept.

On Cloud Zero

It was when I was surfing around the Apache Myfaces website to download their new JSF 2.0 implementation that I noticed this little sentence; that I needed to make little changes to my web.xml so that Myfaces 2.0 application runs on Google App Engine. That’s when I realized that there is this little thing called Google App Engine who can run my little JSF application. I was always looking forward to playing around with JSF 2.0 with JBoss seam and EJB 3.0 with host of other add-ons that I wanted to try my hands on like ExtVal and PrimeFaces. Good and exciting stuff! I rush home and download Google App Engine, Jobss Seam and all those software that I wanted to lay my hands on. And by the way, there is also an Eclipse plug-in for Google App Engine.

I realized that gone are the days when I could only host my static web pages or blogs on the internet. As a programmer, I now have the power of using the powerful frameworks that I can now use to create a dynamic application and host it for free on web. Hey, and I get a Database as well to store my Application Data.

And finally, here I’m, sitting in the Nimhans Convention Centre for WebApps 2010 organized by SiliconIndia. All I hear throughout the day is “Cloud”; Yahoo says “Cloud” and Hadoop. Rediff says, Social Networking and cloud. eBay says, cloud. Microsoft says Azure and cloud. Amazon says AWS, EC2 and cloud. IBM says SmartCloud and Websphere platform. And finally the big guy Google talks bigtable and App Engine. I realize that they are all already on Cloud 9. And here I’m inching on to Cloud Zero.

JAXB, Annotated beans and Unmarshallar Listener

http://smtechbytes.blogspot.com/2009/04/jaxb-annotated-beans-and-unmarshallar.html

JSF 1.2 Components

Last week, I got a chance to review a new book going to hit the stands; JSF 1.2 components. It may be a little too late for this book to reach the user community when JSF 2.0 is already at the doorsteps, but the JSF 1.2 scene has been evolving quite vigorously that made the catch up game tricky. There has been an overwhelming response to JSF from a specification implementation standpoint. The numerous sightings in jsfmatrix.com is a perfect illustration of this crowded space. The fact that there exists so many good alternatives is an appealing factor for the acceptance of this framework, but at the same time, gives a head-ache for an architect / development head advised to make a choice.

For those anxious readers, here's a link to the chapter Facelets Components

Building Richfaces Source Library (Jars)

Congratulations for having decided to switch to Richfaces! Once you start using the library within your development environment, as a programmer, you might want to explore the source of this open-source library. Richfaces source code is available for download at http://www.jboss.org/jbossrichfaces/downloads/

Richfaces library is built using CDK (Component Development Kit). Hence, when you download the source, what you essentially get is the whole of CDK project. Now, what you might require is to link your development environment library. Unfortunately, there is no such ready-made source jar available as part of the download. Don't be disappointed; Richfaces CDK project that you just downloaded has everything you need to build the source jars.

You have three Richfaces binary jars in your project:

- richfaces-api-xxx.jar

- richfaces-impl-xxx.jar

- richfaces-ui-xxx.jar
No marks for guessing; "xxx" stands for the Richfaces version.

Let us look at how you build the source jars:

- Extract the source library you just downloaded

- navigate to richfaces-ui-xxx-src\richfaces-ui-xxx\framework

Here is the directory structure you see:

+ api

+ impl

+ test

- pom.xml

- pom.xml.releaseBackup
- open your command window and run the following command:

mvn install
Oh, you need maven installed on your machine before you try this.

Check out http://maven.apache.org/ for instructions

- Wait few minutes for the run to complete. After it is done, navigate to richfaces-ui-xxx-src\richfaces-ui-xxx\framework\api\target. Alas! The source jar you are looking for the binary "richfaces-api-xxx.jar" is ready.

You will find the source jar for "richfaces-impl-xxx.jar" at richfaces-ui-xxx-src\richfaces-ui-xxx\framework\impl\target

- Now, switch to richfaces-ui-xxx-src\richfaces-ui-xxx\ui and run the same command again

mvn install

Source jars will be created under the respective component folder.

To quickly find the jars that just got created; perform a file search.

Copy all the jars to a single folder.

All that is left is to deflate the jars and compile them into a single jar

You can automate this task using an "Ant" build file.

- Done. You now have the source code for "richfaces-ui-xxx.jar" too.

- If you are using Eclipse, you can link the source code using the Eclipse ".classpath" file.

<classpathentry
kind="lib"
path="WEB-INF/lib/richfaces-api-xxx.jar"
sourcepath="jars/richfaces-api-xxx-sources.jar"/>

<classpathentry
kind="lib"
path="WEB-INF/lib/richfaces-impl-xxx.jar"
sourcepath="jars/richfaces-impl-xxx-sources.jar"/>

<classpathentry
kind="lib"
path="WEB-INF/lib/richfaces-ui-xxx.GA.jar"
sourcepath="jars/richfaces-ui-xxx-sources.jar"/>

Enjoy browsing Richfaces Source code!

restoreAttachedState and saveAttachedState

If you had come across a situation where you wanted to restore state of a non-primitive member variable, and found that it was not working, here is the solution:
public void restoreState(FacesContext context, Object state) {
Object[] values = (Object[]) state;
super.restoreState(context, values[0]);

//Don' do this; it will fail on you!!!
//listenerPointers = (Map<String, ArrayList<Class<? extends ActionListener>>>) values[1];

//This will work!!!
listenerPointers = (Map<String, ArrayList<Class<? extends ActionListener>>>) restoreAttachedState(context,values[1]);
}
Notice the call to restoreAttachedState(facesContext, value).

"saveAttachedState(facesContext, value) is the saveState() counter-part.

Both are static methods in UIComponentBase class.

RichFaces - selfRendered a4j:Region

For the selfRendered <a4j:region> to work properly, all the components embedded inside it should be UIComponents. In other words, if any html elements are part of the a4j:region, these elements are considered "transient" by the Richfaces framework and hence are lost-in-transit on post-back. If you have "div" tags, change them to t:divs (from Apache Tomahawk Library) or "span" to "h:outptText".

MSC. Software India User Conference 2008

Bangalore Sept 08, 2008: MSC. Software India User conference started this morning. The event is attended by engineers, analysts and executives from various engineering simulation affiliated companies. Amir A. Mobayen, Executive Vice President, Worldwide Sales and Services briefed about MSC. Software's footprints and value-proposition in the Engineering Simulation Discipline. Highlight of the inagural day session was the customer keynote by Dr. Sathya Prasad Mangalaramanan, Section Head, Advanced Engineering, Ashok Leyland.




David Yuen, Vice President, MSC.Software Asia Pacific explained how Enterprise Simulation can help companies simulate more, using MSC SimEnterprise. Dr. TSK Murthy, Global Head of Integrated Engineering Services, Sathyam Computer Services on his keynote touched upon Sathyam's strategic plans to work together with MSC. Software on customizing SimEnterprise product offerings. Doug Niel, Senior Director, Development for MD Nastran gave an overview of multi-disciplinary optimization using MD Nastran.




On his Gold Sponsor keynote, Dr. Swami Narayanaswami explained how MSC partnership helps CSM software to deliver customer value.

Second part of the day included technical paper presentations by MSC Software cusomers.




Please don't forget to check back this space for more exciting updates from day 2 of the user conference.

MSC.Software India User Conference 2008

If you are working in the CAE and Engineering Simulation industry, dont miss out on this exciting opportunity to hear about the latest trends, tools and technologies from the industry leader, MSC Software, our partners and customers.



Visit http://www.mscindiauserconference.com/index.html

Early bird registration has closed. If you still have not registered, hurry up!!!

RichFaces Dynamic Menu, Finding Ajax Form, Custom Method Expression and Parameterized Action

Here is a common scenario you will come across while using JSF with RichFaces

Creating Dynamic RichMenu
Register the menu component in your view (Facelets or JSP)

<rich:dropdownmenu binding="#{bean.menuComponent}" value="File">

In the backing bean, use the component binding to create Menu Items programmatically
private HtmlDropDownMenu menuComponent;

public HtmlDropDownMenu getMenuComponent() {
FacesContext ctx = FacesContext.getCurrentInstance();
Application app = ctx.getApplication();
if(null == menuComponent)
menuComponent = (HtmlDropDownMenu)app.createComponent(HtmlDropDownMenu.COMPONENT_TYPE);
for(String key: map.keySet()) {
HtmlMenuItem item = (HtmlMenuItem)app.createComponent(HtmlMenuItem.COMPONENT_TYPE);
item.setValue(key);
item.setId(key);
Class[] params = {};
MethodExpression actionExpression = app.getExpressionFactory()
.createMethodExpression(ctx.getELContext(),
"#{bean.menuAction}",
String.class, params);
item.setActionExpression(actionExpression);
String onSelect = "open(this,'"+map.get(key).toString()+"')";
item.setOnselect(onSelect);
menuComponent.getChildren().add(item);
}
return menuComponent;
}

Notice how you can programmatically create a Mexpression in JSF 1.2 via UEL
Also, see how JavaScript event is wired to the dynamically created RichMenuItem

Finding the Form
RichFaces has a convenient JavaScript function A4J.findForm which you can use to locate the form corresponding to the Menu Item

function open(el, paramValue) {
var frm = A4J.findForm(el);
if(frm == null) {
alert("open: no form found.");
return;
}
//add hidden parameter
var hidden = document.createElement('input');
hidden.setAttribute('name', 'PARAM_NAME');
hidden.setAttribute('type', 'hidden');
hidden.setAttribute('value', paramValue);
frm.appendChild(hidden);

frm.submit();
}

Managed Bean Action method
From the action method, find the value of interest and take appropriate action

public void menuAction (){
FacesContext facesContext = FacesContext.getCurrentInstance();
Application app = facesContext.getApplication();
Map reqMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String param = reqMap.get(name).toString();
}




Feel free to use this code in your applications.
If you found this useful, please leave your comments / feedbacks that would prove helpful for the developer community.

Migrating to Myfaces 1.2

Decorating FacesServlet: More often than not, an enterprise application would require having its business core initialized on Web Server startup and before it can service the first request. The Servlet *init* method is mostly the placeholder to trigger the business core initialization. For that matter, it is quite a frequent practice to decorate the Startup Servlet and call the initializer block from the Servlets init(ServletConfig config) method. In a JavaServer Faces application, the startup Servlet is the javax.webapp.FacesServlet. Decorating a FacesServlet would have worked just fine for you in the earlier versions of JSF (till 1.1). In JSF 1.2, this is no longer the case. If your web.xml do not have the javax.webapp.FacesServlet Servlet mapping entry, your web application will fail to start. How do you go about it?

Well, there is an option. If you are using MyFaces implementation of JSF 1.2 (I use MyFaces1.2.3), your previous decorator Servlet should extend from org.apache.myfaces.webapp.MyFacesServlet. Well, I admit that inheritance is evil. If I find a better way to still work with decorator pattern, I will certainly post the updates here.



Client-side State Saving:

If your JSF web application employs Client-side state saving, you are more than likely to get a "javax.crypto.BadPaddingException: Given final block not properly padded"

Encryption of client-side state saving is supposed to be OFF unless you explicitly enable it, but is in fact ON unless you DISABLE it!

The problem is that if you don't specify a secret (because you think you're not using encryption), MyFaces will generate one and place it in application context; but this will change when you redeploy, and the secret used in pages in users' browsers from before the redeploy will then fail.

To get rid of the error, add the following <context-param> to your web.xml file:

<context-param>

<param-name>org.apache.myfaces.USE_ENCRYPTION</param-name>

<param-value>false</param-value>

</context-param>

See http://www.mail-archive.com/users@myfaces.apache.org/msg45187.html for further details

Of course, don't forget to modify your web.xml to web-app_2_5.xsd





Back in Orange County...


This year’s MSC SimManager Developer Conference was scheduled at MSC head-quarters in Santa Ana from May 12th to May 16th immediately after the JavaOne week. I did not want to fly alone; which meant, I had to fly to Mumbai from Bangalore so that I can join Aba for the rest of the journey. MSC arranged for airport drop.

Jet Airways flight from Bangalore to Mumbai was quite a pleasurable experience although it had a delayed start of 30 mins. The in-flight entertainment was world-class. Watched two documentaries; “Forbes under 25 great achievers” that featured the likes of Maria Sharapova to Daniel Radcliffe. All the 20 who topped the chart were from Sports, Hollywood and Music industry. Interestingly enough, none of the top 20 were from the technical or business community; no more Sergey Brins or Larry Page or Bill Gates or Michael Dells or Steve Jobs in the making? Or, did I make a wrong career choice as a technocrat? The second documentary was a nice illustration of Barcelona Soccer Club and its evolution. I replayed the video several times to watch one of those Maradona’s stunner; GOAAAAALLLLLL!!!

Mumbai Domestic Terminal was undergoing a major re-vamping exercise; the arrival lobby looked quite spacious that meets international standards; a reminder to outside world of the tremendous growth this country is heading towards in the next decade. The inter-terminal transfer facility was good; thanks to GVK, it was a hassle-free experience to get to the Continental check-in counter to catch my onward flight to Newark. International terminal entrance for Air India, Continental and Thai airways (Terminal 2?) looked a big mess; construction was going on in full swing; dust and pollution all over the space. Worst, they did not leave enough seating for the international passengers. I started walking back and forth in search of a seat and finally spotted one. When I was about to occupy it, the Israeli who was seated next interfered;” sorry, this seat is taken”. Moments later, his Chinese co-traveler returned with coffee-cups for both.

An hour later, Aba reached. He looked very relaxed even after several hours of travel from Pune. Together, we finished filling up the forms. It is always a pleasure to have a co-traveler during international travel. Continental flight C0 49 to Newark was delayed by 45 minutes. We completed the check-in formalities and proceeded towards the gate. The security check has become much more trouble-some over the years. Right from the Continental Security folks asking several questions to the extend of having to remove footwear and belts; makes air travel as less pleasing as possible.

CO 49 from Mumbai to Newark is a Boeing 777 long-haul flight for a non-stop 16 hours. The in-flight entertainment system was pathetic. For alcoholic beverages, you end up paying USD 5 per can. The crew is not as nice as you would expect them to be. Continental considers passenger safety as their prime concern. 16 hours were fair enough for me to carefully skim through Freakonomics, watch 27 dresses, Dhan Dhana Dhan Goal and an episode of Friends. The gentleman on my left was a veteran Tata Engineering Services manager with over 25 years experience in the industry. While the aircraft was heading through a moderate turbulence, his explanation of CFD Simulation of Turbulence helped me stay at peace. May be the industry I work has matured enough that most of these scenarios are well simulated and tested.

CO 49 landing at Newark was simply spectacular; like a feather-touchdown; thanks to experienced Continental Captain. Trust me; you may fly with no fear!!

Newark international Airport is big and spacious. The emigration process was very smooth. We collected the bags and checked them back again to the connecting flight to LAX. Continental domestic flight from Newark to LAX has a total flying time of 5.30 hours. On my third connecting flight and after loosing a night’s sleep, I was counting seconds to get out of the aircraft. There was not enough space on the overhead compartment that left us to leave the heavy and bulky Dell Precision M90 under the seat in front of us. That leaves no leg room any more. I couldn’t sleep nor could I stay awake. As I was assigned a window seat, I could not even walk up to the aisle. The old lady who occupied the aisle seat was already furious that the passenger sitting behind her, accidentally spilled coffee over her dress. So, there was no courage left in me to ask for room to get out of the seat to stretch my legs. Most of the body was aching and tired and I felt extremely uneasy. Can they not accelerate this aircraft any further? Oh, these days, in order to save aviation fuel, most of the jets have started flying slower. That just adds on to my already handful woes.

LAX looks just the same as it did two ears ago when I left US. The whether however was unusually cold for this time of the year. We hired a Supershuttle to reach DoubleTree hotel in Santa Ana. Orange County is one of the costliest counties in the whole planet. The place looked just as elegant as it claims to be. DoubleTree - the Hilton Hotel seemed to have more than 90% of the occupancy for most part of the year with Executives meets, wedding and other functions. I checked into their cozy apartment, quickly got refreshed to get out to find our lunch. We tried the Quiznos FireEater chicken. I guess we ignored “the warning” and had to pay the price. It was as hot as it can get. I never expected such a hot dish in a US restaurant.

Evening, we spent lot of time at South Coast Plaza. I was very particular to locate the Apple store so that I can touch and feel a real iPhone. iPhone qualifies for all the praise it got as the cool gadget of the year. It was very tempting to buy one, but I realized that if I do so, I will have no money left for food to survive the rest of the week.

We then set off to a hunt to find a travel adapter so that we could plug-in our laptops during the conference. After failed attempts at Sears and Office Depot, we landed at RadioShack. Just when we were picking it up, I saw another person asking the salesman questions about the same adapter. It was Georg! And there was Horst walking in zipping a large-size soda. It was quite a pleasant surprise. Horst looked trimmed down a bit. As usual, they were successful in hiring a German car; a Volkswagen. We went to Vons to pick up some essentials for the rest of the week. Back at hotel, I slept like hell till Aba woke me up at 6:00AM for breakfast.

..get away..relax...you need a break!

...and yet again...
...bloomed the dawn of today...
...mingling yesterdays...
...in to the mist of memory..!



Posted by Picasa

Smart...Techy...Innovative...and bored?

We need you if you are:
  • B.E/B.Tech/M.Tech or equivalent between 3 - 5 years of hard core Java, J2EE experience.
  • Comprehensive knowledge in core and advanced Java programming (J2EE).
  • Advanced knowledge of Web programming (XML, XSD, XSLT, Web Services), Web application UI development (JSP, Servelet, JSF, AJAX, javascripts, etc), current Web standards and technologies.
  • Advanced knowledge of multi-platform development (Tomcat, WebSpher, Weblogic) and related issues while developing on these platforms.
  • Advanced Knowledge of different database (Oracle, DB2, MS SQL Server)
  • Advanced structured or object-oriented system design methodologies; ability to produce commercial grade software.
  • Advanced interpersonal, oral, and written communications skills.
  • Develop, Test and maintain components of the SimManager product suite.

More details at http://www.mscsoftware.com/products/simmanager.cfm?Q=131&Z=288

Send your resume to rad.msc@gmail.com with subject line "Developers and Senior Developers for SimManager"

ChakDe Miracle

Picture courtsey: http://i.indiafm.com/

Enough is already blogged about “ChakDe India” and how it is a copycat of one of the classical movies by Disney ("Miracle") and Miracle_(film)

This post therefore, certainly won’t be another one of the kind to crib about how Bollywood is incompetent to produce on its own such a magical movie. Every time I watched the Disney Movie “Miracle”, I always thought such a movie, if portrayed for the audience in India, could make a lasting impact. The outstanding factor about “Miracle” movie theme is the perfect blend of “patriotism”, “spirit of the game” and “team work”. Of course, most of the movies made out of even one of these themes enjoyed huge success in the movie industry. To “ChakDe” hence, “failure was not an option”.

The core theme that the movie attempts to showcase is the art of “Team building”. Being part of a team and at several instances, being responsible for building the team, might have given you insights to closely watch how a team that can perform at its optimum is formed or on the contrary, one that is destined for obvious failure is built. There are contrasting differences across both the scenarios.

A team is formed to achieve a task that cannot be achieved by an individual alone. Therefore, the first and the obvious objective why a team is formed for is to achieve a goal that is clearly defined. Team starts to exist when the goal is established and cease to exist when the goal is achieved (unless of course, team takes up a new goal and continue but the context becomes different).

In Miracle, Kurt Russel (actor and coach) has got his cards right in setting the objectives at the inception of the team itself. His one and only objective is to have the US team beat the Soviets to win the championship. Soviets were the reigning champions and therefore, setting the objective to beat the best of the lot makes the job fairly easy. At every instance of team sessions, coach shares this clear objective with the team.

“ChakDe” has failed in this context miserably. Coach has the deepest desire to convert his “Silver” medal to a “Gold” but this is a very personal ambition. It would have been fair enough, if this personal ambition (nothing wrong with the ambition though) was translated to the team objective of winning the world-cup. In the movie, this objective never reached the ears of the Indian team; but the script writer was kind enough to take the team through the victory lane in each of the team’s encounters.

The amazing “Forming-Storming-Norming-Performing” theory of team building process is sketched to a good effect in both the movies. Of course the reality is not always closer to the theory, so Bruce Tuckman’s storming is continued until the climax of the movie in “ChakDe”. Only at the last minutes of their final encounter with Australia, the “forwards” of Indian team comes to realize the importance of team over the individual accolades waiting for them. “Miracle”, however, is following the theory to the closest though. The stages of team formation are pictured closer to perfection as suggested by the theory.

Fortunately, “ChakDe’ is a movie, and hence had the option to bring in a bunch of eve-teasers at the right place and at the right time for the individuals in the team to come together and defeat the opponents. In real life, many coaches are not lucky enough to survive that moment of truth when he / she decide to resign and at that right moment, the team realizes the mistakes and welcomes their coach back.

Many times, 80% of the credit for an optimally performing team should go to the person responsible for the team. The alias for this responsible person could range from a coach or a mentor to a boss, manager or a CXO (let us use the term coach here since the term fits the context of the movie). Both these movies have got it right. But how far?

In real practice, a successful coach is one who finds and eliminates factors or constraints that restrain the team from performing at the optimum level. The constraints could be at the individual level or the way individuals interact with each other when the herd commences to be termed as a “team”. The burning question is “Should Coach help to see through the problems in the personal lives of team members”.

Kurt Russel, in many occasions seems to embrace the fact of going that extra mile to understand in detail the personal life of some of the team members. “ChakDe” director has evaded Shah Rukh Khan from most of these troubles and leaves it to the individual team players to sort out problems in their personal lives. I am not sure how to judge these coaches in this regard; but honestly, I tend to back “Miracle” coach in offering a pat on the back for his team at crucial junctures.

As a movie, “ChakDe India” fares well. It is up to the script writer and director to make the movies to what they feel is right for the audience. However, there is a section of the society that has failed to perceive the movie in the right manner. It is none other than some of the Management Schools that has decided to adopt “ChakDe” to their syllabus. As a classical case for Team Building, I would certainly suggest these esteemed institutes to look at “Miracle” as the alternative. To me “ChakDe India” is a movie and “Miracle” fits the best for a management study curriculum.

Posted by Picasa

More on Bavaria...


With the morning sun, I set off to explore Munich downtown. By this time, I had a fair idea of the S-bahn and Subway train services. The day pass took me to “Sendlinger Tor” on the train going to Feld-moching from Messestadt-Ost. “Sendlinger Tor” is an important station that takes you to the heart of the downtown while coming from “Am Moosfeld”. All the shops on either side of the road were closed on Sunday. These are certain areas where I thought Germany is probably closer to India than US. Especially like Keralalites, Germans preferred to stay at home even if that means loss of decent number of customers. Something else that might irritate you would be the people who keeps staring at you for no real reason. This was never the case in US but much like that in India. I could immediately place German culture somewhere in middle between that of US and India.

Munich city was beautiful. Especially the way buildings were painted. They retained the elegance of the past still with a modern outlook. Mostly, the buildings were painted in mild colors like ivory or bright white with ebony black linings. These monuments showcase the architectural skills and craftsmanship of Germans.

Unlike Americans, Germans do not use powerful air-conditioning, thanks to the decent year-round weather. To survive the winter snow, the buildings had protective double-walls with vacuum in between. Also, most of the rooms had heating systems. There were no sky-scrappers in the city; to uphold the dignity of the Central Church, The building rules of the city banned by law of construction that exceeds the height of the church.

The roads in the city and suburbs seemed to be quite narrow. With the excellent public transportation system, number of private vehicles remained substantially low. Of the available private vehicles, BMW, and Audi seemed to have the major share with Volkswagon, Renault and Mercedes brands not way behind. Many of the cars had manual gear system like in India (unlike in US, where more than 95% have automatic transmission). Contrary to the domination of Honda or Toyota across the world, Japanese cars had a very low profile in the region. Whereas I could hardly see any of the City, Civic or Corolla or even Accord or Lexus for that matter, I noticed a better presence of Suzuki with the Swift, Baleno and even WagonR parked on the streets. The traffic flowed very smoothly. Parking was mostly tricky; at certain places, vehicles were parked with front wheels well over the curb. The lanes and even whole of the road width in California would roughly be more than double of what you could find in Germany.

The city seemed to embrace art and music with a lot of passion. There were at least Twenty-Four different museums in the city with most of them showcasing the paintings or sculptures by various artists. Theatrical performance like Opera and live music bands were integral part of the city life. The Bavarian food is something that you will pay special attention to. The servings had a lot of quantity that would easily overwhelm any one from the sub-continent. Much of the main course would be dominated by red meat with most of the restaurants serving at least one variety of chicken, Turkey or Fish.

Fashion was another thing that Bavarians followed quite close to the heart, probably with the influence from their historically-hostile neighbor, the French. Across the city, number of designer wear outlets clearly dominated the show. At the same time, the degree of greenery in Munich could easily compete with any other city in the world. Bavaria would remain in my memory for a lot more years to come!
Posted by Picasa

Extermination Through Work!


Second weekend of my stay in Germany came with a pleasant surprise. It was a long weekend on account of Pentecost (believed to be the 50th day after Easter). Bobby called me up inviting me to Frankfurt. At the same time, I got a mail from Rick by surprise. Rick was coming driving down from Zurich to Dresden. Since Munich was on the way, he was quite happy to come down and meet me. He was driving on the Autobahn, the only free way probably in the world with no blanket speed limit. You could drive as fast as you can with certain exceptions of patches with Speed Limit.

Rick ringed the door bell exactly at 10:00PM on Friday night when I had almost slipped to slumber. He seemed to be a happy and excited and looked smart and lively. After his stint in India and after spending couple of months in Dresden, he was finally being employed at a decent company in Zurich. We went down to the Hotel Restaurant and talked a lot over dinner. At 11:45 PM, we were the only two in the restaurant and had to leave, since we already overstayed for 45 minutes beyond the closure hours.

We continued the talk about Bavarian food, Zurich’s cross-cultural society, Rick’s feelings about his stay in India, Austrian Tourism and Alps, SimManager and MSC, Rick’s new job, Turks in Frankfurt and many more things. It was about 2:30 AM and was time for Rick to start driving again back to Dresden. We said “Tchuz” and hoped to meet again sometime somewhere in this small planet. Rick restarted his rental car and GPS and set off to Dresden.

Got up quite late at around 9:30AM on Saturday and had to quickly sort out my plans for the day. Frankfurt did not seem to be an option any longer. By the time I reached the breakfast floor at the Hotel, it was closed. The lady at the reception said they close by 10. I took a day pass for the train and have her mark the Concentration Camp Memorial Site station. The station was outside the MVV inner ring and I had to take an extra ticket. At Hauptbahnolf (Central Station), while waiting for the second train, I called up Bobby and informed him of the change of plans.

At around 12:30, train reached Dachau station. I had a very bad feeling for the place I was about to go. This was not a place to just enjoy with fun and laughter. It is memorial that reminds humanity of the brutal cruelty by a section of the society on free and educated humankind. From Dachau, for the first time in Munich I got a chance to ride a public transport bus to reach the Memorial site.

Dachau memorial site gripped a sorrowful silence. People were just moving round without much chatter. Memorial site offer two types of tours to the visitors. One is a guided tour by a voluntary organization and the other an audio-guided tour. To learn about the history in a little detail, I opted for the guided tour. Three words welcome you at the entrance or the gate of the Dachau Concentration camp; it reads “ARBEIT MACHT FREI” which translates to “Freedom through Work”.

Dachau was the first concentration camp set up by SS army of Hitler and the only one that was left without any damage after the liberation day in 1945 when Hitler and SS Army was defeated by US and its allies. Other than concentration camps, SS Army formed “extermination camp” located mainly in Poland due to its geographical position at the middle of Europe. Extermination camps, as the name reveals massacred thousands or millions for various reasons known only to SS Army.

Concentraion camps were a result of the extreme patriotism promoted by a group of cruel individuals. They believed that the only way to salvage pride for Germany is by promoting a strong sense of national pride and brutally suppressing even the slightest of opposition. There was no longer freedom of the press; the fundamental human rights were denied for the common man; SS army was quite successful in its initial forming days to spread the terror across breadth and width of the country.

10 years before the SS army was formed, through his book “Mein Kamph”, Hitler openly declared his hostility towards Jews. To Hitler and SS army, anyone who can not work to build arms and ammunitions or who can not be part of the army and fight, were just burden to the nation. Through various “extermination camps” and concentration camps, SS army successfully carried out their mission of mass murder of women, children and weak or sicker population of the society.

Dachau is a reminder to humanity of the state of things that can happen to the world with even a minor section of the society adapting to an extreme and hostile attitude towards the rest of the world. In the modern days, SS army can manifest itself in the form of Al Queda or Bush Administration or Saddam’s regime or LTTE or Parvez Musharaf. It is the need of the hour to identify these uprisings and combat them in a timely fashion. (To be continued...)

Posted by Picasa

Munchen Adventure!


My travel to Munich was eventful. With a life-changing moment in week 1 and a life risking event in week 2, I woke up to the rays of this fresh and cool morning sun of Austrian capital city Vienna. The Austrian airliner from Vienna to Munich took less than an hour flying over the lush green European countryside. Munich airport sounded almost deserted on an early Saturday morning. I landed with lot of suspicion in mind; first of course was the immigration formalities. The lady at the information desk told me that it was already over at the Vienna International Airport (no wonder why that old lady at Vienna Airport stared at me for sometime before giving me the passport back..she should have told me it was the European immigration counter and I would have given her some more respect I guess)

The problems were not over yet; I was not quite sure about my hotel reservation at Munich. First thing; call up the destined hotel to find out if I have a reservation for me. Oh, but how do I make the call without any Euro coins. Yet another information desk came to the rescue. This gentleman was kind enough to give me the subway map of Munich. The lady at the Hotel, Verena talked good English and confirmed that I indeed have a confirmed reservation. Thanks to Horst and Munich MSC Reception.

She asked me to take a train from Munich Airport to Englschalking station and from there; someone will pick me up. Buying a ticket was easier. Only thing you need to do is to stamp the ticket at the subway entrance and the ticket becomes valid for whatever duration you have purchased it.

Station names first appeared to be confusing. To make things worse, there are two directions to which the trains were departing. Without thinking much, I got into the first train that came by. Once the train started moving, my mind started to work better. There was an announcement in German and I soon realized that they were announcing the name of the next stop (btw, “Halt” in German means “Stop”). Now I re-opened my Map and found that I was in trouble. In fact, I was traveling on a totally wrong direction. Not much time to rethink; immediately, got down at the next station.

This incident gave me much more insight about German Subway system. They have the destination station tag in front of each train. And, the map is color coded for easier understanding of each type of trains. Before long, the next train came in and I got in. This time, it took me safely to a country-side railway station. The trouble was not over yet.

I got down and started searching for a public telephone to call up the Hotel folks to come pick me up. And the fortune sometimes does not favor a traveler; a young guy told me there was a street where I might find one public phone. I dragged my 20Kg bag and yet another 10kg laptop (Gosh! they should rename Dell Precision series a Desktop rather. It really is heavy!). Finally, after 20 minutes of dragging the luggage on a German village, I found a T-mobile public Telephone booth. The lady at the Hotel said she will come by in 5 minutes and to watch for a white colored car that has Am Moosfeld written on it. I waited and waited, minutes changed to hours and still there was no sign of Mooseld!

I called up the Hotel again. The lady said, she sent someone who came by to the station, found nobody and returned back. I was stunned. “I asked you to come to the Post office and not at the station, right??”. Then she was like, “but there is no Post Office in Englschalking. For God sake lady, I was standing right in front of this post office. So, I started to spell the name of the street which of course was in German. I could hear the lady laugh at the other end hearing how I was struggling to spell out and pronounce the name of this stupid street. Okay, enough is enough, I asked the lady to sent someone again to the back to the station. I had yet another long walk left back to the station.

Here I was, walking back or rather dragging back the 30+Kg luggage to this little known Englschalking station. Adventure got over finally; as a messenger of God, appeared the white SUV with Hotel Am Moosfeld written all over it.

Verena apologized for all the fault; but, I knew it was not quite my day. She had arranged a nice little room for me with a kitchen and a mini-bar. There were so many varieties of alcohols n bottles of different sizes. I took a shower and decided to head for lunch. The incidents in the morning had made me physically tired. Also, I was very sleepy with the late night flight taking away much of my sleep.

The fun continued; the Hotel restaurant was closed by the time I reached there. Verena was no longer at work, the new fat lady told me to take a 15 minutes walk to the other direction so that I can find a Bavarian restaurant. Somehow, I managed to drag my tired legs to further four-five blocks more. I headed to the first restaurant which was a mom-and-pop shop. They were done with the day’s work and cleaning up when I rushed in. So, they told me something in German which I think meant there is no lunch for you today. I went over to the next nice looking pizza restaurant. I was in double mind to enter into yet another Pizza adventure with what happened a week back clearly in memory. The well dressed gentleman ended my confusion telling me that they were closed for the day already.

Those were the only other restaurants in the nearby area. I remembered my Navodaya days for a moment. The days when I had to skip my breakfast when they serve Kanzhi (which is made by adding water to last night’s leftover rice) and there was nothing else around to eat. The countries change, your profile changes but a human can be rendered helpless regardless.

Across the street, there was a chain food store called “Plus”. I desperately went inside and found they had at least some fruits that I can buy. I took some bananas, grapes, a big bottle of sprite, a can of milk, half-dozen eggs which looked brown in shell color (these were the only things I could figure out buy its appearance and what was written on the envelope; everything else was in German).

Back home, ate whatever I could and slept for a long time. Evening, got up little energized and went for a stroll again, this time around the MSC Office direction. Took some pictures of MSC office and got back to the Hotel Restaurant early not to miss the dinner timings.

Oh, I liked the vegetable soup they served. But the main course Turkey in some stupid sauce was disgusting. Anyway, I called it a day with the FA cup highlights of Chelsea winning over ManU, of course with German commentary!!!
Posted by Picasa