Ratatouille

I have always been a big fan of animated movies, they have amazingly intriguing stories with characters which are created using vivid colours but still leave the viewers to construe them with their figment of imagination. Sometimes I feel they are better than actual movies because they make you think, they take you on a journey, a fairy tale which a real movie never can.
Now there are different kinds of animations these days, some try to be ultra realistic, some are very basic and some like Ratatouille are the ones which deliberately are meant to look like animation but still make it ‘feel’ real with the things that matter, the characters, the story and music.
The animation in Ratatouille is beautiful in the sense that it makes you believe in the characters. The expressions, the voice overs and the music to support emotions makes the animated rats and people come alive. The movie is about Remy, hero of the movie who happens to be a rat. You can instantly feel attached to it. The movie tells the story of Remy becoming the top chef of Paris from a simple rat with an extraordinary ability to smell and taste. He does not eat anything like the rest in his clan, he understands the importance of the taste! Luck takes him to one of the best restaurants in Paris, Gusteau’s who had just passed away. Remy gets a chance to cook with the help of Linguini, Gusteau’s unknown child with a sub plot of the new Chef planning to take over the restaurant for himself.
The movies is full of emotions, every kind of them, it amuses you at times, it makes you laugh, it makes you feel sad, it can even make you cry(a feel good cry not a sad one), but above all it leaves you awed…
There are two scenes in the movie which are just magical, one where Remy explains how to feel different tastes and the amazing feeling you can have when you mix different types of flavors, another one when the food critic, Ego, eats the Ratatouille prepared by Remy. The latter was so intense and influential that I nearly dropped a tear! lol
OK, I might be a lil bit biased for this movie because I love food so much, but this does not makes any difference, this is one of the best movies ever made which reminds us what movies were made for, entertainment. I am waiting for Pixar to come up with a new movie which can beat this!

Rating: God!!! its soooooo yummy outta 10!

Memento

This is one movie which always fascinates me. I have watched it countless times and it still feels fresh whenever I watch it. The movie is about a guy having short term memory loss who is trying to find the killer of his wife with tattoos and Polaroid photos to help him remember things.

The movie stands out for excellent narrative and unique editing. I must say that Dody Dorn as an editor has created a classic. The concept was very difficult and complex to handle and he manages to make it successful. The direction was pretty tight and the movie is always moving at a fast pace. This was the third movie from Christopher Nolan who went on to make a few very good movies after this one including Insomnia, Batman Begins, Prestige and DARK KNIGHT.
Although I rate Dark Knight as a top notch movie in itself but i can not rate this one any less than Dark Knight. This one should be used as an example in editorial and direction courses in film institutes. The characters are very well defined and disguised at the same time. Guy Pearce moves into the lead role pretty easily and naturally. The story is very intriguing and keeps you hooked onto the screen making even the blinking of eyes annoying.

The ending was amazing and shocking, I was not able to predict the ending at all until it hit me in my face! The tension, the complex story, and the reverse flow of the movie makes it what it is, a modern classic which can be said one of the best thrillers of the decade so far.

Rating: FIND IT, WATCH IT!

Think before you put things on the Bus!

Recently after some business folks were pretty pissed off about not getting enough value out of SOA and the ESB not being able to handle certain processes properly, an architect at work asked me to write about the factors which should be considered while deciding what projects and solutions should be put on the enterprise service bus as services. I gave him a list which I am writing below. It is certainly not exhaustive and is specific to data integration solutions and the products which we have licenses for(Oracle Service Bus, Informatica PowerCenter+PowerExchange, Oracle Data Service Integrator). So here it is:

There are three different approaches we are using in our enterprise for data integration flows: (I will refer to these by their number in the reasoning below)

  1. Real time integration via SOA based messaging services (OSB, DSP/ODSI, Weblogic JMS)
  2. Real time integration via trigger based ETLs/ELTs(Informatica or Oacle Data Integrator)
  3. Batch processing via scheduled ETL jobs (Informatica)

Here is a list of factors/questions which I think we need to consider to choose between various data integration approaches.

1. What is the need of real-time integration of the data?

The IT processes are getting faster every day and every minute, but it is important to actually identify whether real-time integration is needed for any process which needs to be implemented. It is important because real-time data integration has a higher total cost of ownership. Keeping that in mind go for option 1 or 2 from above list only if the need for real-time integration of data is justified. In all other cases where there is no actual business need for real-time integration its best to go with option 3 which is cheaper, easier and faster to develop.

2. Size of data. In terms of size/message and overall size/day.

If the messages are very big(anything more than 1-2 MB/message) the transactions to send data to destination might run for a long time due to higher insertion time on database and higher network transfer time. This is not a very good business case for real-time integration via messaging services. It is wiser to keep such heavy transactions away from the shared bus.  For such scenarios it is better to go for option 2 if there is a justified business need of real-time integration otherwise option 3. If it is possible to split the messages into more number of smaller messages then SOA based messaging(option 1) can be used.

Also, if total amount of data being transferred per day is huge(anything more than 10 GB/day) the best approach is option 3. If we use option 1 for this kind of data integration then in case of any catastrophic event (destination being down etc) SOA layer will need to persist all the messages and storing such huge data on SOA layer(in a DB or on the file system) is a potential performance risk.

3. Message rate or Transactions per second

Usually TPS should NOT be deciding factor to choose between these 3 approaches if messages are small(average message size <100 KB). But in case where there are larger messages, TPS becomes a factor since processing of messages will be slow and throughput will be limited. Best option in that case would be approach 2. For example, if we have to send only 5000 messages of 2MB each every day, but all messages will come in a burst and within 10 mins(meaning ~8.3TPS during those 10 mins) then option 1 might not be the right way to go, rather use option 2 or even option 3 if timing/schedule of these bursts is fixed. While if these 5000 messages are spread across 2 hours (<1TPS) then option 1 can be used.

4. Synchronous or Asynchronous

For synchronous flows, where a response is required from the destination(for ex. Create order sent to Oracle EBS and an order number is required in real-time), Option 1 is the best approach. In this case it is necessary to ensure messages are small(even if means higher TPS). For asynchronous data flows there is a choice of all 3 options based on other factors.

5. Complexity/Logic needed on integration layer (this sometimes depends on message format being received from source system)

This becomes an important factor when dealing with big messages or when TPS is very high. Moreover it does not makes sense to put a lot of logic on the Bus(this includes heavy transformations of big messages). If required the logic should be moved to BPEL and Bus should only be used for routing and orchestration. Complex transformations (involving multiple levels of loops, lot of type conversions on XML documents running in tens of thousands of lines) eat out a lot of CPU cycles and may be a potential performance risk.

6. Scope of reuse

If the same data integration is to be reused for a lot of destinations(pub/sub kind of scenarios), it makes sense to use approach 1. Even if it means making changes to the data structure to reduce message size or asking the source systems to implement minor changes to make their message data structure simpler. Effort spent on making the messages smaller and simpler so that the solution can be put on the ESB will actually save a lot in future. Where there is a scope of reuse it makes sense to tweak other factors and put it on the Bus.

7. Performance of the destination

If the destination application/DB is performing very poorly(and it can’t be improved). For ex. if it takes more than 1 minute to process every message on the back-end(irrespective of the message size), then option 2 should be preferred. In such cases if option 1 has to be used then the response times of back-end system need to be improved either by performance tuning on that system or by reducing the size of messages. The response times are important for the services deployed on the bus because it is a shared environment. The longer one process keeps the threads occupied, more is the probability of having a large queue for the processor by the other requests.

There may be other factors as well but I feel the above are some of the most decisive ones. Moreover I have talked about them individually but almost always they all play a part together and can be tweaked together to deploy important flows on the bus.

For an example, consider that the scenario of 5000 2MB messages in 10 minutes is going to be used by a lot of applications across the enterprise. It makes sense to put it on the bus and make it accessible to multiple consumers. To make that possible either get rid of any transformations or try to move them out of the bus or make them simpler. Also make sure that the back-end application is not taking too long, if it is then make the process an asynchronous delayed response type for calling the back-end(use Sync To Async pattern if consumers want a synchronous transaction).

I have seen a lot of projects deployed on the bus where certain things were overlooked and they caused a lot of problems around the performance of the bus. Being a shared environment which almost always handles a lot of business critical processes, great care needs to be taken to maintain the bus. It will cost a lot more to maintain an environment which has a lot of unnecessary poorly designed services deployed wouldn’t it?

Stack-em-up before the laptop goes away!

So,  I will be switching job ‘again’ in September, Exactly 14 months after I joined Dell. What I am seeing as a potential problem is that I won’t have a laptop in the new company(still mulling over my options) at least for initial few months. Apart from the great pain caused to any one in the IT industry by being offline, It will also mean that I will not be able to download and watch movies during these dark months of my life(I know I am exaggerating but it is necessary!!!) like I have been doing for last five years. So, what is the solution? I am on a download spree this month to download as many movies as I can on my external drive before I return my laptop to Dell and hoping that they will be able to help me pass the next few months before I get a laptop from the company or I buy a new one.

The list is quite big with new additions every day. It is already a list of 75 movies 30 of which are done. The good thing is that I will be writing reviews for most of them right here on this blog, something which I wanted to do since a long time, mostly for my own future reference. 😉

Fantastic Mr. Fox

Came across this little beauty during my current “stock-em-up before the laptop goes away” campaign. Its a stop motion animation and was something new to me. Stop motion is not as glossy as the Pixar or Disney animations but it has its own charm.
This is a story about the struggle of a fox with the family life and his craving to go back to his ‘wild animal’ days of raiding farms for livestock while singing Born to be wild. The story takes a turn when he tries to relive his old life and causes problems for a whole bunch of animals who blame him for putting them in trouble. Now he has to deal with the big problems in form of three villainous farmers while also dealing with his son’s insecurities, scoldings of his wife and a whole lot of other obstacles on the side.
The premise lies in the question that how would he defeat all this like a true hero that he is and come out on the top.
It has a very good script which is executed equally well. It is a fun comedy throughout and references western movies and thrillers in a big way!
Seeing the references of westerns took me by surprise, although it worked like a charm.
I would recommend this for a nice light watch for pure entertainment.
7.5/10 for me!

Frustrated ramblings of a Reds fan!

This has been a really long fortnight so far for me and all the other Liverpool fans! Rumor mills have churning out wild guesses at a mind boggling rate. But at the end of the day there has been zero progress.

Liverpool FC Crest

YNWA!

The Yanks are still trying out all their old school tactics to block the sale, the CEO and managing director have been unsuccessfully trying to finalize the buyers, various consortiums from around the world have been getting a lot of free publicity just by wishing that they would buy the club and the fans have been eagerly waiting, clasping their hands in prayer. But it seems that the prayers of hundreds of thousands of Kopites will not be listened to as quickly as we were made to believe. The end of the transfer window is lurking around. Even if they finalize a buyer now, the completion of the actual transfer of ownership will certainly go beyond the 31st August shutdown of the transfer window. With that all hopes of finding a good striking backup for El Nino and finding a solid left back will be gone, unless Roy Hodgson pulls out another miracle and can get another world class signing for free!

The good news is that come this October, the Yanks will surely be removed from the helm of this great club. Either RBS, which is owed £237m debt by the club, will make sure that the club is sold by that time-frame, Or in a worse scenario RBS will take control of the club which will mean that Liverpool go into administration and there will be a 9 point penalty in the league table. Well, we are not contending for a win this season anyways, but it was important to get back into top 4 again to rake in the Champions League moolah next year. Those 9 points can hit the Reds very hard.

There are a lot of problems with the sale. Firstly the Yanks want to earn a lot of profit for their failure to run the club properly and putting the club in steep debt since they got the control in 2007. Neither the fans nor the prospective buyers want to give them anything on top of the debts owed by the club, which seems justified. Another problem is on the prospective buyers part, none of which could provide the proof of funding in time. I don’t understand why could they not submit a final offer with proof of funding the first time when even they agree that taking control of the club before transfer window gets over is critical? Anyways, another bigger problem that I see now is that once the transfer window gets over, the valuation of the club will drop further because there will be very less chances of qualifying for next year’s CL without a backup for Torres who is struggling with injuries since past year. If that happens, there are great chances of going into administration. That is going to be a big mess for not just the Reds but the whole league. Once of the top clubs going under would be a big impact on overall functioning of the EPL.

Well, the good news is that on the ground the Reds have started the season well under the new commander, Roy Hodgson. Victories in three Europa league matches so far was satisfying, though nothing to be appreciated too much for. But it was the draw against the Gunners which was more important. It was the first match of the EPL season and even after playing sluggishly in the first half and the unjust Red card to Joe Cole in 45th min, the Reds dominated the whole of second half. If it was not for Reina’s bad luck in the injury time Gunners would have lost, deservedly. But anyways, I am happy with a draw against the gunners. Hope they continue to play like that and give the fans something to cheer about.

Here is hoping for a quick sale and a good season ahead!

My partner in crime…

Something I wrote last year, haven’t written anything since then, so I will start off with it to maintain continuity 😉

O sweet sleep,
why do you run away,
why dont you come,
and let us play.

Partners in crime,
together we will be,
to slay the dark night,
please come to me.

Only in your arms,
all the worries cease,
I can live my life,
and feel at peace.

Trust me, I wont betray,
for my love is pure,
and trust me when I say,
no one can love you more…