Boys in a hurry

I found this piece of writing in my inbox – something that I had done last year. It never made it to any publication because it was rejected for reasons best known to numerous editors. I honestly do not know what to make of it, so here it is.

***

Back in 1999, I spent about 3 years looking for the slightest excuse to travel from Indore to my home at Goa. I was doing my graduation, away from family.

When deciding on the best route home, my friend Deepak, who hailed for a small town in Bihar, told me that the nearest rail-head where we could catch trains (Bhagalpur express and Mangala express), to our respective homes in Purnia and Madgaon, was a place called Khandwa, a small town roughly 150 Kms south of Indore. The road to Khandwa lay in tatters but there was a meter gauge railway track that connected the two cities. During our first of those journeys, we realized that traveling in a meter gauge train was an experience we weren’t really prepared for. I was usually equipped with a John Grisham novel, a walkman, a few tapes and a set of batteries that barely lasted the journey.

At Mhow, an army cantonment town just out of Indore, we ate stale kachoris sold by a man outside the railway platform, while our train had a scheduled stop of 45 minutes. To us, fickle-minded and hurried boys, a 45 minute stop at a station that had virtually nothing to offer while the unrelenting sun baked the steel coach, made no sense. Then, a few hours later, a village unimaginatively named “Kalakund” where they sold only one thing – a sweet by the same name (“Kalakand”), cut into imperfect squares and served on thin newspaper sheets (now oily but a closer look revealed on them stories of places we had never heard of). The train then chugged to a station called “Omkareshwar Road”. Omkareshwar, we were told, was a place of legends, stories and of worship, alongside the Narmada river; The railway station itself almost appeared in trance – with sadhus and pilgrims scattered everywhere. A notice on the station asked us to “get down here for the Omkareshwar pilgrimage”. But what were we to make of it? We just wanted to go home and this thing stopped everywhere. An hour or so before Khandwa, it was usual for a group of villagers to stop the train (“a wave of the hand usually works“, someone once remarked), attach an array of milk cans and logs of wood by the hook, to the windows. I vividly remember, once our coach smelled of fresh coriander.

The first time we reached Khandwa, that place whose once famous resident was one Kishore Kumar, our train, despite all the time it had in the world, managed to delay itself by 45 minutes. Deepak was worried because his connecting train was to depart around that time. Later, we realized that his fears were unwarranted – his onward journey was further delayed because the connecting train coming from Bombay was running late. When inquired around, two men, idly playing cards on the platform with a steel trunk by their side, laughed at us. We were told that the Dadar-Bhagalpur express that was supposed to come the day before, had not yet reached Khandwa — what were we doing here looking around for the train that was merely a couple of hours late? My friend was stunned. To his relief, he boarded his Bhagalpur express eventually, 3 hours after we had reached Khandwa.

The year after that, on the same voyage, Deepak reached Khandwa, this time, 30 minutes late — quietly assured that his onward train to Bhagalpur must be, as always, running late. This time though, he changed the platform hurriedly (he was still in a hurry though it was the “unworried” kind of hurrying), crossing from the medium gauge platform to the broad gauge platforms. On the over-bridge between platforms, as he stepped on the stairs to come down, he saw what he believed was the back of the train that he intended to board, slowly slide by. Slowly — but fast enough for him to catch the red light, constantly blinking at the back of the tail coach as it rain into the distance. A woefully tired and breathless Deepak then asked, in sheer hopelessness, a fruit vendor on the platform – “Oh bhaiya, yeh Bhagalpur express kahan hai?” (“so, where is this Bhagalpur express”).

Meanwhile, keeping up with the overall set mood, my onward journeys to Madgaon were a mix of uncertainty and adventure. The train arrived usually at midnight. Hours were spent at Khandwa, learning patience on a railway platform. Strange city, this place, I used to think. What to make of a city whose most important landmark is its railway station itself? At least, that was what we knew of it then. As my patience grew thin and the journey took its toll in the form of tiredness, it was between 11:30 pm and 12:00 midnight that Mangala express arrived. In fact, sometimes not one, but two. Yes – going in opposite directions. One towards Ernakulam and the other towards New Delhi. You could pick which one to board and you did not want to be wrong then.

So the first time on the Mangala express, a railway snack vendor, Selva, became a friend. My cash starved wallet could always afford his banana bajjis – the Kerala snack. Then, another time, with an unconfirmed ticket, I stood at the door of the coach. As the train entered Maharashtra in the thick of the night, an elderly man offered me half of his seat. Tired as I was, I could not refuse the offer. Then God arrived — in the form of a ticket examiner who searched the manifest and allocated me a berth for the night. During the day, as we entered the Konkan route after Panvel, I was delighted to meet Selva again. Quite sure that he remembered me, this time I spent a few hours in the pantry car, wide-eyed and amused at the fluency of how Selva and his friends reduced a sack of onions to salad.

Those wanderings – where you thought you were alone. Maybe not.

With the sun setting along the Konkan, the train arrived at Ratnagiri – a stop I eagerly awaited. By then starved and exhausted, it almost became a custom to treat myself with vada-pavs and a bottle of coke. It occurred to me years later — I passed through Ratnagiri for those three years, an ignorant being oblivious to this town of great historical significance. Instead what did I associate it with? Nothing more than a stale bun and a potato patty. But little did I know then, that years down the line, inspired by Amitav Ghosh’s “The Glass Palace”, I would set forth on a trip to this town again, at the heart of Konkan, to visit a dead Burmese king’s palace. Maybe it came as a singular act of atonement, but I am glad it happened. This is what good books make you do – look back in wonder and try and make you travel.

Meanwhile, eating my vada-pavs, I used to think about Deepak and take a guess that by now, he would have reached Bhagalpur, waiting for the bus to his town – that last leg of his journey. He used to later tell me that his train ran late, inevitably. He reached the morning after.

Back then, we were boys in a hurry. But we learnt to wait.

Being Indian

The latest Prime Minister’s comments that evoked a strong reaction on the social media were said in not one, but two countries – China and South Korea.

This cannot be impromptu talk. These are well thought of comments and the politician that he is, our PM must have analyzed the impact these words would make before stepping on the podium. Anyway, that is beside the point.

Writer friend Dilip D tweeted my exact thoughts, which went like, Mr PM, please speak for yourself, not me. Then I tweeted about it – that I am supposed to be feeling ashamed of being born an Indian, as per our PM and now, for the last one year since he has assumed office, I am supposed to be proud of it. To which my friend M asked me my “final feeling” about it all (It was amusing, I admit, that phrase, “Final feeling”). A barrage of thoughts later I realized that I had no idea on what to answer her.

My first thought was, there’s no black and white here. There is vagueness, a bit of confusion. I thought I wasn’t ashamed of it – of being an Indian but was there pride? If yes, about what? History? Of what we have achieved in the past 20 odd years that I have witnessed and remember of? I did not know an answer to that. I asked her back the same thing and she told me a similar sentiment.

So I thought, lets think about pride and what it means to most of us.

Wanting to give this a fresh thought again, I realized eventually that to have an answer to this confusion, one needs to decide on what is actually meant when one says “Indian” (or “Being Indian”). My conclusion about it was that we confuse ethnicity Indian with citizen Indian (which eventually leads to our idea of nationalism that leads to patriotism and what not). Ethnicity adds a new dimension. With ethnicity, there is suddenly a few thousand years old history and culture. Are we all proud of that? Aren’t we all taught to be proud of that?

I spoke about this, the same evening with my friend A, who is a Malay (and a Malaysian). I asked her the same question but from her point of view. Her reaction was: why should one be proud of one’s history/culture? Who gives you that right? I am just born here, something I had no control on, in this ethnicity which has such and such culture so why should I take credit for it? Why should one be proud of what one’s ancestors did? One can be impressed by it, be in awe of it but we should not confuse that with pride.

Let me explain as my friend did: If a friend I know does something really cool, you say, “I’m proud of you”. It does not mean that hey, you did this, I wish I’d done the same and SO I’m proud of you. It probably has something to do with your decision of befriending this person, which is rather justified by something that s/he has done. You have to DO something (in this case, make a decision and befriend someone) to be able to take pride in something. With your ethnicity/culture, you haven’t done anything – unless you are someone who changed the course of your race. You were just born there, which as much as you’d hate to say it aloud, was a matter of chance and nothing more. You have no right to be proud of it.

That was the gist of our discussion. And to me, it completely made sense.

Later that evening (Long evening, I know) I spoke about this with another friend who I went to college with and his thoughts about pride and shame were exactly the same as the other friends I had spoken to. This is by no means a sample size enough for a survey but these people, what they think, it matters to me.

So, as far as being Indian as a race, ethnicity, culture and what-not is concerned, no, rationally, you can’t be proud of it. That leaves us with Indian – the citizen. You can take a call on that. But remember, the Government is not the country. Yes, it generally is a clear reflection of the people of the country and the people get the Government they deserve but overall, it is NOT the country. Then who is? People?

Last but not the least – one of the gems that came out of this discussion was an article written by the great Khushwant Singh that answers EXACTLY the question. In his usual candid way, our dear writer makes it look so easy. Here.

Unjustifiable Extreme

The kind of an evening when a car hits your car and runs away and you can’t do a thing.

So we were at HSR Layout. At Parangipalaya to be precise. There, the road goes thin. It is a single lane, if you can call it that, with lots of pedestrians and a hawker market on both sides. There are a couple of temples at one end of the road. Mostly, there is chaos there. OK, a different kind of chaos. Parangipalya is an area with mostly a high density of everything – people, traffic and everything else.

I don’t really know why I chose to take that road. I think it had something to do with where I was headed to. I was headed towards a neighbourhood which has an approach road similar to Parangipalya’s. I think that was what I thought – you avoid one, you hit another one of those anyway. And who’s to say that the main road had less traffic? All in all it did not demand that much thinking — to put things in perspective, this was merely 500 metre in length.

So anyway – as we were in the middle of this road, a black Ford Ikon came to my right, from behind. The man behind the wheel was fast, I barely saw him in the rear view mirror. He zipped by my A-Star (which was not more than 20-25 Kmph), and then as he overtook my car, from the wrong lane, he perhaps saw the traffic coming from the other side. In a hurry to come back to the right lane (in order to avoid a front-on collision) his car’s behind hit my car’s right edge of the front bumper and the body. Our car shook. The whole thing lasted less than 10 seconds.

The next moment I saw this car slowing down and moving towards the left side. My first thought was that he seemed to be slowing down. I then realized that it took a little time for him to register that he had hit a car (from the behind) and then I saw him speeding up. I went on a chase, trying to confront him. Meanwhile, my wife was pleading me to stop and trying to talk some sense. I sped up, drove rash and I could later hear my wife screaming and the baby panicky. I went on a chase, for the next 5 minutes or so, with this car in front of me all the while. I realized we were going around the same roads. Finally, sanity prevailed and I stopped my car on the side. I examined the damage done and eventually drove towards our planned destination.

In hindsight, it was a stupid thing to do from my part, I completely get that. I have never really been in a similar situation before and I did not know how to react. I snapped. But the fact that I drove rash, putting all our lives, those of my family and those outside, in danger (small or big risk – I do not know, it does not matter) was inexplicable.

I thought about it a lot and the thing that I am still wondering is this: What would I have done, had I finally nabbed this guy? I certainly did not want any money. I think what angered me more than the fact that he hit my car was that he ran away after hitting us. Maybe all I wanted was for him to accept that he was wrong and say sorry and move on.

But seeking that, I went to another extreme, which, without a doubt, was not justified at all.

ps: I am trying to come back to blogging so if you’re reading this, drop in a comment. I’d love to know if people still read blogs!

Preparing for Oracle Certified Master – Java EE Architect ( formerly SCEA) Part-2 and 3

My last blog post was about my experience with the OCMJEA Part-1 multiple choice exam. That was based on JEE5 though I don’t think there is much difference in the approach that one has to follow for the JEE6 version.

This post will talk about my experience and approach towards the Part2/Part3 of the OCMJEA certification. These two parts are common for the JEE5 and the JEE6 versions.

Part 2 is the assignment. You have to pay and you are given a link to download the assignment. Once you download it, the timer starts ticking. You need to remember that BOTH the assignment (Part-2) and the essay exam (Part-3) should be completed within six months time of you downloading the assignment. Another thing to remember is that you can’t register for the Part-3 essay exam unless you have uploaded the assignment solution (part-2) — so time your moves well.

OK. So, this is going to be a long read. If I may sound preachy, well, bear with me but do make it a point to email me your comments.

Part 2:

My first advice about Part 2 is also the most underrated one – Once you have downloaded the assignment, go through it. Oracle’s guidelines prohibit you to take a printout of the downloaded PDF (I know, yes, they have gone too far with that) but it can be a good thing. Write it down on paper – at least the most important aspects. Go through it again and again- trust me, it is not what it looks like. Once you start with the assignment you would read it multiple times and each time you may have a different interpretation of the assignment. Those are the “grey” areas that you have to deal with. Identify the non-functional requirements (NFRs) here. Some NFRs are written clearly (For example a sentence like “customer security should be in focus” obviously asks you to focus on Security NFR) but be on the lookout for NFRs that aren’t obvious.

My second advice about Part 2 is also as much underrated as the first one – don’t take breaks. I know that clearing part-1 feels like an accomplishment (and trust me, it is) and there is nothing wrong to have a breather between the two. But chances are that you are reading this AFTER you have downloaded the assignment and the clock is already ticking. The first few weeks you can still lay low and afford to stay away but don’t prolong it. You may have spent a month wandering around after you have downloaded the PDF and it is OK – but once you decide to work on the assignment, do not take any breaks more than 2 days at a stretch. I found it *really* hard to come back to my assignment after taking those mini-breaks. How do you deal with it? Well, the days when you can’t sit on your desk to work, keep thinking about some aspects of it. Think over the problem statement, the grey areas and in all directions. The idea is similar to what the great Rahul Dravid describes as being “in the zone” (remember the shadow batting?). You end up carrying that mental aspect with you everywhere – so even when you are having a quiet evening with your friends you are still “working” in the background. It is important that you come into this frame of mind as soon as you can.

The assignment does not ask you to code but if thinking on the lines of code helps you, don’t hesitate to write a few classes. One thing that helped me was that I created dummy classes to ease myself into the assignment. As new architects, we come from a coding background and many of us find solace in code. It is a comfort zone of sorts. But remember not to overdo this.

When you start working on your assignment by sitting on your desk with a pen and a paper – don’t be surprised if you spend hours on it without anything scribbled on your notepad. During my initial days on the assignment I used to sit for hours without anything written down while pondering over stuff. That is work. When you do this a few times you will realize that the thinking is the real work – creating a class diagram is just putting your finalized thoughts on the paper and that does not take much time. Thinking brings clarity and this sounds cliched but the more you spend your time thinking, the better your solution will turn out to be.

The first few days as you ease into the assignment – spend some time creating your work environment on your PC. If you have no prior experience on UML, you may need to spend some time working on that. I read a lot of IBM tutorials on UML and of course, Martin Fowler’s classic UML Distilled. The choice of UML tool matters as it will be something you will spend a lot of time on. I did not have much UML experience/knowledge. I used StarUML (not the new Beta!) for my assignment. If you have not used the chosen UML tool before, you will have a small learning curve before you get comfortable with that as well. You need to take all this into account.

I think that the order you go about for creating the diagrams is important. Start with the Class diagram. This is because identifying the Classes and the main methods should be the one of the first things you should do when you start with the assignment. This is also an area which requires constantly coming back to – you might think of X as a class and then one day you’d say, “wait why can’t that be an interface?”. So, this back and forth is a very common thing to happen even as you work on other diagrams towards the end of your assignment. That means your Class diagram is constantly changing and that is why this should be the first to be attempted.

One point here. Remember the “grey areas” that I talk about above? There will be points where you would be unable to move forward until you have a concrete answer. What do you do then?

Consider a real life scenario. The use case is where the grey area is. You have a project to deliver. Things are vague. You want exact specifications. What do you do? You talk to the customer. Except that in the assignment there is no real customer. So you have to assume and move on. Now remember – maintain all your assumptions and notes. Write everything that comes to your mind. Document every doubt and every thought. As you move ahead and achieve more clarity, some of your assumptions will cease to exist. Don’t forget to strike them out from your notes then.

As your class diagram nears maturity, a rough draft of your component diagram should be ready. Actually if you do things right, you should not be spending a lot of time on the first draft of the component diagram. The module and tier segregation should be fairly clear once your class diagram is in good shape. You can always revisit it to “beautify” the Component diagram but the basic structure should be ready and stable.

A word on design patterns – Do not use a design pattern because you think it is cool. Do not use a design pattern because you think you understand it better than the others and because you have used it in your job. On the other hand, some design patterns are no longer in use because of the advent of technology frameworks (Business Delegate, DAO, Service Locator). If you think you can justify their usage, and there is a case for them still, please do not hesitate to use them. Remember that there can be more than one solutions to a problem. Also remember that it is you, who will be required to defend the use of that design pattern so be ready with an explaination. Many people told me not to use Business Delegate but I did. On the other hand, I know people who have used a flow like “JSF->ManagedBean->EJB” and still passed with good marks.

Sequence Diagrams will be something that you have to handle with care. Now here’s the tricky part – Sequence diagrams take the longest time. They go on and on. They also have the least marks (with no minimum passing score – in theory you can get a Zero here and still get your certification!) Here’s another tricky one – There is a good chance that while doing Sequence diagrams you may encounter some things that you may not have thought of earlier and want to go back to the drawing board. Why? Because Sequence diagrams makes us think at the lowest level details, just one level above coding, and it is generally in the details wherein lies the devil.

It is inevitable that you will spend a lot of time in Sequence diagrams so prepare for it accordingly. Use the notations introduced in the UML2.0 to your advantage – for example, the “Ref” notation which allows one sequence diagram to “refer” to another. Identify a small series of sequence that you think is common to every use case – for example, a rendering of a “workqueue” page for a user. Or a service locator looking up a service. Or a series of “if-then-else” sequences that is common in more than one use cases. Create a Sequence diagram and refer it in your use cases with the “Ref” notation. This helps in many ways – (1) it saves your time, (2) it makes your sequence diagram more readable and (3) it tells the examiner that you have used the tools at your disposal in an optimum way.

Remember to document only the main aspects of your use cases in the Sequence Diagrams. Try not to get too detailed. And this is important — it is suicide if you refer to a Class in your Sequence diagram which is NOT in your Class diagram. Cross check that all your mentioned Classes are present in your Class diagram. Having said that, I had a couple of Classes that were there in the Sequence diagram but not present in the Class diagram – the EntityManager (JPA) and CacheManager (From EhCache framework which I had used in my solution). You don’t need to have System classes in your Class diagram but you can show them in the Sequence diagrams for the sake of continuity and clarity. This should be mentioned as a side note in the diagram and/or in the assignment notes section. Lastly – you should ideally have the same number of Sequence diagram sections as the number of use cases in your assignment. So, if you have four use cases, you should have at least four sections for Sequence diagrams (broken down further for clarity).

Deployment diagram takes less time. It took me 3 days to do my deployment diagram. Your deployment diagram should most clearly reflect the NFRs you are focusing on. For example, if you have to make your system on high-availability, your system should have some disaster recovery mechanism. Also, do not use an infrastructure only because you think it is the “in” thing (For example – cloud). Not every deployment has a case for Cloud infrastructure. As you near completion, you can also spend some time on researching on the servers available in the market for the kind of hardware you are going to suggest but from what I hear it is not a mandatory requirement. If you do it though, it shows up positively on your effort (I did it).

You might be wondering on how much “text” to include as notes/comments/side-notes on your diagrams. I do not think there is anything wrong in putting a side-note that helps the examiner understand your diagrams better. Having said that, I also think that it is your diagram that should do most of the talking. Try to strike a balance here – write a few notes that supplement the diagram but overdoing them could make your diagrams look cluttered (and may also signal a lack of confidence).

Now the final documentation part – remember the notes that I suggested you to document? They finally come in real use here. Writing everything down as notes DURING the assignment is very critical because it tells about your thoughts, as they were, at THAT time. When you go over them again and again, with your thoughts getting refined, you will see changes in them and you might strike out a few things as they will no longer be valid. What remains of them at the end of your work is what should now go in that zip file to Oracle as notes and assumptions.

Part 3:

Sorry to break this for you but the most important tip for part 3 isn’t exciting at all. In fact it sounds like an age old wisdom: Don’t take a long break between your assignment submission and your essay exam. If you follow this, you do NOT need any preparation for your part 3. You can have a good night’s rest after your assignment submission and simply go to the exam center and be done with it.

The second thing I would like to insist on for Part-3 is that be prepared to type. They ask you questions on the NFRs, design patterns and technology choices and you have to justify your decisions taken. What kind of design patterns did you use? Why did you use them? What have you done to make sure your system is secure? How have you ensured availability?

There could be somethings which you have thought of but could not be shown in the diagrams/assignment. For example, using javascript for any client side validation/security mechanism may not be a part of any of your diagrams. You can mention all this in your essay exam. Be prepared to write. I remember typing till the last minute of my essay exam.

Alright then – This has been such a long post. If you have read it till here, I guess you must be really serious about it. In which case, I should wish you Good luck! Please feel free to reach out on email in case you have any doubts.

Preparing for Oracle Certified Master – Java EE Architect ( formerly SCEA) Part-1

I haven’t blogged lately but there has been a lot that has been keeping me busy. For the most part of this year (and a few months during last year) I had been preparing for the Oracle Certified Master Java EE Architect certification. I gave the final part of it last month and Oracle informed me earlier this month that I have passed with a 90% score in the part2/3.

Thus, I thought, why not write about it and post it on my blog? I have generally been quiet about my credentials as a “techie” and focus on other things here but what-the-heck and then there’s no harm if my experience helps a few others out there.

I have written two long posts – the first one is about part 1 which is OCMJEA’s multiple choice exam. The second post (which I will post soon after this) focuses on part 2/3. I will be disabling comments here but should you have any doubts, please feel free to email me (from the “about me” page) or reach out to me on Twitter (predictably, @adityeah)

Update: The second part of my series of OCMJEA blog post that talks about part2/3 can be accessed here.

***

I started working on the part-1 sometime around October last year. I had targeted giving the exam sometime in the month of February 2014. There is no standard time-frame that one can have to prepare for part-1. It varies in each case and the time you can devote. I have come across cases where people have studied for 20 days and given the exam. In my case, I gave a couple of hours per day average (it shot up to 4-5 hours during the last month), in 3 months to prepare for the exam. You can very well do it in two months time if you can give more hours per day.

I gave the JEE5 version and I believe one has to go for OCMJEA6 now. During my time, last year, there was no guide available for OCMJEA6 as the exam was relatively new and I felt more safe giving the older version then. I think a lot of the documentation and guides for OCMJEA5 still hold true for the newer exam too. Of course, now you have this book to help you.

The first thing I did was to read Mark Cade and Humphrey sheil’s book. The book is compact – this is no exhaustive material for an exam such as this but it gives a primer on what can be expected in the exam (and parts 2 and 3) and acts as a stepping stone for the exhaustive reading ahead. I feel this work is important because Sheil and Cade were in the creator’s panel for this certification. Since this book is not a long one, I think you should not spend more than 12 days (or even less!) on it. Also remember that this is a book you might keep coming back to.

Initially I spent a lot of time reading Mikalai Zaikin’s and Cheng’s notes. They can be found here and here. Zaikin’s notes are only available for the first two sections. I found these notes worth looking at for topics such as NFRs, Architecture principles and design concepts. For technology specific topics, I would not advise them.

As you move towards sections that deal with technologies, don’t be afraid to read specific topics from the right books. For example, the first few chapters of “EJB 3 in Action” are an excellent source for understanding EJB3 from the exam’s perspective. I also thoroughly read the JEE tutorial by Oracle to understand the lifecycle of JSF. The JEE tutorial (http://docs.oracle.com/javaee/6/tutorial/doc/gfirp.html) should be read for all topics. You can skip the code samples but otherwise it should always be in focus.

It is very important to try to come into the “this vs that” mode of studying. The exam poises a lot of questions that ask you to choose one technology over another given a specific scenario. For example, why would you choose JSF over any other MVC framework? What will make you look at Web Services for a solution? Such questions form the crux of the technology based questions.

Design Patterns form a big part of the exam – and that is because both Gang of Four design patterns and the J2EE design patterns are included in exam’s scope. For some people out there, it is a good thing. Design patterns can be a good scoring area if done right. Not for me. The whole thing could be a dealbreaker if it is not your strength. So keep in mind to spend enough time on design patterns. And it takes a LOT of time – especially if you have not studied them before. In case this is not your strength, keep in mind to devote enough time on this topic and then go over it again and again. I did not follow a single source for studying this. The J2EE pattern book, GoF and Martin Fowler’s blog were my major reference material.

And now lastly the Dumps question. Do they work? Where does one find them?

Before I talk about it let me cover an important aspect of this exam – something which differentiates this exam with say, Oracle Certified Professional Java Programmer (SCJP). It is the lack of trick questions (Do they call them “gotchas”?) in the OCMJEA. This is a major difference. You do not have to read between the lines again and again – maybe thinking if you are missing something. There is no code. There is no semi-colon missing. Oracle is not messing with you. What this means is that the conventional methods of exam preparation work well in this exam. You do not have to be sceptical.

There are a few questions available online – you’ll have to search for it. But I would recommend buying the Whizlabs exam simulator. Start going through the tests once you are done with a single iteration of your preparation (and perhaps 30 days before you sit for the exam). But having said that I must insist that you must NOT depend on it. Do not think that going over and over with Whizlabs would help you pass the exam. If you do not buy it, it is OK – I know people who have passed the exam without any simulator and scored very well. And that is exactly why I think the conventional studying methods work well with this exam.

Also – and I can’t stress this enough – go through Coderanch (If you are a Java professional and do not know of Coderanch..well..umm…) The forum there is the best support group you will ever see. Ask questions. Look up old ones. If you have a doubt, search for it. More likely than not, someone must have already asked that question and another noble soul must have answered it.

Last words – Buy a new notebook. Make notes. Write everything. Keep coming back to it. I wrote the distinguishing features of each design pattern on my notebook and I used to look them up when I had nothing to do. Study for knowledge, not passing or attaining a number. Not for beating a system. Didn’t I tell you this is all old fashioned exam studying?

So well – that’s that then. I will be posting about the Part2/3 experiences soon enough. I would be glad to take up any doubts that you may have. Feel free to reach out to me on email or twitter (from the “About me” page on my blog). Good luck with your preparation!

The auto driver who doesn’t like journalists

Last Saturday I went to the other side of town, to Malleswaram. On the way back I could not find a bus so I had to take an auto. I live in south Bangalore and the distance is quite a lot. It was a long way home and as it happens under such circumstances, almost inevitably, the auto driver and I got talking.

The election fever has overtaken us all and so I asked him if he would vote. Yes, he said. We got talking about political affiliations. To my surprise, he said he would vote for the AAP. As I recall, I think he got Kejriwal’s name wrong (I think he said “Aggarwal” – but that is beyond the point because he was aware of what had happened in Delhi). We, the urban elite, have always thought of AAP as a mostly urban-upper-middle-class phenomenon so that conversation was a myth-buster.

Anyway, towards the end of the ride, the driver mentioned that he was cautious about opening up with his passengers these days. Considering that we had just had a long conversation, I found it a bit odd so I asked him why. The other day, he recalled, an incident happened when he dropped a lady at Malleswaram. I asked him further. “Well”, he said, “she got talking just like you. About life, social issues, politics etc. And when she got down, she asked me if she could take my picture. I was hesitant but she took one and left”.

The lady was a journalist. The auto driver claimed that she asked him questions, got him talking and recorded the conversation without telling him about it. A few days later (or the next day, I do not know) an article was published with his name (and he claimed it carried his picture too) in Bangalore’s Deccan Herald. “My friends saw it and they were laughing at me. I kept telling them – I never said all that”.

I told him, in a way that he could understand, that for a journalist to do that was wrong. He didn’t need much convincing – he already knew that. More than the quotes, which he said weren’t true anyway, he was hurt by the fact that his name was published in a newspaper without his consent. “But I don’t want to do anything about it”. I told him that I can take this up with Deccan Herald. He agreed but later he added, “Sir, I just don’t want my name anywhere”.

I went home and searched for his name at Deccan Herald’s website. I found him quoted in a story, just as he had mentioned. I did not find his picture there (thus, I can’t say if Deccan Herald carried it in the print version).

The next day, I posted a series of tweets – some of them mentioned his name and the link to the article. I was wrong to do that – in my bid to highlight the lapse of ethos, I committed the same mistake I accuse Deccan Herald of – quoting the auto driver despite his reluctance. Moments later, I deleted those tweets. I have taken care not to mention his name and the article link on this post.

What I did was though was this: I tried to contact the author of the article on twitter. I haven’t heard from her. Maybe I will. I also tagged Deccan Herald’s twitter account on my tweets about it (those tweets that I decided to keep) and somewhat conveniently, I haven’t heard back from them.

Apart from the obvious lack of ethos evident here, my only question is this — would this journalist dare do the same thing if she met, say, a CEO of a company? Or anyone who held more influence than our auto driver? Someone who won’t be as helpless and won’t hesitate to go public about it? Would she record the conversation without telling, snap a picture when done and then run the story despite knowing that it is not OK to do it?

Because out there, an auto driver doesn’t want to ever talk to journalists.

Katra Katra milte hein

I have always loved Gulzar’s poetry. Maybe during my days of growing up, it was the melody that caught my attention (after all, Gulzar’s best came with great melodies rendered by Pancham). I loved the songs because of the music but as I understood the songs more, I found that his lyrics made the songs more beautiful; so I often ended up looking for songs penned by Gulzar.

Two days ago, when I found out that Gulzar was to be in conversation with Prasoon Joshi on the morning of 28th September (today) at the Bangalore Literature Festival, I thought this isn’t something to miss. I made it to the lawns of Crowne Plaza a few minutes late. Gulzar sa’ab and Prasoon Joshi were discussing, what I thought was about the linguistic element and etymology in the nazms and poetry. Then Gulzar sa’ab talked about how he would insist on using a word in his works so that not only it fit into the narrative but also would serve the purpose of preserving the word (Since, well, using an uncommon word is actually a way of not letting it go in time). An example he used was the Urdu word, “mukhtasar”. Coming back home, I notice that the word is used by him in a song penned by him, “Tum Pukar lo” (“mukhtasar si baat hai, tumse pyaar hai”) sung by Hemant Kumar for the 1969 movie, Khamoshi. At that moment, it made me think of another movie, directed and lyrics penned by Gulzar himeself, Ijaazat.

During the Q&A session, I used my arms well by raising them as high as I could and got the microphone. Apparently then, Gulzar said that the time was up and he won’t take any more questions. I was stopped midway. Then he had a change of heart and allowed me to continue.

I started by saying that I was his great fan and carried him all the time in my iPod. This was followed by cheers from the audience that went for a long time. To which Gulzar sa’ab replied: Ab mujhe maloom ho gaya ki mera size kya hai. (Now I know what size I am!). This was then followed by a longer cheer from the audience and the applause never seemed to end.

Anyway, my question was related to their just concluded talk of preserving words, the one I mentioned above. So in Ijaazat, I think before the song “Katra Katra”, Naseeruddin Shah is talking to Rekha and explaining: “Maazi ko Maazi na banaya toh..” before Rekha interrupts him and asks, “Maazi?”, implying that she does not know the meaning of the word. Now considering that this is a movie, I found this very peculiar. Why would the screenplay writer make the actors of a movie explain words to each other in the movie? I mean, couldn’t Gulzar make it simple by using, “Jo beeta hua hai usse beet jaane do” (which Shah eventually says, clarifying “maazi” further) instead of insisting to use the word “Maazi” and then making Shah explain the meaning of the word to Rekha? By doing that, Gulzar was reaching out to the audience, maybe breaking the fourth wall indirectly, trying to make them understand “maazi” and wanting them to remember it forever. I did not have the opportunity to be so elaborate with my question as I am here but was that Gulzar’s way of preserving a word, by insisting on using it where he could, in his own movie?

Gulzar sa’ab’s first response was almost dismissive. He said something to the effect that this he used to do often during his younger days. It was not about preserving a word but just using it, where he could. The second response, and I did not see this coming from Gulzar, was that he almost reprimanded me for using an English sentence in my question. That while I had used chaste Hindi in my first few sentences and conveniently gone to English in the last line perhaps irked him (as it would, to any purist). My world came to a standstill, I thought I heard lots of laughter and I was told later that I was on the giant screens while asking the question.

Which I think, was fine. I did not get to explain that I wasn’t really used to talking to intellectuals like him, least of all in front of such a huge audience. On the bus ride home, this event captivated my mind. I concluded that while only a few hundred got an opportunity to listen to a great man like Gulzar sa’ab, only 3 of them had today got a chance to talk to him in front of such matured and educated audience. And I sincerely believed that my question to him had substance. It wasn’t stupid.

Toh, Gulzaar sa’ab, kam se kam aapne hamari hansi toh udaai. Baakiyon ko toh woh bhi naseeb na hui.