EMBA Term 2 – Session 1 Notes

After a great study trip, and some relaxing summer holidays, second term of EMBA started on 9th Sep, 2016.


The first weekend we had Personal Leadership Development sessions. Friday started with a session on “Co-Active Leadership” by Judy van Zon – based on the ideas in the eponymous book.Judy explained the fives styles of leadership, viz., Front, Behind, Beside, Field, and Within. Each style embodies different values and style of leadership and should be used based on the context.

After the session, we had the Team Coaching. Each member of our team filled in the peer feedback and team feedback survey after our term. We rated our performance of the team consistently higher. At the team coaching session we learnt how to give feedback to each other and how to ask open-ended questions, which would help us in getting to know the new team members that we will work with for Term 2. After the session on Friday we got the details of the new teams.


On Saturday I started to work with our new team!


During first half of the Saturday sessions, we played The Management Challenge game with the new team. As a senior management team of a company, we selected various actions that affected the health of a company. It contained several rounds (years), after successive round we got the results of our actions. This game gave us an opportunity to get to know the new team members.

In the last session “Peer to Peer coaching and feedback”, Hetty Brand-Boswijk explained to us how to effectively give feedback to our peers.

My EMBA journey now continues with new team into Term 2, with upcoming subjects: Marketing Management, Human Resources Management, Financial Management, Operations Management, and Strategic Management. I’ll post the notes after every session, so keep reading!

Diary of a Dangineer: replaceAll vs. replace

In today’s Diary of a Dangineer1 I learned the difference between replace and replaceAll on java.lang.String the hard way.

My task involved sanitising large amount of data, by cleaning up some strings. So I thought this should be easy, and reached out to Spark. I wrote a small program that will merrily prance through bazillion lines of JSON stored on HDFS and will get rid of those nasty unwanted characters. I thought I should use replaceAll not
replace because, y’know, I wanted to replace all.

So this is what it looked like (Spark artifacts elided to prevent distraction):

Feeling happy with the code, I unleashed it on a cluster and left it running. Several hours and hundreds of Gigabytes later, I checked out the logs to see this stack trace popping up everywhere:

After a couple of WTFs, angrily punching the air, and going through the five phases, I read the documentation of replaceAll which stated:

Replaces each substring of this string that matches the given regular expression with the given replacement.

You see,String.replaceAll takes a regex as the first parameter, and it was compiling “(+1” to be a regex. I was supposed to use String.replace to replace to replace all when the the first parameter shouldn’t be treated as regex as evident in the code below:

Dangineer (n): An Engineer who works with Big Data, which is dangerously addictive.
Hey, Vijay is a hoopy Dangineer