Thursday, November 16, 2017

Shimoga to Sringeri


Shimoga or Shivamogga (originating either from Shiva-Mukha: Face of Shiva, Shivana-Moogu: Nose of Shiva, Shivana-Mogge: Flowers to be offered to Shiva or "Sihi-Mogge", meaning "sweet pot), is a scenic town on the banks of river Tunga, the gateway of Malnad.

A road trip from Shimoga to Sringeri, to visit the Sharada Peeta established by Adi Shankara proved a spiritual joyride en route lush green paddy fields, arecanut and coconut groves.

Adi Sankara is believed to have seen a snake protecting a she-frog from the hot Sun during its labour here. Overwhelmed by the sanctity of this place, he founded the Sharadamba Temple in the 8th-century, the first of the four mutts that he established pan India.

Passing through Thirthahalli, the Neolithic archaeological site, one recalled two popular legends:

At the behest of his father Jamadagni, the sage Parashurama beheaded Renuka's head with an axe. He tried to wash the blood stains off the axe by dipping it in various rivers, but a sesame-sized blood stain remained, until he dipped his axe in Tunga near Thirthahalli. From this Parashurama Thirtha, came the name Thirthahalli. According to a Ramanaya legend, Maricha (in deer form) was killed by Lord Ram near Thirthahalli, at a place which was named Mrugvadhe (killing of a deer)

Shivmoga is a tranquil place, with a bustling bazaar, cheerful people and a rich collage of mandirs and masjids, invariably built adjacent to each other. Scenic waterfalls, majestic hills, dense forests, landmark forts, swaying palms and paddy fields...you find them all in this region which was ruled by Kadambas, Gangas, Chalukyas, Rastrakutas, Keladi and Vijaynagar Kings. More than a tourist destination, Shimoga is an industrial town and an educational hub.




Saturday, November 11, 2017

A byte of an Eternal Dream


Meet Swaroop C H, The Dreamer



Engineering manager, Machine learning, Helpshift, San Francisco,

Author of A Byte of Python and A Byte of Vim
Passionate Runner, Trekker, Cyclist
A round peg in a square hole, Rebel with many a cause and not a single pause (like his mentor and Helpshift co-founder Baishampayan BG Ghose)


Was programming a conscious career choice?


Yes indeed! I have fond memories of my introduction to computers at school. We had a computer lab class, probably in the 7th or 8th standard, where we were taught Logo. I was simply blown away when I typed in something and it did something! By the time we made it draw triangles and circles, I was hooked. I knew this is something I wanted to pursue life-long. And I would say, that pursuit, which has now manifested into an aspiration of becoming a good programmer, continues to this day. Mine was a typical middle-class upbringing. My grandfather and father were both doctors. I was sure the medical profession didn't suit me, so I was glad that I found my calling in the equally radical field of software.

Your entrepreneurial strides are beyond doubt phenomenal. How did it all unfold?

That's a lot of memories we are talking about! I feel I must elaborate in terms of milestones:

Early Entrepreneurship
I studied B.E. Computer Science at PESIT in Bangalore. Looking back, I feel blessed to have joined this college, as also my batch. My classmates were an enterprising bunch and I learnt a lot from them. It was here that I met my project partner Yashwanth C P (now a senior engineering manager at Amazon). Yashwanth was an entrepreneur at heart. When I showed him my CD burner one day, he came back with an idea, of downloading Linux ISOs, burning them to CDs and selling them. We were not sure if we'd make any money this way, but hoped to meet interesting people at least, which did happen! We ended up shipping CDs to far-off places including Mombasa in Kenya. This was about 12 years ago, when Internet bandwidth was truly expensive and much slower.

College MySQL experience
During my B.E. 6th semester at VTU, we had a DBMS lab for practical application of database concepts and SQL. Going against the prevalent student norm of using pirated Oracle and VB copies, Yashwanth and myself decided to tread a different path. We were big open source fans by then, and our personal manifesto had no place for Windows programming (No offence meant to Windows and its users)

Coming back to DBMS lab, both of us sought to do a "real world" project, and finally zeroed in on creating a medical lab management software for a doctor uncle. We were absolutely thrilled when he insisted on Linux. This preference was unexpected, coming from the user side. We worked on the "analysis" and database design during the pre-semester vacation. I called our brainchild Diamond which stood for DIAgnostic Medical centre OrgaNizing Device. Our chosen database was MySQL since it was easy to get by, at that time. For our GUI toolkit, I preferred GTK but Yashwanth was adamantly in favour of Qt. Finally, I had to relent, and, in hindsight, I feel it was a good decision. We pored over the tutorials to feel at home with the rocking Qt Designer.

While registering our project details, our teacher asked us not to use MySQL, belittling it as a small utility in Linux to store data. He recommended Oracle. We took several moments to recover from the rude shock and when we did, I vociferously fought the MySQL case citing its wide industry application. When he refused to budge, we escalated the matter to the Asst. HOD who posed a fresh round of resistance. After a grueling duel, he ultimately gave up, overwhelmed by the sheer weight of our conviction. That I had a rapport with him also helped.
We had an awesome time learning MySQL and Qt. The demo in our lab exam went well and our invigilator was impressed. Unfortunately, after all that hard work and tenacity, my uncle never used Diamond due to reasons beyond my comprehension. Nevertheless, I was glad that I did the project because I learnt a lot which has kept me in good stead.

Yahoo escapades
I remember asking our department's Assistant HOD whether our semester laboratory internals tests could be postponed so that we could attend the 2003 Linux Bangalore. He shooed me away from his office. My partner Yashwanth and myself wished to be at Linux Bangalore at any cost. So, on the first day of the event, we reached our college lab early and requested Shrividya ma'am (she was a GCC contributor in the early 90s) to have a look at our project right away so that we could reach the venue in time. Fortunately, she agreed and sent us off even before clearing the prior batch projects. Hopping on to our bikes, we reached IISc and had a terrific time there. The Miguel-and-Nat show was the highlight of course, and I relished every moment.
Later that day, we rushed back home for our Perl/CGI project due for submission the next day. We had made no progress on the project for the whole semester, thanks to our time spent for the (erstwhile) LinCDs.com where we sold CDs with Linux at cost-effective prices. We made the CD website venture our term project the same and since it was already running live, we tweaked it to make it VTU-compatible in just a few hours.

The next day of the Linux event, Yashwanth parked himself at the Yahoo! booth while I was glued to Miguel and Nat. Eventually, he got into Yahoo! interviews and eventually joined as an intern. During his interviews, he mentioned our LinCDs.com venture. The interviewers were (sort of) impressed and when they learnt I had written it, they asked me to send my resume. I then got into the programming tests. When I was asked to write a shell. I was happy I got a problem which I had some clue about.

I was asked to implement program execution, tab completion and a history, and was given any choice of language (the platform had to be FreeBSD though), and about 3-4 hours of time. So, I chose Python and although they were surprised, they asked me to go ahead. I struggled for nearly 2 hours trying to get character-by-character input working! I just didn't know how. I finally asked Kalyan (who was sitting in the same cubicle as me) whether I could use the internet and he said of course. Duh! Then, in two seconds Google (yes, Google) led me to a Python Cookbook recipe which solved the problem for me. After that, it was a piece of cake to use the os.spawn method to run the commands, used os.listdir to get the directory contents for tab completion, and finally just used a list to maintain history. I was so relieved that I got it working.
When a different set of interviewers came to ask me about the implementation, they were surprised to know that I wrote the program in Python and even wrote a "book" on it. A funny moment was when they asked how much history I was maintaining, and I said unlimited, because the Python list can store as much as the computer's memory allows, and they didn't quite expect that, mostly because they were used to #define SIZE 100 in C++ programs written by other students. So, that's the story of how I got into Yahoo! It's interesting how it all started with Yashwanth and myself playing around with Red Hat 7 Linux and getting interested in open source...


Days of ‘Ionic’ bonding

Ion was a hardware that a few friends and I built and sold. It was a wall-socket charger for the iPod. Back then, the iPod came with only a wire that connected to the USB. If you needed to connect to a wall-socket, it would cost a bomb, something like Rs. 1200. We made and sold one for Rs. 400. The parts were bought and manufactured in Bengaluru itself. I handled the ecommerce side of things. We sold well only with minimal media publicity. We thought we could do a lot more and incepted IonLab. Sadly though, we were guilty of a few typical startup blunders and folded within a year.



Few Ionic (read Iconic) lessons that Swaroop feels duty bound to share with the community:

Stop reading. Start doing.
Simply reading A-Z of books and essays is not important, you must internalize the learnings by testing it out on the field and realizing the value for yourself, instead of exclaiming "that makes sense" and forgetting about it a few minutes later.

Empathy matters.
For someone to gauge the depth of what you are going through calls for the key element of empathy, which in turn merits a deeper understanding of the context, which in turn comes about best only with personal experience of having walked on the same forsaken path. Else, even friends-who-know-you may not get you, even though they are intelligent and mean well. Now imagine how much empathy you should have for the motivations and work life of your customers!

Business is not a big deal, it's only a mindset.
Doing a tech business means you should know both tech and business really well.

Focus matters.
Maintain good relationships with partners, vendors, mentors, and all other folks that you meet in the course of your business. Don't look at these relationships as opportunistic, look at it as an opportunity to co-create and learn. Track your cash flow. Yes, you will earn millions later, but if you don't have money now, you'll die. You may not realize that the single highest factor why startups die is because of bad cash flow.

Don't trivialize any aspect
Whether your legal company paperwork or your project timelines or thinking long-term as well as short-term, or networking with similar folks…don’t trivialize anything! Tech people think technology is everything and other people have it easy. I learnt the hard way that "Easy is a term you use to define other people's jobs." I have a lot of respect for marketing and sales folks now. They have a really tough job, because it is about tenacity and psychology, compared to tech work which is write-once and scalable.

Have a sense of urgency
For every decision (and you will have a lot more of them than you realize), make sure that you do due diligence but at the same time, have a sense of urgency.

Bottom-up always wins
This is the single most important learning, if I had to pick one. Time and again, I've observed that bottom-up always beats top-down approach to problems. Note that I'm not discouraging you from planning, but I'm discouraging you from focusing purely on the plan. The plan is a guide to your actions, you should not spend more time on the plan vs. the actions and results!
As Linus Torvalds says, "Software is grown, not built." Mull that!

Learn to accept failure before defying it
You walk into a new restaurant, and try the food. It can be good or bad. But you still have to pay the bill! You don't know whether your effort is going to succeed or not, but you still have to put in the effort. The problem with most people is, they don't want to risk eating bad food, that's why they keep going to the same restaurant, even if they are bored of it!

When to call yourself an entrepreneur
I have this personal demarcation that I will call myself an entrepreneur when I have
(1) created something new
(2) made money.
Until then, I'm only a startupper (someone who has done or been in a startup).

Realm of Infibeam
I joined Infibeam to work on the Build-a-Bazaar platform (like Shopify). I had great fun there. I, along with two co-founders, built the architecture. It's heartening to see that Infibeam launched an IPO last year, largely soaring on the success of the Build-a-Bazaar platform.

Freelancing stints
After Infibeam, I got into consulting because I was yearning for flexible timings. I first went on memorable jaunts during this period: Bengaluru to Mysore road trip for a half-marathon, visit to Mulki for my wife’s surfing lessons and a Goa vacation for chilling out.

Joshua Schachter
Rejuvenated after the break, I went into consulting mode and worked with Joshua Schachter, founder of del.icio.us, the bookmarking website which made “social filtering”, “tagging” (at the same time as Flickr) and “Web 2.0” common buzzwords. I stumbled upon his tweet calling for remote Python developers for his pet projects. I responded, and we exchanged many a great idea. Over time, what interested me the most was not the idea itself but rather the evolution of the idea while iterating over prototypes and how Joshua creates this evolution. It’s been fascinating to be a “fly on the wall” in this process.



The first project was ClueDB, a “tips and tricks” website, or a “lifehacker, by the people” as I like to call it. Built using MongoDB, Flask, my flask-boilerplate project, HTML5 Boilerplate, jQuery, jQueryUI, Twitter/OAuth integration, and Fabric. Standard stuff. The latest project was StackParts.com - a simple catalog of parts for a web stack so that developers can weigh in their options and discover new ones for their next webapp. Built using Tornado, Python, Fabric and YAML files as the NoSQL database. This project was again interesting for the use of tags to organize projects and their relationships, evident on any project page on stackparts.com.

NextDrop
NextDrop was seeded by a group of Berkeley students including a Ph.D researcher in environmental science. One of the team members, Thejovardhana Kote did his masters thesis on NextDrop and made the initial prototype. Eventually he had to make the hard decision of moving on to something else and he asked me to step in. Since I had just then made the decision of freelancing, it was perfect for me to earn money as well as make a social contribution at the same time, so I readily agreed.



NextDrop gathers water supply information from the valve men through SMS and IVR and disseminates the information to residents of respective areas. What’s so critical about this broadcast, you may ask! Well, outside of major cities, water gets delivered once in several days, and on those “water days,” someone (usually the women) has to stay back and ensure to collect enough water. They usually don’t have enough water storage capacity for that many days and end up having to collect as much water as possible in vessels and pots.

Registered users of NextDrop spread across Karnataka get an advance intimation text message on their phone informing them of the time of water supply in their area. Users can also ask for specific information related to water supply through an SMS. It took me some time to figure out a different domain (SMS, IVR, non-computer-literate users) but eventually I got the hang of it. The challenge for me was to get the system to a production level and subsequently, I embarked on a complete rewrite of the system.

In ‘Auto Shift’ mode - Automatic and Helpshift

Since I knew Thejo Kote from my NextDrop stint, I joined him in his next adventure Automatic.com which was a "FitBit for your car": studying and analysing car performance, diagnosing issues, tracking trips & miles for business and the like. I worked here for a good five years – 2.5 years remotely from India, and 2.5 years in San Francisco when the team grew from 6 to 60. Automatic was acquired by Sirius XM this year, which was a big event for us.




My recent career path has been bizarre given that it’s gone furiously back and forth, in ‘Auto Shift mode’ literally: Automatic (India) to Helpshift (India) to Automatic (USA) to Helpshift (India)…



I first joined Helpshift because my wife and I got to know we are having a baby and we didn't want to move continents during this time. Automatic came back to me the very next year and urged me to join its San Francisco team. We took the hard decision of leaving Helpshift and moved to the US, not wanting to miss the illuminating experience of life in different country and environment. In hindsight, I'm glad for having done so as it proved momentous. We learnt a lot more about ourselves and what we seek from life, as also met many great people.

Baishampayan Ghose (BG), my friend, mentor, and co-founder of Helpshift, moved to San Francisco soon after and formed a new team focused on machine learning. When he asked me to be a part of it, I immediately said yes, because I was happy to be back with the Helpshift team again. They're an awesome lot, astutely assembled by the Helpshift co-founders Abinash Tripathi and BG.

You are distinctly open source in conviction and character. What drew you to the movement?


I was instinctively drawn to the movement, thanks solely to my seniors at PESIT, like Kalyan Varma, who introduced us to Linux and free & open source software.

I simply loved the idea of free software, where it is licensed under a copyleft license which guarantees you the freedom to run it, and that people who make changes contribute back those changes to the software, thereby enabling improved versions for community use.
In hindsight, I wish I had spent a lot more time reading code in depth. For instance, I contributed towards SQLite support in Django long ago, but I feel I should have delved deeper in the Django project. College students these days have the right idea and initiative, thanks to Google Summer of Code.

How did the thought of writing books on Python and the Vim germinate? Any new books in the offing?

My first brush with Python happened when I needed to write an installer for enabling Diamond installation. software I had to choose between Python and Perl bindings for the Qt library. I did some research on the web and I came across an article by Eric S. Raymond, a revered hacker, where he talked about how Python had become his favourite programming language. I also found out that the PyQt bindings were more mature compared to Perl-Qt. So, I zeroed in on Python. This prompted a new search for a good book on Python. I couldn't find any! I did find some O'Reilly books, but they were either too expensive or were more like a reference manual than a guide. So, I settled for the Python documentation which was too brief. It did give a good idea about Python but was not complete. I could work with it given my programming experience, but it was unsuitable for newbies.


When I installed the (then) latest Red Hat 9.0 Linux, I was playing around with KWord. I got so excited about it that I suddenly got the idea of writing some stuff on Python. I wrote a few pages, that soon became 30 pages. This rapid progress inspired me to capture the writing in book form. After a lot of rewrites, it has reached a stage where it has become a useful guide to learning the Python language. I consider this book to be my contribution and tribute to the open source community. In the true spirit of open source, I have received lots of constructive suggestions, criticisms and feedback from enthusiastic readers which has helped me improve this book a lot. It needs the help of its readers to point out any parts of the book which are not good, not comprehensible or are simply wrong. (drop a Mail to blog@swaroopch.com or post a tweet to @swaroopch)

After the Python book, several years later, I wanted to learn to use Vim in depth, so I read the mammoth documentation and then proceeded to explain it in my words, and it became A Byte of Vim. Interestingly, after writing that book, I was quite disillusioned with the VimScript scripting language.

Several years later, when I joined Helpshift, backend code was written mostly in Clojure - Clojure and other Lisp languages are best written with Emacs, so I was introduced to Emacs and I enjoyed the Elisp scripting language. After that, the Spacemacs project commenced, and I loved the idea of preconfigured Emacs with "batteries included". Spacemacs is a new way to experience Emacs -- a sophisticated and polished set-up focused on ergonomics, mnemonics, and consistency. I contributed many changes to the Spacemacs project, and I'm now an ardent user of Spacemacs & OrgMode. In fact, I wrote this text using OrgMode.

There are no plans of writing new books as of now. If I see a "beginner's guide" gap in some other project and field that I know in greater depth, I might take up that challenge. Until then, I am content with reading, learning, and implementing.


How was the environment at Yahoo during your intern days? Any specific learnings?


Yahoo! Bangalore in 2004-2006 was one of the best environments I ever worked in. Simply because of the immense talent of people in that small office back then, and the steep learning curve that I was rapidly taken through. It made me realize the value of the first job in any career. If things go right, it sets your trajectory in the right direction. I was lucky that Yahoo! happened to me. I hope more college students acknowledge the importance of the debut job, and then research and plan meticulously.


Could you describe your current role in the Helpshift machine learning team?


After attending a remarkable AIFrontiers conference in Santa Clara, California, I enrolled for the Udacity Deep Learning course, slogged through it and successfully graduated.

The good part about the course was the weekly schedule of lessons and projects. As I keep saying to friends and colleagues, nothing in the modern world ever gets done without a deadline. The bad part was that the course was literally being built while we were enrolled, so we would see a mad rush by instructors to write and create content every week for the upcoming week, which was okay by me, because introducing a topic that has only become feasible in recent years and making it accessible in a way for people who don’t have PhD in machine learning, is tough and I was grateful. Getting introduced to data science, machine learning and deep learning in a few months has been a grueling and happy experience.

Just when I was thinking of venturing into machine learning space for actual work, my mentor BG offered the Helpshift opportunity. It was a no-brainer to say yes. At Helpshift, we are focused on building a machine learning platform to enable our data scientists to do more and better experiments, and take it to production. We believe in a strong engineering mindset, also applies to data science, and we take inspiration from papers such as those by Google.

What in your reckoning are the top machine learning challenges? Both from demand side and supply side?

We feel Machine Learning challenges lie in the ability and agility to think in terms of right tool for the right job, reliability, explainability and intuitive user experience. Currently, AI is being oversold and unfortunately not all of it is substance. There’s a pressing need to rightsize expectations about what Machine Learning can do and can’t do. For example, there’s so much buzz around new ML algorithms, but few realize the real need is lots of manually labelled data, which is what makes the magic happen. I also find ethical usage of Machine Learning a huge concern.

On the demand side, proper engineering from feature engineering to training to monitoring are key aspects. AI readiness is as important as AI. On the supply side, there’s clearly a talent shortage. But the situation is gradually improving.

Any courses that you would recommend to aspirants?

Udacity Deep Learning course and Fast.AI courses are definitely a good idea. Beyond that, I believe in what BG says "Read papers. Read code. Read history."

Would Python play an integral role in the fast-evolving ML revolution - how does it compare with MATLAB/Octave and R?

Yes! Data Science world has mostly converged on Python in the form of Numpy, Pandas, SciKit-Learn to TensorFlow, PyTorch. I don't have commensurate knowledge of Matlab and R, so I can't compare. What I know is that if someone is getting started on data science now, there's a 99% likelihood that they will start with Python.

Given your Python credentials, any plans of authoring a book devoted to say SciPy stack or the scikit-learn framework.

Nope. The greats have already done that, e.g. Python for Data Analysis by Wes McKinney and Python Data Science Handbook by Jake VanderPlas. Those books are so good, there's no way I can better that. There’s no need either.




Any life mantra you deeply believe in?


I'm currently reading the Daily Stoic book by Ryan Holiday, and I have found so many invaluable lessons and insights into stoicism, an ancient Greek philosophy. It's such a practical approach to day-to-day life, there's no talk of heaven or hell or other things that are not relevant to day-to-day life.

I feel, irrespective of the situation, we should learn to pause and examine. If the situation is in your control, decide what to do about it, do it and stop worrying. If it is not in your control, there's nothing you can do anyway, so don't worry! To summarize, either decide the action or be indifferent. There's so much to do to improve ourselves - whether at the workplace or back home. If we mean business (and mind our own business), we won’t have the time to waste on worry, anger, and other negative impulses. Easier said than done, of course, but we should put this philosophy into practice right away.

Saturday, November 04, 2017

Shottojeet Shongeet


"Ray's music is imaginative, not melodramatic, balanced, not exuberant, functional, not decorative. It is music that grows from the film itself",

- Utpalendu Chakraborty, The Music of Satyajit Ray



For someone who believed film music was largely extraneous, "an element that one should be able to do without", Ray's musical body of work would, rather should, inspire even veteran composers to collectively raise the bar rather than blow their own trumpets.

Check his background scores of Teen Kanya, Aranyer Din Ratri, Pratidwandi, Seemabaddha, Jana Aranya, or,

the Goopy Gayen Bagha Bayen and Hirak Rajar Deshe numbers like ‘Dekho Re Nayan Mele,’ ‘Ek Je Chilo Raja’ and ‘Mora Dujanae Rajar Jamai.’ or,

kishore's immortal Rabindrasangeet renditions 'Ami Chini Go Chini' from Charulata and 'Bidhir badhon katbe tumi' from Ghare Bhaire, or,

astute innovations like playing Sibelius backwards in line with the filmic demand of Jalsaghar, or,

his command over different instruments including violin, cello, guitar, flute and even the timpani drum, or,

the highly engaging 'Bhalo bashar tumi ki jano' from Chiriakhana,

the music of each film grows from within, just as it should. Else, Ray was indeed capable of producing scores of musical classics, had he chosen to compose music for the sake of music....


Bollywood music director teams of all makes - solo, duo or trio - take your cue from Ray, and if you do, you might want to revisit many of your numbers that you and your listeners cherish as your life work! You never know, they might get a new lease of life.


Monday, October 30, 2017

Champion of Distance Education


Recalling a dated interview with Secret Superstar director Advait Chandan.


Pic courtesy movietalkies.com

Frankly, expected much more from Chandan's debut effort...but he simply prefers to pedal the TZP cart in self-congratulatory fashion. Despite Aamir looming large in what was a foregone conclusion, there was enough Chandan could have done to protect the tender cocoon of the story which begins well.

Among the artistes, kudos to Raj Arjun and Tirth Sharma for their stand-out performances - super actors. Zaira is outstanding but I fear she may lose her way with all the attention she's getting. That would be tragic for she still has untapped potential.

Anxiously waiting for a film where Aamir the actor touches the heights he truly deserves.

Here's the Chandan interview courtesy: https://www.indiainfoline.com/article/lifestyle-art-approach/champion-of-distance-education-113111800117_1.html


Still only in his vibrant twenties, Advait Chandan has come a long, winding way in tinsel town - from being just another creative kid of starry eyed ambition to becoming the whole and sole manager of India’s non-conformist super star, actor-producer-director Aamir Khan. His unconventional voyage of umpteen trials and triumphs only reinforces the time-tested belief: that conviction unleashed is mission accomplished. The lanky, bearded unassuming young man spoke his mind in a freewheeling breakfast chat with Sudhir Raikar at Bandra's idyllic pub Just Around the Corner (now renamed Eat Around the Corner).

Advait’s growing years were seeped in creativity. “Thanks to my mom and dad, I became aware of the potent possibilities of creative expression at a tender age, when they got me hooked to the wonderful Prithvi Theatre workshops” he reveals. Learning about theatre and activities like mask making from age 11; he left his indelible mark in most workshops. One of the faculties Neeraj Kabir soon got him to volunteer for back stage and production work. Now, he was doing his bit to stage all kinds of performances - from theatre plays to music concerts. “I was only 16 and yet, I was exposed to the intricacies of production. I couldn’t have asked for more” he says.

Advait’s father, a noted SAP consultant, though happy with his son’s creative exploits, urged him to look at software as a potential career post matriculation. But Advait was intent on Arts and that too, only at St. Xavier’s, Mumbai. His father’s logic was simple: Get the threshold 80 percent and you are free to get into Xaviers” To his father’s disbelief and delight, his academically average son secured 81 per cent in the board exams. As luck would have it, Xavier’s closed the list at 82 per cent that year. Yet, Advait managed to get through, thanks to his father’s grit and gumption in gatecrashing into the principal’s cabin with Advait’s 8th, 9th and 10th mark sheets to substantiate his son’s ‘big leap’ in matriculation. “He will make your institution proud” was the honest plea. The principal surely would have been moved, given that he eventually made a sweet exception to enroll Chandan junior as a special case.

But once he was in, Advait’s inherent aversion for classroom learning only strengthened his affinity for extra-curricular activities especially the Malhar Festival. For one of his experimental creations during Malhar, he roped in celebrated adman Pralhad Kakkar as the judge. Thrilled at what he saw, Kakkar dropped his Genesis Films card and casually asked Advait to keep in touch. Kakkar soon forgot all about it, Advait did exactly what he was advised… a tad more diligently than what Kakkar would have imagined. After several failed attempts, Advait finally saw Kakkar succumb in inimitable style “Let it be loud and clear that you are not my assistant, you’re my slave, and slave no. 4 at that”

Advait had no reason to complain and thus began his bizarre tryst with advertising. He was rechristened as Mojo, the convenient man Friday on all days across all projects. Needless to say, he sacrificed his Xavier’s attendance in the process. He eventually dropped out of college to take the plunge in the chosen sphere. The melodramatic entry into Xaviers thus paved the way for an unceremonious exit. But Advait was extremely happy with his new, non-formal university of learning.

“What I learnt and the manner in which I did could have happened only at Genesis. Prahlad makes you do anything and everything – from production, lighting and casting to sourcing, logistics and travel arrangements, notwithstanding the occasional threats to make you clean toilets as well. But he’s equally sensitive to your orientation, regularly intervening to help you grasp the finer aspects of the job. I was given rich exposure to all aspects of production. All my jobs were pretty thankless but very fruitful.”

Advait’s enthusiasm knew no bounds, whatever the job, transactional or transcendental. “I still remember the Lehar 7up commercial that was to be released in Pakistan. The plot involved a boy and a girl exchanging sweet nothings from across balconies facing each other on the same floor of opposite buildings. I spent days together, scouting for suitable locales in Pune, had them clicked them from all angles, painstakingly shot mock rehearsals and finally organized the real shoot in the chosen building, proactively befriending the society officials and inhabitants with ‘thank you’ letters, cakes and pastries.”

With time, Advait soon realized he was doing the same things day in and day out. Now, he desperately wished for greener pastures. During this time, he saw the movie “Dil Chahtaa Hai” and was possessed with a burning desire to work with Farhan Akhtar. His innocent ambition took him to the reception lounge of Excel Entertainment where he was given a brutal reality check.

“Banking on my ‘Genesis’ credentials, I offered to help the Excel team on their then proposed remake of ‘Don’. They ruled me out on the spot but with a sound advice. I was free to apply for another small budget movie called ‘Honeymoon Travels’. I promptly did the needful and got selected as a production assistant on a good stipend.

It was a dream break but things didn’t work out well to begin with. In fact, a goof up on the first day threatened to end his stint. It was the magnanimity of Zoya Akhtar that helped settle the dust in Advait’s favour. Since then, he has never looked back. In due course, he worked on several esteemed projects including ‘Taare Zameen Par’ (as assistant production manager) and a Dutch film ‘Bollywood Hero’ (as second assistant director). His moment of glory came in 2010 when he was appointed first assistant director for Kiran Rao’s directorial venture ‘Dhobi Ghat’. Rao was all praise for his contribution and ensured a coveted poster credit for him, the first ever for a first assistant director across the globe.

It was not long before the roving eyes of a certain rebel with many a cause and without a pause fell on him. Aamir khan offered him the opportunity to manage his professional schedule and affairs. It didn’t take much time for Advait on the deliberation. A thinking individual that he is, he was only too happy to play Boswell to a man who had arrived in life on his own terms, an alchemist of rare substance that media clumsily labels as a perfectionist. If Samuel Johnson was traced by Boswell’s pen and Satyajit Ray was captured in Nemai Ghosh’s photographic frame, Aaamir Khan has Advait by his side, as his diary and calendar.

“Each day is a learning experience with him, an avant-garde film school out in the open. I gain a great deal simply by observing how he interacts with the world around him. Most important, having heard from Aamir about me, my parents are now doubly reassured of my prospects in a field reckoned as uncertain terrain in the conventional sense” Advait remarks.

Advait’s ultimate aim is to turn a filmmaker. (With Secret Superstar, he has indeed become one though the debut leaves much to be desired)

Having already won accolades for his short film ‘Kala Khatta”, he’s brimming with new ideas and fertile concepts. His creative faculty is intrinsically tailored to take on filmmaking, given his exceptional resilience that defies age and experience as also his insatiable urge to move up the value chain. Having dropped out of college earlier, he managed to complete his graduation through distance education, a mode that he seems to have a natural affinity for. Whether backstage for Prithvi plays, as a set runner for Genesis Films or on the production floors of many a film, ad and TV serial, Advait has always been learning the ropes from a distance, gleefully simulating the periphery as his epicenter. A true champion of distance education…


Wednesday, October 25, 2017

We have moved


Dear Clients, Value partners and Associates,

Please note my new digital coordinates:
sudhir@fitforpurposecontent.com

I have duly informed each one of you individually
but this broadcast is for those I may have
inadvertently missed, and
who may be wondering
whatever happened to sudhir@studiorainbow.in.
This is possible in case
we have worked on one-off projects.

The rechristening follows my resolve to
rightsize my offerings and focus solely on
fit for purpose content development and
thought leadership communication.

After great deliberation, I have decided to minimize,
if not shun
the orientation workshops and role play sessions,
as they demand substantial time and travel,
which leaves little bandwidth for
fit for purpose content development.

I would still do select assignments
for those retainers where I have already committed
to a long term plan.

Looking forward to take our relationship
to the next level and collectively
move up the value chain.

Let's dive deeper to soar higher...

cheers



Friday, October 20, 2017

Happy Birthday Shammi Saab


Tumsaa Nahi Dekha



India Infoline News Service | Mumbai |

All his life, he defied age and ailment with the same rebellious spirit that shaped his melodic frolics on the silver screen. Today, he is no more but the legend called Shammi Kapoor lives on. Sudhir Raikar recalls one hallowed evening of sparkling interaction with the eternal style icon.

It was a seemingly desolate evening of June 2007. The downpour was steady if not savage. I reached his apartment in Mumbai’s plush Malabar Hill, a stone’s throw from the CM’s bungalow ‘Varsha’.The security at the entrance was astonishingly helpful, not the usual tight-lipped folks who terrorise you with their barrage of questions. I was quickly escorted to the modest living room which I presumed would stage a long wait before the man appeared.

No way, he was before me within minutes. Wheel chaired and weary from the thrice a week dialysis regime post his renal failure, his eyes still spared a twinkle or two for the non-entity guest representing a Mumbai tabloid. He took me to the adjacent room which he fondly called his ‘den’. In the two and a half hours that followed, he recalled his strife and success, grief and gratification of his life and times with remarkably detached introspection -...whether the formative lessons in theatre and classical music or the early rejection and dejection playing second fiddle to Bharat Bhushan and Pradeep Kumar, the turning point in the form of ‘Tumsa Nahi Dekha’ or the ensuing golden period of name and fame, the tryst with personal tragedy or the gradual fade out of the popular image... The only instance where the emotions flowed unchecked was when he spoke of his celestial chemistry with singer Mohammed Rafi. “Rafi was my soul” he exclaimed with moist eyes.

The eternal style icon relished talking about his past but refused to cling to it - precisely why he insisted that I used his present-day snap for the story, not the usual photographs from his yesteryear hits.

“Duniya ko pataa to chale mein aaj kaisa dikhtaa hun” (Let the world know how I look like today)

Shammi Kapoor won worldwide attention as a maverick star but the fact remains that he was also an actor par excellence - an aspect that was rarely acknowledged by filmmakers and audiences alike. Precisely why acting legend Naseeruddin Shah considers him as one of the most underestimated actors of Hindi cinema. But Shammi Kapoor shrugged off the accolades with characteristic humility.

“Bhai Mere, Acting is the forte of doyens like Dilip Kumar and Balraj Sahni. If I should get credit of any sort, it’s only as an inventive expressionist of music” he pointed out with child-like fervour.

A compulsive ‘Apple’ user for years, his obsession with the internet and the ‘Safari browser’ is well known. But even his ailment could not keep him inactive. During the later years, he took it upon himself to spread awareness on kidney ailments at forums organized by nephrologists and kidney foundations. And once in a while, he got rid of the wheelchair to speed his Merc to Lonavala for a rejuvenating drive. “I’ll do everything what’s possible in the given constraints” he said of his passion for driving.

After the interview, he generously kept in touch through occasional phone calls, sporadic emails and twitter PMs but lately, even the public posts were missing. He did mention the desire to pen his autobiography for which we were to meet at leisure some day. But destiny had other plans.

How I wish someone like Ranbir Kapoor - his grand nephew - digs the memoirs out of his den and publishes them as they are. Given the prolific speaker that he was, his written expression would surely be worthy of print and more important, of universal significance.

Every time I think of that wonderful evening, I remember the fag-end chat on his illness. When I mentioned about Pranayam’s healing powers as a possible antidote - Kapaal Bhaati and Anulom Violm in particular - he did a little boogie woogie in his wheelchair, mocking the breathing exercises with a smile.

“Sab kar ke dekh liya yaar, Koi farak naahi padtaa” (I have tried everything but to no avail).

That little dance act epitomises the indefatigable spirit of Shamsher Raj Kapoor - the musical non-conformist of timeless charisma. May his soul rest in peace!

Friday, September 29, 2017

A Macro View of Microservices - A Plain Vanilla Primer for Pragmatic Practitioners



The Litmus Test of Enterprise Tech: Change-readiness


Business change is constant and instant, Tech teams needs to be in start-up mode

Markets are getting wider, scaling out is the new norm, so is the adoption of emerging tech

Shrinking Time to Market calls for rapid development in distributed environments backed by continuous deployment

Microservices key value prop: Change-friendliness

Their contexts and boundaries are defined in terms of distinct business capabilities

They are right-sized, invariably small (think scope of service, not lines of code)

They are independently deployable in line with business needs: for instance a new feature or a bug fix would be deployed immediately as also tracked for performance and behavior.

Deployment decisions are choreographed in collaboration with service owners eliminating the need for orchestration across multiple teams which is invariably arduous.

Service owners are free to choose the technologies and persistence mechanisms for building and operating individual services with consensus agreement on cross team parameters like log aggregation, monitoring and error-diagnosis.

Services collaborate with each other using technology-agnostic network calls

They offer a cost-effective and low-risk test bed for evaluating the effectiveness of new technologies in production environments


What does that mean for business?

Scaling is ‘on-demand’ and cost-effective, in line with business needs

Independent deployment, with quick failure isolation and rollbacks, ensures quick value delivery to the market

Ready-to-deploy business capabilities make customer engagement more holistic across different channels

Smaller codebase means significantly lower risk and cost of replacing or rewiring software (vis-à-vis the typical monolith compromise of coping with core modules running on redundant technologies)

Microservices: Here’s the deal

How they deal with change in business requirements


Unlike in monoliths, responsibilities are decomposed in respective services defined by business capabilities, hence change affects only the given module, data segments are API-encapsulated while service overlaps are mapped through higher-order services or hypermedia


How they deal with business capability enhancements or modifications


Bounded contexts enable independent deployment of the impacted service(s) without disturbing business capabilities residing in other services. This eliminates the need for time-consuming and costly regression tests of the monolith universe.


How they deal with situations where business abstractions are dependent on low-level services outside their bounded contexts


‘API gateway’ inverts the dependencies between clients and microservices in this scenario. The secondary abstraction is declared by the high-level abstraction within its service interface, and is implemented by the dependant collaborating services through several means - reducing network chattiness, performing protocol translations, concurrently aggregating service responses and transforming service responses in specific end-user formats


A closer look at API gateways


In the microservice universe, a client’s RESTful HTTP request to individual services can be a painful user experience given the plethora of requests to different services.

Enter the API gateway which tailors APIs to client’s network capabilities.

For instance, a desktop client may make multiple calls while mobile client would make a single request. The API gateway will proxy finely-grained desktop requests to corresponding services while handling coarse-grained mobile requests by aggregating multiple service call results.

Outcome: optimized communication between clients and applications while encapsulation of microservice details.

API Gateways ease the evolution of microservice: whether two microservices merge or one is partitioned into two, updation would be made at the API gateway-level, the clients on the other side of the gateway would be impervious to the change.


Why Microservices call for Continuous Deployment

Microservices are highly amenable to change and continuous deployment makes it rapid and reliable.

Microservices make deployment easier, so that it becomes faster and frequent.

Faster deployment ensures faster feedback from the market.

Faster feedback ensures timely improvements – making it more responsive and secure.


Why Microservices and Polyglot Persistence go together

The microservice approach of multiple teams managing discrete services naturally implies database capability within each service, else coupling at the data level would defeat the very purpose of autonomy.

Using multiple data stores invites eventual consistency which is a known compromise in most businesses. Even relational databases settle for eventual consistency when data is sent to or read from remote systems like value chain databases.

Like how RDBMS uses event streams for constructing reliable views, the microservice world uses event sourcing for triggering service updates from ‘events to log’

The trade-off in favor of high availability becomes even more acceptable when compared to the Multi-Version Concurrency Control issues of the relational world.


Embracing Microservices: No cookbook in the kitchen


Every organization is different – you can’t mirror success stories, or even failures for that matter

How to ensure whether microservices are fit for purpose – the adoption challenge

Microservices demand a paradigm shift - Cultural, Structural and Functional

Compelling benefits come bundled with significant complexities


The Adoption challenge


Greenfield projects

When businesses need to evolve rapidly, the monolith environment may work best for managing small number of applications to deliver the firm’s competitive edge. Microservices however would be helpful to startups in building a minimum viable product.


Brownfield projects

When established businesses need to scale rapidly across large, complex applications, microservices becomes fit for purpose but given the tangled dependencies between applications, an incremental approach to the evolution is highly advisable:

Re-engineer applications based on business priority in phase one

Build API gateways to interface with monolith applications that talk to inefficient database models

Perform minimal database modifications to maintain stateful connections

Re-engineer balance applications in fast-track mode using phase one templates and components

Spilt monolith services into microservices

Normalize relational data models and embrace efficient database models using polyglot persistence


Getting in microservice mode


Pre-adoption Diagnostics


Defining core business capabilities for decomposition into services

Dissecting services in terms of business, processes, constraints, channels and data behaviors to be able to ‘group those things that change for the same reason’

Identifying capabilities to bridge skill gaps of technical team on emerging technologies and best practices


Building the Microservices organization


Aligning the technical architecture to the business organization

Defining service boundaries, appointing service owners and custodians based on optimal team size and maximum productivity.

Promoting autonomy of service owners while enforcing rules for and monitoring implementations of ‘what the services should expose and what they should hide’

Complexities can be overwhelming

Issues of an expanding estate

Host of services

Scores of Processes post resilience

Several Interfaces

Network latency

Network failures


Need for value-added solutions


Versioning and Message serialization

Load balancers and messaging layers

Remote procedure calls

Backward compatibility and functional degradation

Use of home-grown code and off-the-shelf products for high-level automation, roll-outs based on service dependencies

Asynchronicity

Need for solution-minded teams

Visionary technical architects, Competent Custodians, Highly adept DevOps team

Database professionals conversant with polyglot persistence scenarios

Intelligent co-ordination between teams

Democratic governance

Questions that demand credible answers… a partial list

How does one move forward in the absence of standards?

How does one form the Microservice team – domain experts, technical architects, emerging tech champions, networking wizards…How does one bridge the skill gap?

How does one choose technologies, techniques, protocols, frameworks, and tools?

How does one approach design, development and deployment?

How does one identify services?
How does one define service boundaries?
How does one chip off services from the monolith structure?
Why and when does one split services, merge them, or create new services?
How does one deal with service interfaces?
Is there a way to ensure a uniform way to call services?
How does one ensure the quality of code bases? small doesn’t automatically guarantee quality
Can one build coherence and reusability across different components?
How does one tackle the accidents post the ‘first version’ release?
How does one avoid versioning nightmares?
How does one adopt a culture of individual deployment s before evolving into continuous deployment mode:
given the monolith legacy of single unit deployments and regression tests


Summing up

Microservices are an evolutionary phenomenon, not a ready-to-deploy solution

Microservices will ensure measurable value to your organization only if they are Fit for Purpose – irrespective of whether the project is Greenfield or Brownfield.

Microservices Vs. Monolith is not a black and white David Vs. Goliath scenario both have distinct value props.

Microservices are naturally attuned to the virtues of heterogeneous data stores and Continuous Deployment

Microservice trade-offs should be guided by respective trade realities, not by the experiences of other organizations