Rain Man

Rating: 3/4 (Rain Man is a fun movie with some great acting by Dustin Hoffman)

A rain maker is a partner in a firm who brings in money or business. I must admit I only learnt this meaning of that word after watching Rain Man, a 1988 movie starring Dustin Hoffman and Tom Cruise. Charlie (Tom Cruise) is at a crisis in his car dealing business when he hears about his dad’s demise. Having lost his mom pretty early and run away from his dad once he was older, he only has his eyes on his dad’s will. But, he is shocked to discover that his Dad only left him his old car and his rose bushes and has written away the 3 million dollars of his property to a hospital that handles autistic patients. Seething with anger he demands his dad’s property from the hospital director, only to discover that he has an autistic elder brother Raymond (Dustin Hoffman) at the hospital. He kidnaps Raymond and drives him away to Los Angeles to contest for his dad’s property in court. The adventures on his 7-day drive through small-town USA with his autistic brother forms the crux of the movie.

Rain Man is clearly owned by Dustin Hoffman. You can go into the movie knowing very well how good an actor he is and still come out extremely impressed with his role of an autistic adult. He definitely deserved the Oscar he got for his acting in this movie. Tom Cruise fits like a glove into his role of an angry young man with an eye on money. The plot is ripe for milking out tears, but thankfully it turns it into a comedy of sorts, for which I am very glad. I would not give it the Best Picture Oscar that it got, but Rain Man is no doubt a fun movie with some great acting talent.


Bommarillu (బొమ్మరిల్లు)

Rating: 2/4 (Despite its snail pace, Bommarillu is quite a fun movie to watch.)

I can understand a bit of Telugu, but to watch a Telugu movie I need subtitles. Thankfully, I got such a chance recently to catch Bommarillu (బొమ్మరిల్లు) a 2006 romantic comedy starring Siddharth and Genelia. Siddhu (Siddharth) is doted by his father (Prakash Raj) from a young age and his dad does not stop making his life decisions for him even though his son is an adult. This causes much frustration to Siddhu, who is unable to face up to his dad. Siddhu loses it when his dad chooses a wife for him and he is engaged to her. He runs into bubbly Hasini (Genelia) and it is love at first sight. Hasini though is a happy-go-lucky character and it takes a while for her to accept the profession of Siddhu’s love. Siddhu’s dad is angry on learning of his son’s adventure and Hasini get 7 days to live in Siddhu’s home and win his family over with her charm.

Bommarillu is interesting, but the first half really plods along. It is only in the second half, with Hasini’s capers in Siddhu’s home that it gets entertaining. Siddharth is disappointing, but Genelia and Prakash Raj have acted well. The music is mostly forgettable, the only track that remains in memory is Appudo Ippudo. Despite its snail pace, Bommarillu is quite a fun movie to watch.

The Mythical Man-Month: Essays on Software Engineering

Rating: 4/4 (Undoubtedly the most important book a software engineer has to read!)

The Mythical Man-Month: Essays on Software Engineering is undoubtedly the Bible of software engineering. Written by Frederick P. Brooks Jr. in the stone age of 1975, almost everything in it is surprisingly relevant to this day. The essays are based on the lessons learnt from the mistakes and successes in the OS/360 project at IBM which Fred managed. The OS/360 was the operating system and tools written to support the System/360 architecture created in the 1960s. Thousands of engineers worked on the creation of OS/360 and thus the book provides insights into large scale software development. The principal question the book tries to answer is “Why is programming hard to manage?”

Chapter 1 compares the creation of large and complex software systems to a primordial tar pit where animals got stuck and sucked down to their death. Chapter 2 introduces the mythical man-month and explains why it is a grave error to assume that man and month are interchangeable. A complex project that has delayed cannot be brought back on track by throwing more people at it. The learning time required for the newbies and the increase in communication will only delay the project further. Chapter 3 looks at one way to handle complex projects, by forming surgical teams where the surgeon (programmer with experience) takes center-stage and the others assist him. Chapter 4 preaches that conceptual integrity should be the prime aim in system design. There should be a clear division between architecture and implementation. Creating software cannot be a democracy, the core design has to come from the mind of a creator, an architect. Other members have to strive to implement this vision within the constraints of the design.

Chapter 5 cautions on the Second-System Effect, when all the features that could not be implemented in the elegant first system are crammed in, resulting in a incoherent, feature-choked and buggy system. Chapter 6 and Chapter 7 take the Tower of Babel as an example of a complex project that failed because of lack of communication and organization. All design specifications and changes should be written down and communicated or shared with other teams. Unnecessary communication should be reduced by suitably structuring the organization of teams and their responsibilities. Chapter 8 looks at various methods and fallacies of estimating how long it takes to deliver software. Chapter 10 looks at the importance of documentation, recommending that besides specifications the best documentation is well documented code since it is most easily updated along with the code. Chapter 11 recommends prototyping, a system written to be eventually thrown out. Chapter 13 prescribes what we today called unit testing on components, regression testing on changes and system testing on integration.

The original book published in 1975 had 15 chapters. I read the 20th anniversary edition published in 1995 which has 4 new chapters. Chapter 16 is the famous paper by the author titled No Silver Bullet. This paper was published in 1986, and the author argued that no matter what magical development happened in the next decade it would not increase productivity in software development by an order of magnitude. I had not read this paper earlier and found it very educational. Hidden in sections of this paper are simple and accessible descriptions of OOP (Object Oriented Programming), AI (Artificial Intelligence) and Expert Systems. In Chapter 17 the author takes on the criticisms to No Silver Bullet that appeared after that paper was published. This chapter does not inform much and can be skipped. Chapter 18 is probably the most important one for the reader who has arrived this far in the book. It is a summary of all the earlier chapters and IMO acts like a quick lookup when the book is later used as a reference. In the final Chapter 19, the author looks back on the 20 years since his book was published.

Some books are indeed timeless. Not only is The Mythical Man-Month still relevant, it is still interesting to read. The chapters are peppered with quotes and woodcut figures. Examples from OS/360 and other projects from that era are eye-opening and educational from a historical perspective. The book left me wishing I had read this earlier or had this text in the Software Engineering course in my undergrad. I had been putting off this book for many years now and finally bit the bullet since it is one of the texts in the Software Engineering course I am teaching at university. In my opinion, The Mythical Man-Month is the most important book in software engineering and an essential read and reference for everyone involved in this career.

My notes from this book can be seen here.

Milana (ಮಿಲನ)

Rating: 3/4 (An endearing romantic drama.)

Milana (ಮಿಲನ) is a 2007 romantic drama starring Puneeth Rajkumar and Parvathi Menon in her debut role. Akash (Puneeth) marries Anjali (Parvathi) as per his parents’ wishes, but is shocked when she asks for a divorce immediately after. She had married Akash out of parental pressure, but is only interested in finding and living with her now-missing lover Hemanth. Akash takes the situation in his stride, working towards the divorce, which they find out takes a few months to obtain through the Indian legal system. In the meanwhile they have to live together, which is not easy since they are always fighting each other. They mellow down with time and become good friends as Akash helps Anjali find her lover Hemanth and Anjali too discovers that Akash was in love with another gal before his marriage. The climactic moment arrives when their divorce papers are finally ready and they need to sign off on their legal separation.

Milana is a breath of fresh air in Kannada movies! The principle duo and the supporting cast have all acted well. Puneeth and Parvathi make a beautiful onscreen couple and I might catch more of their movies. The story is interesting, though the comedy baggage and the couple of fights could have easily been buried. The music by Mano Murthy and the heartwarming lyrics by Jayant Kaikini go along great together. I loved the tracks Male Ninthu Hoda Mele and Ninindale. Directed by Prakash, Milana is an endearing romantic drama in Kannada.

Akash (ಆಕಾಶ್)

Rating: 2/4 (Akash is a ho-hum poor-guy-meets-rich-gal movie that can be avoided.)

Puneeth Rajkumar is the most successful actor in the Kannada movie industry right now. Akash (ಆಕಾಶ್) is one of his early movies, released in 2005. I got interested to watch it after I came away pretty impressed by his recent movie Milana with Parvathi Menon.

Akash, as it turns out, is the typical poor-guy and rich-gal love story. Every actor in India seems to have a few of these dull movies in their filmography! Akash, the protagonist is a good Samaritan and Ramya, the rich-gal has a pair of villainous brothers. Throw in some situation comedy, a few songs and a fight every half hour and you have the movie. Puneeth’s acting is amateurish and his voice is grating. The music is pretty insipid, save for the one song which I like: Neene Neene. Directed by Mahesh Babu, Akash is a movie that can be avoided.