Saturday, August 22, 2015

Today we complete the review of the book BRIEF by Joseph McCormack.
We were discussing the steps :
Map it
Tell it
Talk it
Show it.
He says as we get older, we tend to skip the outline for our message.This is a big mistake especially when the volume of information is huge to handle, distill or disseminate. Outlining keeps you prepared, organized, clear, contextual and confident. Visual presentations or outlining is increasingly in vogue today thanks to software such as  Mindjet.  Software like Mindjet and tools like Bubbl.us are appealing because they are visual logical and intuitive to use and share. This practice is called mind mapping.
A specific type of mind map is the BRIEF map which draws the focal point or headline for your communication:
B: Background or beginning.
R: reason or relevance
I:  key information
E: Intended ending
F: Expected follow up or questions
Brevity is all about preparation and pre-assembly. A BRIEF map is a visual tool that prepares you to be succinct.
The next step is to tell the message by using a story.  Even though we may not be a journalist, we should think like one in telling a story.  Key considerations of a great story include a strong headline, compelling lead paragraph, a clear sense of conflict, a personal voice, a consistent narrative thread, a logical sequence of events, character development and powerful communication. Storytelling is a way for the making corporate speaking more engaging.
The next step is to talk it.To talk it means you can have controlled conversations where two people are willingly talking and enjoying but being limited by time. A controlled conversation is a discipline and active listening prepares you with what matters most to the person you are talking to.
A TALC track is just that. - It is talk, active listening and converse. When somebody is talking, to let the person talk is very important.  To closely listen what the other person is saying with interest the entire time is equally important. And only converse or bridge to a different topic when a natural pause comes.
The last step is to show it. Its a powerful way to make a picture exceed a thousand words. Phonebooks, newspapers, printed menus and billboards are increasingly replaced by visuals. The author says that we remember only 10% of what we hear, 30% of what we read, and 80% of what we see. Using an image or a video with your story, keep it short, be mindful of time and quality.
Finally, we should gain the decisiveness to know when and where to be brief.
For example, Trim your meetings early when you know its done. Also, we can rethink the meeting and find new ways of engaging attendees. This could even be a standup meeting. And remove the tyrant voice - one that is dominating to the detriment of others.
Those who are loquacious on their Twitter or Facebook are training the world to tune them out. Social media is where the brevity rules. People are already finding different tools to present information. But the effort required to make quality posts cannot be ignored.
TED talks are an amazing forum to practice this. Their motto is "ideas worth sharing" and its the sharing part that gets tricky and they help you practice it. Everyone is in the business of buying or selling ideas so we must make our pitch appropriately.
Another example of brevity in action is good interviews. An interview candidate often makes the mistake of talking too much. Good interviews are just the right amount.
The same applies  to sharing good news. It doesn't need to be piled on as is the case in some corporate communications but it can be allowed to sink in. Likewise, give the bad news straight. Since they happen all the time, dispense with it and channelize your energy back into rebuilding.
Lastly by being brief, you discuss your own essence. 

Friday, August 21, 2015


Today we continue to review the book Brief by Joseph McCormack. The author calls out that people are already drowning in information around them, so much so that their only concern is how to survive. The ubiquity of access to information such as from mobile devices has inundated us with information even before the day has begun. Therefore our attention is already taxed. Although we may get verbal and non-verbal agreements, the message may not have sunk in. We have to understand the four forces that are constantly playing out against us.
These are :
Information Inundation : an ending flood of word, images, sounds and social media.
Inattention : ability to focus more than 10 seconds.
Interruptions: a steady stream of problems competing for our time
Impatience: a growing intolerance for results
You have to make it easier to consume and digest  the idea you are presenting. Lean communication is a new advantage.
Likewise the author continues to guard against the pitfalls of brevity.
1. Cowardice - you hide behind meaningless words instead of taking a clear stand
2. Confidence - you know it all and you are verbose to everyones boredom
3. Callousness - you are selfish and you don't respect other people's time
4. Comfort - you think those you are familiar with have time to spare
5. Confusion - you chose to think out loud when you are not clear yourself.
6. Complication - you feel some things are just too complex and give up
7. Carelessness - you are verbally sloppy and the people get confused even more
and the mental muscle for brevity is acquired with a plan of attack as follows:
Map it - BRIEF maps are used to condense and present succinct information
Tell it - A story summarizes and evokes much better response because it is compelling
Talk it - The TALC tricks (Talk, active, listening, converse) makes it interactive
Show it - Visuals and diagrams attract attention and capture imagination.

Thursday, August 20, 2015

Today we start reviewing the summary of another book which is fun to read. It is titled Brief by Joseph McCormack.
 But first a coding exercise
# codingexercise
Find the lowest common ancestor of two nodes in a normal tree ( not a binary tree ) where the nodes may not have links to their parents. Space need not be optimized but time has to be optimized.
There are couple of approaches as suggested by the  question
1) we find the least common ancestor as one whose children don't have both the nodes but it has both the nodes in its subtrees ( The HasNode(root, node) has to invoke multiple traversals and visits a node multiple times so this will not meet the second criteria)
2) We maintain two lists for the path to the nodes as we discover them. Then we look for the last node that is common to both the lists.
We implement the second.

Node GetLowestCommonAncestor(Node root, Node one, Node another)
{
If (root == null || one == null || another == null) return null;
var pathToOne = new List<Node>();
var pathToTwo = new List<Node>();
GetPath(root, one, ref pathToOne);
GetPath(root, another, ref pathToTwo);
return LowestCommon(pathToOne, pathToTwo);
}
 bool GetPath(Node root, Node target, ref List<Node> path )
{
if (root == null || target == null || path == null) return;
bool found = false;
path.add(root);
if (root == target) return true;
for (int i = 0; i < root.children.length; i++)
{
   found = GetNodePath(root.children[i], target, ref path)
   if (found) break;
}
if (!found)
    path.RemoveLast(root);
return found;
}
Node LowestCommon(List<Node> p1, List<Node>p2)
{
if (p1.empty() || p2.empty()) return null
int I = 0;
Node ancestor = null;
while (i < p1.length && i < p2.length)
{
if ( p1[i] == p2[i]) { ancestor = p1[i]; }
i++;
}
return ancestor;
}
Returning to the book summary:
This book talks about lean communication arguing that its the pressing need for time that drives to this new paradigm. And how do we go about doing so ? This book provides a step by step approach to getting to the point quickly and more effectively than ever. His proven BRIEF approach is  Background, Reverence, Information, Ending and Followup. The acronym doesn't merely simplifies and clarifies communication but also air tight the space in which decisions are made so that sloppiness does not creep in.
The book recognizes that in some circles a tendency to think brevity is pushing for less and runs the risk of being superficial and lacking substance. However brevity starts with deep expertise. Only with thorough knowledge can you accurately make a summary. Being brief can demonstrate how you have gone through that learning experience.
The steps in this book are described next.

Wednesday, August 19, 2015

#codingquestion
Given a set of braces or parenthesis in any order with openers defined as [ { or ( and closers defined a s ) } ] , write a function that determines if the brackets are in the correct order.

public book Validator(string input)
{
var brackets = new Stack();
for (int i = 0; i < input.length; i++)
{
 if (input[i] == '[' || input[i] == '{' || input[i] == '(')
{
  brackets.push(input[i]);
}
 if (input[i] == ']' || input[i] == '}' || input[i] == ')')
{
if (brackets.empty()) return false;
var last = brackets.peek();
 if (input[i] == ']' && last != '[') return false;
 if (input[i] == '}' && last != '{') return false;
 if (input[i] == ')' && last != '(') return false;
brackets.pop();
}
}
if (brackets.empty() == false) return false;
return true;
}

Today we take a moment to discuss topic identification and noise clusters. When the topics are clustered by their distance to the centroids while simultaneously weighting the keywords as explained by Frigui, Nasraoui et al., there is a formation of noise clusters that tend to group all the outliers leaving more cohesive clusters behind. Since it attracts all the outliers, only the documents that are similar to the other clusters will remain in their own clusters.

Tuesday, August 18, 2015

Today we conclude the review of the book Thirteeners by Daniel E Prosser. We discussed how to benefit from chaos by embracing the creativity and innovation that comes up against this feel of disequilibrium. With Chaos comes transformation.  The fastest way through transformation is to adopt the three concepts of the Breakthrough Solutions Framework
BSF Concept #1 : Perspective is everything and changing it eases Transformation
BSF Concept #2 : Since your circumstances won't change, change your relationships
BSF Concept #3 : All actions and results in business are determined by memes.
Setting the stage for your transformation requires you to pay attention to the following:
vision - overreach for a goal
awareness - disconnect your future from past
strategy - uncover the execution gaps
accountability - establish an accountability
and a culture of connectedness - contributions, acknowledgements communication and gratitude.
To help with the vision, we have to evaluate the past and break from it.  Further we have to declare and map the future with the design of principles and goals and finally what is ultimately possible in that future and identify the overall outcome we are committed to.
To help with the awareness, we have to stop the mistakes of the past. The memes are evidence of the mistakes in the past. Determining the future then is a lot simpler in avoiding these.
To help with the strategy, we need to mind the gap. The gaps are visible in what the military calls as reverse salient which are backward bulges on a forward advance due to enemy strongholds. These identify the weaknesses we need to overcome.
To help with authentic accountability, we understand and negotiate new processes. For example, we can make a promise to take action. A promise is an asset. The task of making and keeping promises improves accountability.
Five steps to effective promise management: we make promises, publish promises, journal promises, act on promises and measure against promises.
The connected leader act intentionally and cause things to happen to stay on purpose. She transforms the organization into a connected culture. A consciously connected leader supports team and finds ways to remove barriers to form a consciously connected company. They have a clear understanding of what the mission critical actions are and will execute the organizations' agreed upon strategy.

Monday, August 17, 2015

Today we start the review of a book called Thirteeners. This book is written by Daniel Prosser.  The book is about why only thirteen percent of the companies execute their strategies. The author states that the key to this success is the real nature of human interaction and the key to success which is connectedness. He says that when the workplace environment is such that every team member supports the vision, then breakthrough results happen. Everything is a function of the types of conversation that you engage in and the conversations that create every dimension of your life are the conversations that let your business succeed. The author also provides some examples of such conversations
The conversations in which you say how : the author provides an example of two snow boarders who declared well in advance of a competition that they will win the monetary prize and they did. If you change the way you are looking at business, the business will change.
Such conversations happen when there is connectedness in the workplace.
He quotes a psychiatrist as saying that connectedness is the feeling of being part of something that is bigger than oneself. But its really the authors jargon for the force that urges us to ally, to affiliate, to enter into mutual relationships, to take strength and to grow through co-operative behavior.
There are a multitude of hidden, disconnecting conversations that are detrimental to our performance and only a handful that take strength to grow through co-operative behavior The author lists ten conversations that will help you tremendously. These 10 conversations are for and not about their topics. These topics are Contribution, Acknowledgement and appreciation, alignment, accountability, communication, relatedness, responsibility, Integrity, possibility and Fun, Rewards, Gratitude.
The author introduces us to the seeds of the conversations as memes. A meme is a unit of transmission of cultural ideas, symbols or practice. It facilitates the spread of such things from person to person through writing, speech, gestures, rituals and so on. Some people look at it as a culture's genes.In a workplace, the genetic code determines the success and failure of the organization. Sometimes there are limiting memes Such a conversation that becomes a viral meme is called an Execution Virus.
#codingexercise
int getDuplicate(int[] numbers) // max val less than length
{
for(int i =0; i < numbers.length; i++)
{
if (A[Math.Abs(A[i])] > 0 )
{
   A[Math.Abs(A[i])]=-A[Math.Abs(A[i])];
}
else
  return A[i];
}
}

Continuing with the book review above:
The author provides few different examples of converstations that obstruct. These include “It’s not our strategy”, “They treat us like shit”, “We’ve always done it this way”, “It’s the same old story” etc. He says this is further exaberated when the manager feels he or she is above the employees. This kind of disconnected company is termed ‘looking glass’ for two reasons. – the leader would see the company problems if they looked in the mirror and the employees reflect the thinking and behavior of their leaders.
To isolate such execution virus and to apply the vaccine of truth, the author says you have to take initiatives to find the memes. Though a negative meme cannot be removed, it can be replaced with a  positive meme through the following four step process.
-       tell the truth about your past – good and bad
-       identify the limiting and negative viral conversation
-       declare a positive future
-       adopt a system to keep the positive meme  active and replicating throughout your organization
In order to effect such a positive meme, you have to act as a leader.  You can do so by not providing all the answers but by leading the inquiry into the solutions.
The author urges us to take risks and step out of our comfort zone. He says business strategies fall into two categories.
The rower strategy  - this is where you are fighting alone to row upstream and avoid the turbulent downstream
The grower strategy – is about inventing something from nothing.  This strategy investigates all available possibilities at most times.
He says try not to get stuck in rower strategy and instead use the grower strategy.

The author also mentions that chaos is actually a great transformer so long as we are ready to tolerate the disequilibrium that comes with it.  The biggest mistake that organizations make is to quickly make sense of the situation and jump to judgements and only to regret it when the crisis has tided. Instead if we allow creativity and innovation to take over in such space.

Sunday, August 16, 2015

#codingexercise
A very common coding question is to find the duplicate in an array of n+1 numbers with values ranging from 0 to n. This problem has many variations and different solutions depending on the requirements. We will list some of these here.
The problems can vary in the following ways:
1) exactly one number appears in duplicate
2) more than one number appears in duplicate
3) number of elements in the array may be large
4) any number can appear any number of times

The solutions can vary depending on whether the
1) elements can be sorted
2) auxiliary storage is available
3) optimize for both storage and computation
4) solutions based on indices

Let us discuss a few approaches:
1) The O(n^2) approach
List<int> duplicates = new List<int>();
for (int i = 0; i < n; i ++)
    for (int j = i + 1; j < n; j ++)
        if A[i] == A[j] && duplicates.Contains(A[I]) == false
            duplicates.Add(i);
return duplicates;

2) The HashTable approach that uses a frequency count
    for (int i = 0; i < n; i++)
         H[i] += 1;

    foreach (var item in H)
        if H[i] > 1
              print H[i];

3) The linear scan approach when the elements are sorted:
      sort (A);
      curSum = 0;
      for (int i = 0; i< N; i ++)
           curSum += A[i];
      return sumofduplicates = n(n+1)/2 - CurSum;

4) If we are able to modify the array, one innovative example that appears in internet is to flip the sign of an element. And the next time we see a flipped sign we know it is a duplicate.
This works like this:
Traverse the array. Do following for every index i of A[].
{
check for sign of A[abs(A[i])] ;
if positive then
   make it negative by   A[abs(A[i])]=-A[abs(A[i])];
else  
   this   element (ith element of list) is a repetition

}