Archive for the 'Work' Category

My Code Rules – Code Documentation Check

As a fresher at FICO, Rahul and I had developed a java source code analyzer named My Code Rules. The objective was to develop a rule engine which would apply a set of rules to find inconsistencies in a given set of java source files. An API for writing of new rules was also developed. A few sample rules were created by us to show the effectiveness of the rule engine.

Now one of the rules was to check if the methods have been documented or not. One could provide in a config file the type of functions [public, private, protected, all] that needed to be analysed The rule engine would then look up all the filtered methods and display as a table the list of methods that had not been documented.

Configuration of My Code Rules

Output Of My Code Rules

I finally got to use the tool today :) . I needed to check if I had documented the my code. This tool quickly listed all the methods that needed documenting. I searched for the ones I had added and my work was done!

Sadly though, I have never had the time to improve the tool. Both Rahul and I were new to java when we wrote the tool, and our amateurishness shows in our design and the implementation. After Rahul FICO, the old code was beyond repair. I tried a fresh approach, correcting the previous errors, trying to look ahead, but it requires a lot of time and dedication. The project lives in a deserted state.

Popularity: 1% [?]

Testing Code Using Serialized Objects

After having written few new methods to enhance a functionality, I needed to test the code. Now the app requires dataset, binning library and various groovy nodes for initialization.  Also it does a lot of pre-processing. So there were two options for me -

  • Hack the code to insert special test methods at a particular point.
  • Write a test class which does all the initializations and then runs the app

I did not want the run the whole app. All I wanted to test was if my methods were running fine on one iteration or not. I did not want to wait for 10 minutes to wait for the algorithm to complete and then look at the log files to see the impact.

What I did was serialization of all the objects required by my methods. It required me to hack the code and write a few lines serializing the various maps, data structures and stuffs. But with that done, all I now need to do is to deserialize these objects and get whatever I need to test my methods.

Simple! I can now write small, neat methods whose purpose is only to test the particular methods without running the whole algorithm.

Popularity: 2% [?]

FICO : Hips Don’t Lie

The video speaks for itself. It was a night when we had lots of fun with our juniors at FICO. I wish a few of them join the cultural team and we continue planning fun activities.

Popularity: 2% [?]

FICO : Icebreaking Session – Lessons Learnt

Well, being a part of a group who had to think up something for the ice-breaking, I have learnt a new lesson today.

People on their first day are just too nervous to really play a game even if you ask them to.

My idea was pretty simple. I believe that creating systematic chaos is the best way to make people gel together. So we had come up with this idea of having a simple ball game. The instructions were to move around the room and throw the ball at a person who you want to play the game of truth-or-dare with.

I had imagined a room full of people enthusiastic about joining their first job. But it turned out to be otherwise. When we asked a guy to sing, all he could muster his courage and blurt out was that he was too nervous to do anything right then. Also, those fools were rooted to their places. They weren’t moving at all! :( … My ideas of systematic chaos just did not lift up.

Thinking retrospectively about the whole thing, I guess it was asking too much.

The other activity that we made them do was more fun. It involved the bollywood theme, so people enjoyed it.

Popularity: 6% [?]

FICO: R&D Team Skit At All Hands Meet

The Research and Development team also had a skit for the first All Hands Meet. Here is the script.

Director and writer: Yogish

Assistant Director and screenplay: Anshumali [He prefers Deputy title though :D ]

A little background first:

A couple of days before the meet, Navin lets us know that he, Prasun and Palla will be on leave!!! As a result Yogish had to alter the script slightly, and we also had to draft in Abhinav Kishore, who has come to FICO from Infosys Chandigarh on a contract.

Act 1

<Kishore sitting in a cubicle filled with a decision tree. Trying to read it with a magnifying glass>

<Anuvrat enters>

Kishore to Anuvrat: I have to give a presentation outlining our strategy to the clients in one week, but I can’t make head or tail of this    <Points to strategy>.

Anuvrat: But don’t you know about this wonderful product called Strategy Designer.

Kishore: No what is it?

Anuvrat: Wait let me call my roommate working in the Research team of FICO who designed it. He will explain it to you.

<Whips out a phone and makes a call>

Act 2:

<Mali and Yogish are sitting in the cafe>

Mali to Yogish: Arre, did you hear that the Large Hadron Collider is finally up and running.

Yogish: Yeah, I can’t wait to find out if the Higgs boson is real or not.

Mali : I hope it creates a black hole which swallows all of earth.

Yogish: ha ha, In that case I’d better take my power nap.

Mali: What ?! Are you going to sleep in the office?

Yogish: Well actually people may think I am sleeping but I am actually thinking.

Mali: Oh, ok …So you are one of those Kekule type of guys who thought of the structure of benzene in his dream.

Yogish: How do you think we have so many patents filed from our team after all? You should start sleeping at work as well….

<Mali gets call from Anuvrat and picks up the phone>

Mali: Hello.

Anuvrat: Hi, where are you ?

Mali: In the cafe, drinking coffee.

Anuvrat: And discussing quantum physics, no doubt ?

Mali: Hey, how did you know ?

Anuvrat: <Rolls eyes> Nerds!!

Anuvrat: Anyway, I want you to talk to my friend here in Citigroup and explain what you did to turn decision trees to graphs.

Mali: Ok

<Kishore takes the phone from Anuvrat>

Kishore: Hi

Mali: Hi

Kishore: Hey, I have this massive decision tree with 40000 nodes. I was told that you guys have a product which can help me figure this out.

Mali: Oh yes. What we do is simply find an EDAG that is functionally isomorphic with the decision tree.

Kishore: What ?

Mali: <Makes a face> EDAG…. Exception based directed acyclic graph

Kishore: What is that ? It sounds intimidating

Mali: Oh no. We have made it so simple that even the guys at AIG could understand it …. HaHa..

Kishore: I used to work at AIG.

Mali: Oh!  <Coughs> …… <Coughs again> …..  I think I have an idea. Why don’t you get your bank to buy Triad 2.0 ? It is Strategy Designer with more intuitive icons for the user.

[[ -- This part was edited out due to Navin's unavailability -- ]]

<Navin comes into the cafe>

Navin: Hey, Shafi just came and told us to prepare a skit for the all hands meeting on the 6th.

Mali : <Looks relieved>  Hey Kishore, I’ll call you back in a while. Have some work. Bye!!

Yogish: Skit! Do they think we have nothing better to do ?

<Navin also sits down to have coffee>

Navin: <Shrugs>  Yeah, those guys are always either in the cafe or taking a nap at their seat….. They obviously have all the time in the world.

Yogish and Mali in unison: Hmmm…..

Popularity: 10% [?]

FICO: Freshers Skit At All Hands Meet

On the 9th of April, the FICO Bangalore office had its first All Hands Meet under the new VP Anindo Roy. Us freshers performed a skit, expressing our first year experiences. Below is the script along with the people who played the characters.

Scene 1: News Studio

News Reporter :: Lucky Wankhede

News Reporter: Kitne mite kitne lute is IT ke chakkar mein, kitnon ke ghar phute, kitne jali is IT ke chakkar mein. Par kya yahi sach hai? Is se parda uthane ke liye hamari team pahunchi “Champu Ki Kahani” aap tak laane.

Par suru karne se pehle, mai aap sabko ye bata dun ki “is kahani ki saari ghatnaye aur patra kisi na kisi fresher ke sach se judi hai, par TRP ke chakkar mein hame bhi kuch masala to add karna hi pada. Ab kya teekha masala hai aur kya kadwa sach, ye hum viewers ke interpretation par chor dete hain.”

To aayiye, camera man Praful ke saath, mai Deepak Chaurasiya, le chalte hian aapko sunane Champu Ki Kahani Usi Ki Jubani.

Par sawal ye uthata hai ki “Aakhir Champu Hai Kaun”?


Scene 2: Classroom in Campus

Prof :: Atul Kumar

Champu :: Vipin Gupta

Chimpoo :: Sumeet Kataria

Singer :: Padmini Pasumarthi

[Everybody has to give his project presentation today. Champu is sleeping in the class, lost in his dreams.]

[Background Score: Mere Sapnon Ki Ranmi Kab Aayegi Tu ... ]

Prof: Champu, Champu

Chimpoo: Abe Champu, uthaja. Tera presentation hai.

Champu: Abe, sone de naa yaar. Ash ke sapne dekh raha hun.

Prof: You stupid Champu. You duffer is sleeping in the class. You cannot do anything good with your life. Go give your presentation now. What’s the topic?

Champu: [Confused] Sir, wo, sir, …

Prof: C’mon, c’mon. Do not waste my time.

Champu: [Starts] Sir, I have an idea that if we can provide some useful software to the business people to manage their rules …

Prof: Yahan idea dene aye ho ya hum logon ka time pass karne? Useless fellow. Just go away, you are useless, and nothing better can you do in life. Just get out of the class, and I am only giving you a “F”.

News Reporter: To dekha aapne ki hamara Champu, knowledge to poora hai, par pata hi nahi ki use kaise kare. Ye Champu apne knowledge ke dam par FICO mein select to ho gaya, par bhi apni asaliyat se duur nahi jaa saka. Kya FICO ise change kar paayegi? Dekhte hain aageki kahani.


Scene 3: Champu Reaches Out To His Buddy At FICO

Buddy :: Anuvrat Singh

Manager :: Greeshma Olety

Employee :: Ankit Jain

[The scene consists of two parallel plays. Champu has a conversation with his buddy. The parallel scene shows what was happening in the office then.]


Buddy: Hey, I am your buddy. What’s up?

Champu: Sir, ever since I got selected for FICO, I have immersed myself into java books. I am also learning jsp, servlet, hibernation …

Buddy: Hey, hey, there now … slow down buddy. Chillax. Enjoy your time, we’ll teach you the rest when you get over here. And don’t call me Sir/ Just call me BOSS.

By the way, do you have any doubts about the “scary” stuffs that we do over here?

Champu: Well, to begin with, we have flexible timings, don’t we?

Buddy: Of course, I come for lunch and leave before snacks. If you get your work done in time, no one cares about your number of hours.

[Parallel Scene Starts]

[Employee enter's the office at 1230]

Manager: What’s the time Ankit?

Employee: Sorry mam, wo late ho gaya. We had a party till late night, and I was unable to get up early.

Manager: I do not want any lame excuses. You people are too young to come later than 10 in the morning. I want you at your desk by 9 everyday. And converse only in English.

Employee: Ji Behenji .. Err Yes Ma’am.

Manager: Abe Hindi nahi … English !!

[Parallel Scene Ends]


Champu: And what is the dress code for our office?

Buddy: (Hehe …) Strictly formal. A tie would be very appropriate. Blazers are ok in winter only though.

[Parallel Scene Starts]

Employee: Hey! Where did you buy this jeans?

Manager: Oh, from Spykers. Isn’t it great?

Employee: It’s awesome. I love my company just because we have the freedom to wear anything we want to.

[Parallel Scene Ends]


Champu: Ok Sir. Thanks so much for your help Boss.

[Buddy disconnects the connection.]

Buddy: Kaisa chaman aadmi hai. I wonder how he cleared the HR interview. [Look towards Pooja Mehra, who is our HR]. I bet he must be handsome.


Scene 4 : First Day At Office : The Training Room

Manoj :: Atul Kumar

Debashish :: Anuvrat Singh

Chimpoo :: Sumeet Kataria

[It's the first day at FICO for Champu. He walks into the training room with all the chairs occupied. He searches for his name tag and finds it right in the front row. ]

Champu: Curse my starts! First Row!

[The instructor Manoj walks in.]


Manoj: I am Manoj and I’ll be taking a session on XML today.

[Monotonous, low volume, blah blah blah from Manoj].

Manoj: You can all take 5 minutes break now.

[Manoj leaves the room.]


Champu: Damn! I cannot sit here another minute. Chimpoo, I am sitting beside you in the last row.

[Champu drags his chair to the last row.]

Champu: Now this feels like home baby!

Chimpoo:  Saala kya nautanki kar raha hai ye instructor. Oye Champu, let’s play NFS, network pe.

Champu: Sure, let me download it from torrent.

[After trying a few times, Champu calls up DD from the TSI.]

Champu: Hi, I am trying to download stuffs from torrent and it doesn’t seem to be working.

Debashish:  WHO THE HELL ARE YOU? i AM DEBASHISH AND I AM NOT THE GUY WHO MENDS YOUR COMPUTER! I AM A BUSY MAN, UNIT TESTING THIS CRAPPY PIECE OF CODE WRITTEN BY ANUVRAT. IF YOU DARE CALL ME AGAIN, I WILL HAVE YOU THROWN OUT OF THE OFFICE.

[Champu puts down the phone. Oops, wrong number.]

Chimpoo: Koi naa, Rapidshare jindabaad.


News Reporter: Poori office ko pareshaan karne ke baad, pahunche apne Champu Graduation party mein.

Scene 5 : FICO Graduation Party

Senior Director :: Anuvrat Singh

Singer :: Padmini Pasumarthi

[Background score : Kajra re, kajra re ...]

[Senior Director walks in.]

Senior Director: Hello friends. I would like to welcome all of you to our family …

[Chimpoo pukes.]

Senior Director: [Disgusted] Get this man out of here.

Champu: Abe kamine Itani kyun pee lii yaar.

Chimpoo: Are mat puch yar, Paro ka gam, Job ki khushi, aur free ki daaru … aur kya chahiye zindagi mein.
Champu: Abe kal savere ki soch, jab loose motions honge.
Chimpoo: You know what I have a Newton’s 4th law, Tujhe pata hai? Loose motions cannot be done in slow motion!

Scene 6 : Meeting Room

Manager :: Greeshma Olety

Singer :: Sumeet Kataria

News Reporter: To iss tarah Champu ne apani fresher party aur loose motions ko kiya enjoy, par bat yahi khatam nahi hoti, kyuki picture abhi baki hai mere dost, picture abhi bakki hai …

 

[A meeting is going on with Champu, his colleagues and his manager]

Manager: So everybody what the status of everyone.

Chimpoo: Ma’am I have written and working on the module assigned to me.

Champu: Ma’am wo ma’am wo….

Manager: Yes Champu whats your status.

Champu: Ma’am wo its not yet completed ma’am,

Manager: What the hell, why you haven’t completed your task, team is dependent on your task.

Champu: Sorry ma’am.

Manager: Sorry doesn’t make money Champu, work does. I want to talk personally to you. Meeting over guys, Champu stay back.

 

Manager: [Funda Session] Champu this is not the way you behave and work in office, its no more college, you should be more professional, you should take ownership of your work, Success is not getting a big job but it’s about performing best, always and recurring. You are young and dynamic person company have lot of expectations from you. So think about it, if you need help let me know.

 

[Manger left the meeting]

[Champu’s transformation to Chiarg]

 

Champu: What the hell am I doing, I’ve got talent ,I’ve got potential, I’ve knowledge. And FICO is providing me good opportunity . I need to comcentrate. I need to be more professional , I need to change, yes I will change..

 

[Background Score: Hota hai jab aadmi ko, apna gyan, kehlaya wo, "Chironji laal"]

 

News Reporter: Champu transform to a confident Chirag. He has now been assigned the task of meeting the clients and unveiling the latest product FICO Blaze Advisor v69.

 

Scene 6: Meri Shaadi Karwao

Amma :: Padmini Pasumarthi
 

[Champu, who now is Chirag, calls his family to tell about his success]


Chirag: Hi Mumma, I got spot award today, my manager is very much impressed with me, And I am doing great in life.

Amma: This is very great news beta ki you making us proud. We have a good news also for you.

Chirag: What is the good news amma.

Amma: Beta tumhari, Jaipur wali mausi ke devar ki delhi wali sali ki bahan wo Australia se kuch kuch khelkar India waapas ayi hai, wo Bangalore me hi ruki hai.Usake rishta tereliye aya hai. To mai no de deti hu, mu dikhayi ki rasam puri kar le.

Chirag: Name kya bataya amma.

Amama: Saniya

 

News Reporter: To dekha apane ki kaise ek bevkuf, bindas, aur lethargic college student “Champu” independent, confident, responsible Chirag bana FICO ne.Kaise bana wo ek looser se ek successful person.

 

 

Popularity: 14% [?]

A Black Day At FICO

:) . Why do people always misunderstand black as synonymous to evil or unfavourable. It is much more than just that. I feel that apart from being a classy colour, it symbolises desire. Agreed it is associated with the dark scheming intentions.None the less, you can’t get smarter than being Men in Black.

Eh, what does black have to do with FICO you might be wondering. And for the uninformed, FICO stands for Fair Isaac Corporation, the company where I am currently employed.

It all started when Shafiq called upon the youth at FICO to revive those happy old days when fun activities were a daily thing. In those fun days of a time long gone by, people used to assemble at the cafeteria or the pantry and spend time chatting away or playing antakshari, dumb-charades, etc. But just as all good things come to an end, so did those days have to when the recession set in. Work became more demanding with the reduction in the number of employees, and people gave up on all the fun.

As Nishchal put it, if you were to ask an employee of FICO what he likes the most about his company, he wouldn’t reply the atmosphere, the mingling of people, the fun of going on treks together. He would perhaps blurt out something like work culture etc, which he hardly believes in. Concerned by this, Shafiq urged us to once again start the Fun Committee which used to oversee all this activities until 2 years ago, but with the added constraint that we have almost negligible budget at our disposal.

Almost a dozen of us attended the first meeting. We formed a committee, identified a leader to represent our group and got down to business right from the first day itself. The daunting task of getting all the lazy coders to be involved in extra fun activities was the motivating factor driving each one of us. But we also knew that change would not be easy to bring in. People are not accustomed to having dumb-charades every Friday evening now.  And if we were to ask them to come one fine evening, hardly anyone would turn up. We had to gradually build up the excitement and get everyone involved.

What could be the simplest thing that we could ask people to do – this was the problem we were faced with. After some brainstorming rejection of a few ideas, we settled at a Dress Day. Yay! 300 employees all dressed up into a theme would be a good way to show your support for the new team of people who are trying to revive the fun culture at work place.

After further discussion, we settled at the concept of FICO in Black. Almost everyone has a pair of black clothes, so it should be a simple enough task to wear them on a particular day. But the girls in our team were not too happy with the choice of colour. They felt it was too gloomy. So we switched to Denims and Blacks theme, which was agreeable to all the members. As an added incentive, we declared that we would go around the works place clicking photos of team and put them up in the notice board and also publish them in our monthly newsletter.

Posters were put up and emails circulated to let everyone know of our intent. But honestly speaking, I was a bit skeptical about the success. I wasn’t expecting more than 50% people to wear the black dress, least of them all the managers.

To my surprise, no sooner did I enter the building, I saw people in black dress everywhere. I couldn’t help but smile. It felt strange and good to see everyone turnout in black dresses. Even the managers were wearing them! In fact, almost 80% of the people were in black. It was just amazing.

Our team went around crazily clicking away photos and making everyone smile. People at FICO are not just a bunch of lazy coders I realized it then.

This was just meant to be a kickoff thing, signaling our intent that we are here to change the way we work. We are here to make people smile again, to have teams interact with each other, to have teams compete each other in what would be our FICO Olympics. On our behalf the intent is very much there, and by conforming to the Denim and Blacks theme, people have shown their support today. It provides an ideal launching pad for us. Only our time, work commitments and imagination can limit the fun we have in our work place now.

By the way, our group is called the Exuberance Team, and I am a member of the Cultural and the Literary Sub-Committee. Yay! Looking forward to lots of earlier-dreaded-but-now-fun Mondays.

Popularity: 8% [?]

Trying To Get AST Working … I

Well, as a part of a dummy project Rahul and I are working currently, we need to create an Abstract Syntax Tree for the source code provided. Once that is done, we will be able to create wrapper classes around it and get our project running.

The AST that is provided by the core Java APIs give only a read-only handle, which is not of much use as we would like to be able to modify the AST later on. So we decided to go with the AST provided by Eclipse. Basically, eclipse has this thing integrated in its IDE to provide the refactoring features.

Importing a lot of eclipse jars, we set out to test if it works. The result is partial. We have been able to pass a source code as a string and get its AST, but when we tried passing the whole workspace, eclipse gave a run time error. It says IllegalStateException as the workspace is closed.

Googling around a bit, we realised that IWorkspace can be used only as an eclipse plugin. Now we certainly do not want to add the extra complexity of making an eclipse plugin, as we would like our code to run even in the absence of eclipse. So now, we need to figure out how to provide the whole workspace to the application as an input so that its AST can be generated.

Popularity: 2% [?]