Mental model of languages

“The better decision maker has at his/her disposal repertoires of possible actions; checklists of things to think about before he acts; and he has mechanisms in his mind to evoke these, and bring these to his conscious attention when the situations for decision arise.” 
(Herbert Simon, Nobel Laureate)

C’s mental model is of blocks of memory. C makes you go bare metal – there is a block of memory address blocks underneath!

Python’s underlying mental model is of dicts. Almost everything is a dict or a dict with superpowers!

Erlang’s mental model is of processes. Everything is around handling these processes, monitoring them, how they behave.

LISP’s mental model is of Lists. Everything is a list – function definition, function invocation, data … everything IS A list!

PHP makes you think in terms of HTML output (just kidding).

There is a line I remember – A language that does not fundamentally affect the way you think is not worth learning. Hmmm… time to do some serious work in these languages?

Language vs VM Wars!

Rant follows

Erlang has a weird syntax but again not that far away from being an acquired taste. Python was weird when I started. So was Perl and PHP not so much since. C, C++, Java are all the normal ‘looking’ languages.

These days when I keep coding in Python or PHP, I keep missing the enforced standards of Erlang…

  • first class processes
  • monitoring oriented programming
  • immutable variables
  • first class functions
  • light weight message passing
  • behaviors and OTP

However all of this goes for a toss when I start looking at long term hiring and building a team that can work in Erlang for the long term. And then when I saw Elixir it was neat epiphany. Will there be a time when we will move away from languages and to the Language Virtual Machines.

  • JVM has Java, Groovy, Clojure, Scala and many more
  • BEAM already has Erlang, LFE and Elixir

Now undoubtedly having immutable values gives a huge power to having a pauseless GC and the BEAM is probably better for it. Had the syntax been more “normal” looking, Erlang has many many ideas that definitely need to be heard and learnt by all. It is sad that Erlang does not have the batteries included approach of other languages (I am looking at you Python), but I think where infrastructure and message architecture is involved Erlang is the best bet for now. Except when a class or a struct is involved it is very rare that we try to reuse a variable for more than one purposes. So with some programmer discipline we can ensure that a variable is never used more than once. In that case can the GC of non-Erlang languages be more efficient?

There are so many ifs and buts but it would be nice to see a solid language succeed.

cloud computing is …

  • when computing is a utility
  • computing capacity can be scaled up and down on demand. And billed by usage
  • IaaS (Infrastcture as a Service) is cloud computing

Cloud is …

  • Cloud is everything else – anything that abstracts the user from the metal is a cloud
  • Technically your API or a website or an app that provides a vertical functionality is a cloud for anyone else consuming that resource
  • Cloud computing is directly geared toward computing in a cloud i.e computing on resources / interfaces you do not own
  • You compute on and using some interfaces, the black box is not your problem

truecaller is a social network in an app

Let me share a small story …

It was my birthday yesterday (yes, yes, yet another year down the hill…). Anyways so dinner was had with all my folks. Midway my cousin started prank calling my wife. Of course me and my brother being privy to the whole mischief decided to play along with the charade. Well… and the charade kept playing. In the meantime, my cousin installed a new app on my wife’s phone – viz truecaller. Curious about the app we started asking more questions, he told us that it was an app which would give the name of the person calling you even if the number was not present on your phone’s address book. He had my interest then and there.

Playing around with truecaller by searching through the application some things became very clear

  1. The phone number look-up was happening on the true caller server and not as a peer to peer search as earlier assumed by my cousin
  2. The application clearly was uploading the complete list of contacts from our phone to the true caller server which was not completely apparent from the application permissions
  3. Clearly, a lot of people either do not understand that this is the case or just do not care about privacy as long as the name lookup works perfectly

Once we started playing around with truecaller some beautiful insights started emerging…

  • It is simply a global yellow pages for phone numbers and people
  • Built completely using “crowd sourcing”
  • Has the complete “social-graph” and your connections
  • Phone numbers and even the data against the person – images and birthdays are being shared

But not once does truecaller state that its value is the above. truecaller’s simple selling point is “know who your caller is or find someone you know”. Now culturally, this is something that happens quite often in India that we first determine the caller and only then take the call. And truecaller fits this mindset like a glove.

In spite of the many buzz-words it covers, truecaller never for once succumbs to the buzz and sells itself as “X of Y”. Quite simply the app identifies itself by the user’s needs and not by the capabilities. Truly cutting the crap and bringing down the value to the bare minimum I think is truecaller’s best selling point at this point in time. My bow to the team for truly truly getting down to simplifying the message to the users.

Just thinking deeper on the different value that truecaller can reap from itself just on a few adjacency moves had me truly appreciate the full scale of the app’s accomplishment.

1. Fully connected and open Social Network

India had its telecom revolution in the 2000 but what we are seeing now is the beginning of a truly mobile revolution spearheaded by marginal costs of software, apps, operating systems and the Chinese manufactured hardware. In India where the penetration of the global social networks (FB, G+) is not at a level where they can cover the complete social spectrum, truecaller is truly riding on the Android-driven mobile revolution and is now almost a default must-have app on Android phones (WhatsApp being the other must-have app). If the privacy concerns are set aside for a moment, quite clearly truecaller now clearly has my phone number, list of all people whom I met or am connected to via my address book and the list of all calls landing on my phone (the hook which does the look up for the true called id of the number when I get a call).

What clearly is being missed is that truecaller has a hook into all your contacts and mobile activity without the user having to do any work explicitly – This sets it truly apart from all other social networks where the activity must happen via user intervention to get recorded on the site. It truly has all the things going for being a truly global social network – it is completely crowd-sourced, has the exhaustive social graph and is deeply embedded into your connections and activity. No wonder Facebook is pushing for the Facebook phone – to be right at the place where the connections are happening.

So to sum to it all up, the things that are going for truecaller for leveraging the Social Network

  1. Clearly leveraging the network effect – more the people that install truecaller, the better the performance and the accuracy!
  2. Does not require the user to do anything to become sticky – it already is hooked into YOU – you volunteered to give all the info away
  3. Forget privacy concerns what so ever
  4. Ads while searching for people using their phone number – monetization ready!

Whether truecaller morphs into a social network is a different question, but quite clearly it has all the elements going for it to leverage the network effects of a social network.

2. Phone address book online backup

Going by the fact that after installing and probably at regular intervals the data is uploaded to the truecaller servers – your phonebook is always available on truecaller. truecaller can even charge for restoring your addressbook and you are done! There are other parts of the security of this data but then being the online backup of your phone book is no mean adjacency value! Having gone through my share of pain to restore all my contacts for my phones, I can trully attest this would be a neat service to build. If there is a truecaller API, someone should just build it on top of it. Quite clearly, the network provider will become irrelevant here 🙂

Concerns that one should not forget though

Privacy is irrelevant

This is huge! What is not probably apparent that all your contacts and all incoming end points are on truecaller servers. Is this something apparent to all the users who installed trueapp? I for one am not sure if I would be comfortable installing trueapp on my phone. But the bigger concern is my phone number is floating on the truecaller servers as people connected to me already consented to give truecaller all access to their address books. The weakest link can reveal all data and connections.

Eaves dropping

With the new revelations like PRISM – all that PRISM has to do is get a hold on truecaller servers and all data will be clearly accessible


I understand that there has been no spamming till date. But can we trust truecaller with never selling out the contact points

Safety of data

There might have been attacks on truecaller. Every government or an oppressive regime would be looking in eagerly to hack into truecaller to get details of people, their location even probably and of course any one fighting against the regimes.

Zara – Fast Fashion

How Zara grew into the world’s largest fashion retailer


More about Inditex than Zara. The process is … Fast Fashion

Inditex’s 8 Brands
Inditex is the fashion company that owns Zara and many other brands – totaling 8.

  • Zara
  • Zara Home
  • Bershka
  • Massimo Dutti
  • Oysho
  • Stradivarius
  • Pull & Bear
  • Uterqüe

The Zara template: Trendy and decently made but inexpensive products sold in beautiful, high-end-looking stores.

Inditex rivals: Arcadia Group, H & M, Mango

Process model / innovation

  • processing of customer reactions,
  • the quick-turnaround design teams,
  • the logistics platform
  • Mostly outsourced and Spain based industrial process
  • Trendiest items are made closest to home so that the production process, from start to finish, takes only two to three weeks.
  • Extremely agile – Constant feedback, alter supply based on demand. customer is always determining production
  • No advertising. The shops / real estate is the marketing. Invest heavily in beauty, historical appeal and location of its shops
  • Zara’s designers are completely anonymous; some would say this is because they are copiers rather than designers.

Stock is always fresh. This process has changed consumer behavior. In Zara, everything is a impulse buy – it is good and cheap – so no need to save for a leather jacket.

“With Zara, you know that if you don’t buy it, right then and there, within 11 days the entire stock will change. You buy it now or never. And because the prices are so low, you buy it now.”


  • …neighborhoods share trends more than countries do…
  • You open more and more stores, and you don’t have flexibility of the last-minute response

Project Management learnings

These learning are from the Pearl City Project of PCC of 2012. Some of the learnings I took. Jotting them down before I forget.

By handling a Multi-contract approach there will be huge leverage on slippages.

Difference in IT and other industries

  • No visibility on IT industries. So we need this visibility & metrics to measure the visibility.
  • Interface requirements might change.

Project Management Essentials

  • Align with strategy and stakeholder needs
  • Establish clear objectives
  • Balance resources with constraints of budget, effort, cost, schedule
  • Execute!

Must haves:

  • Execution Strategy: Who will do it, What, Where, How
  • Execution Plan: When will it be done
  • Everything has a design basis. Ask why?
  • Do follow books. Lots of paper work. Help project control.
  • Build craft centers
  • Strengths – Database and Information systems.
  • Everything is quantifiable. Metric -> Deviation.
  • Keep track of assumptions during the course of project.

Types of contracting

  • Cost Plus contracting.
  • Unit rate contracting.

Object classification of projects
(What is the content of the project and purpose?)

  • Dimensions
  • Inherent complexities
  • Project span

Briefly about Cloud Computing:

  • Data Center Electicity Consumption vs Consumption of Services
  • Service consumption is seasonal and bursty
  • If infrastructure provisioning is minimal, then building the team is going to be important.
  • Re-engineering AppStack modules to SOA
  • Every App Developer is a System / Service Integrator
  • Utility model ala electricity
  • Objective is to be lean and mean & to optimize costs

Global Delivery Model #toread

What are imaginary numbers?


The complex numbers allow us to consider scalings and rotations as two instances of the same thing; and by ensuring that negative reals have square roots, we get something where every (non-constant) polynomial equation can be solved: C is the algebraic closure of R.

Quora and StackExchange are fast turning out to be my personalized wikipedia. Unlike the sterilized quality of answers in wikipedia, the learned folks on Quora and SE reaching into their experience and sharing their personable answers, it is (they are) fast becoming my personal treasure trove of knowledge.

Water water everywhere…

Away from the regular posts that I have, this is a simple infographic that came my way. And given its such a neatly presented work I decided to post it here. Of course, I would have loved it if this was a movie in itself (and Meika you must really make this into a small movie, with a sound and all… kids will love it).

I do think infographics are about the wisdom shown with pictures. This one about the oceans is a story in itself.

Caution: Links to a Biiiiig image below… But a definitely very useful and informative one.

Hat Tip: Meika Jensen, Masters
Created by:

Bloodbath in Genres

From here…

Kano Model

  • threshold (or ‘requirement’),
  • linear (or ‘feature’) and
  • delightful (or ‘delight’)

Ultimately many attributes transition from delight to feature to requirement as customer expectations raise. This is why in games specifically genres often become an arms race between a few key players.

Quite clearly, the model of things has this transition where features in a product change from being a novelty to a must have by the next iteration of the product. Any marketplace, which has a set of players whose features are a differentiating factor – and any factor being a major differentiator will be assimilated inside the products of all the competitors over a period of time. No wonder, the patents are looked as a potential trump card to stop this transition.

The Business of Inertia & Twittersphere experiment

Inertia is an amazing phenomenon since Newton formulated our laws of physics for it. As is the case with any enduring physical truth, there are always economic transactions built on those physics foundations.

And hence we have the M & A of small client-rich companies being bought out by the 800-pound gorillas hoping to use the inertia of the clients to stick with them in the long run.

Inertia also has to its credit a fair-share of financial institutions that tap into its human counterpart – laziness. An amazing vice and a not-so-amazing virtue exploited ever so subtly by many institutions and the most obviously telling one being the credit card companies.

Sample for example, the credit cards business for individuals. It runs simply on one simple truth: that the credit card users will be lazy enough to not to pay her dues not before the due date. Its a clinchingly simple logic that trusts a basic human trait – chilling but effective.

Credit Card (henceforth called as CC) as instrument of finance taps into the deepest sacrosanct evil rule of personal finance.

  • Thou shalt not do the crime if thou can’t do the time a.k.a Don’t buy it if you can’t afford it. CC makes it chillingly simple by providing a hand-loan for a interest free period of 30 days or so.

Armed with a CC and unlimited temptations we have hundreds of well earning guys taking to the temptation and entering that unending cycle of bad financial karma.

Anyway now that we have proved beyond doubt that laziness or simply
inertia can itself be a good business model, a new wave now sweeps the golden lands of bits and bytes which is lovingly called the internet.

andrewbaron has put up his twitter account for sale which at one level is a horrid sin to the community to commit and at another level is a damn interesting social internet experiment.

A twitter account by nature of the micro content created has a single author (content creator) and many readers (followers / consumers). A follower starts following a twitter account on account of one of the following

  • he is a close friend of yours (and thus trusts the ‘author‘)
  • loves the content produced by the author (and hence again adds the user because of the trust he places on the ‘content‘).
  • just follows because he wants to track the author & the activities (not trust but more of a voyeuristic pleasure)
  • just nothing better to do

On the other hand, though a buyer faces one of the following

  • People who trust the author will leave.
  • People who love the content will stay as long as the content still stays original to the soul. In this case, the buyer does not have to put in effort in marketing his twitter account as long as he is good at content.
  • People who will stay for sometime to just see where it goes.

Of this the buyer gains obviously from the second case but thats hoping that the inertia of followers will gain over the indignation of having sold their trust. And which we have already proven works! 😀

Either case this is a interesting social experiment to see how the trust networks and content communities work together.