<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>aBlog</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/" />
   <link rel="self" type="application/atom+xml" href="http://www.pandamatak.com/people/anand/blog/atom.xml" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog/2</id>
   <updated>2008-08-09T22:43:36Z</updated>
   <subtitle>Anand Venkataraman&apos;s Blog</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.35</generator>

<entry>
   <title>Deanimizing - A necessary first step to dehumanizing?</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/08/deanimizing_a_necessary_first.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.55</id>
   
   <published>2008-08-09T20:39:43Z</published>
   <updated>2008-08-09T22:43:36Z</updated>
   
   <summary>Last night, I was at a networking social with the Olympic Opening Ceremony on an enormous screen. But I was there strictly to socialize and catch up with good friends. I could not bring myself to enjoy the opening ceremony,...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Political" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Last night, I was at a networking social with the Olympic Opening Ceremony on an enormous screen.  But I was there strictly to socialize and catch up with good friends.  I could not bring myself to enjoy the opening ceremony, flamboyant and ostentatious as it was, in light of the appalling abuses of human and animal rights in a country where, at the very least, all this money could have been put to much worthier use in improving the human condition!  

People might say that it's my loss for missing this magnificent display of oneness and splendor. But I don't see it.  Fortunately for me, there is no dearth of interesting alternatives in today's world that can equally well and guiltlessly take up my time.  Fortunately, I suffer the ancient Chinese curse.  I live in interesting times.  I must boycott the Olympics to protest in what little way I can against such appalling cruelty as <a href=http://www.peta.org>PeTA</a> exposes.

]]>
      <![CDATA[No doubt there is much cruelty elsewhere too.  Even here on American free soil, most would have seen PeTAs shocking expose of KFC's <a href=http://www.kentuckyfriedcruelty.com/u-georges.asp>red bird syndrome</a> that shows millions of birds end up being scalded to death:<p>

<div style="text-align:center;">
<embed src="http://www.kentuckyfriedcruelty.com/swf/pam_kfc_320.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="335" height="255" allowScriptAccess="always"></embed>
</div>
<br>

But the <a href=http://www.peta.org/feat/ChineseFurFarms/index.asp>anti-fur video</a> took it to a whole new level for me.  I tried not to blog on this topic a second time, but I could not help it. I am still distressed by my memory of the <a href=http://www.pandamatak.com/people/anand/blog/2008/08/skinned_alive_and_tossed_on_to.html>PeTA video</a>.

That a sentient being, much less a human, is even capable of something like this is deeply disturbing.  Despite endless intellectualization that natural variation in neural circuitry is bound to produce innate predispositions to this kind of behavior uncontainable by ethical rationalization, the cold reality of <a href=http://www.pandamatak.com/people/anand/blog/2008/08/skinned_alive_and_tossed_on_to.html>the video</a> scares the shits out of me.  For want of a better word, let me call this deanimization. The way I see it, deanimization, the ability to train oneself to see sentient creatures as unable to feel, is a necessary first step to dehumanization. It is no stretch to the Auschwitz, genocide on a massive scale, to Saddam and his likes, to atrocities of <a href=http://en.wikipedia.org/wiki/Vlad_III_the_Impaler>Vlad the impaler</a> and worse.  One small step to revert to the horrors of the past that we believed were mostly behind us.  Gives me the shits indeed. 

Being the skeptic that I am, I cannot seek solace in the infinite compassion of a claimed superior being.  But I do have hope. One day we will be able to engineer precision genes.  We will have genes for compassion, and for voluntary self-extinction at a time of one's own choosing, despite their evolutionary disvalue and non-viability. Maybe I'll say more about this if I ever complete the article I have tentatively titled "The Jesus quality and the Bhishma faculty."

&

<div style="color:yellow; font-size: 80%;">PS. Please excuse the python-long sentences in this article.  Clearly I can't think straight under distress.</div>
]]>
   </content>
</entry>
<entry>
   <title>Skinned alive and tossed on to a pile of flayed friends?</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/08/skinned_alive_and_tossed_on_to.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.53</id>
   
   <published>2008-08-09T06:08:04Z</published>
   <updated>2008-08-09T20:49:01Z</updated>
   
   <summary>Fuck! I cannot think of any other word. Sorry. I don&apos;t know about you, but I couldn&apos;t watch past the midpoint of this video. I was hoping to vent some in this article, but it doesn&apos;t seem to help! Perhaps...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Political" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Fuck!  I cannot think of any other word.  Sorry.

I don't know about you, but I couldn't watch past the midpoint of this video.  I was hoping to vent some in this article, but it doesn't seem to help!  Perhaps the least I can do to show my support to PeTA (where I am a member) and to other animal rights organizations is to spread the word.

I bet half the people who wear fur will give it up if only they knew what went into making it for them, just as Erwin Schrödinger hypothesizes in his famous essay that half the people who ate meat will give up if only they had to kill the animal themselves!

The following video is not for the weak-hearted.  Click not if you can stomach not.  Instead just read the equally compelling but less shocking text at:  <a href="http://www.peta.org/feat/ChineseFurFarms/index.asp">http://www.peta.org/feat/ChineseFurFarms/index.asp</a>
<br>

<div style="text-align:center;">
<embed src="http://www.peta.org/swf/fur_farm.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="335" height="255" allowScriptAccess="always"></embed><br /><a href="http://www.furisdead.com/pledge-furfree.asp?c=cfsv">Pledge to go fur-free at PETA.org.</a>
</div>

Again, here is a link to the full article at PeTA's site:

<a href="http://www.peta.org/feat/ChineseFurFarms/index.asp">http://www.peta.org/feat/ChineseFurFarms/index.asp</a>

Please support PeTA!

&
]]>
      
   </content>
</entry>
<entry>
   <title>Irrational decisions in the workplace</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/07/irrational_decisions_in_the_wo.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.51</id>
   
   <published>2008-07-16T05:46:38Z</published>
   <updated>2008-07-16T05:54:59Z</updated>
   
   <summary>Ori Brafman asked on Linkedin: What are your best examples of irrational decision-making in the workplace? I answered thusly, though not to his point: I believe, perhaps irrationally :-), that we all make two kinds of decisions regularly in our...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Forum Posts" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Ori Brafman asked on <a href=http://www.linkedin.com>Linkedin</a>:  <font color=cyan>What are your best examples of irrational decision-making in the workplace?</font>

I answered thusly, though not to his point:

I believe, perhaps irrationally :-), that we all make two kinds of decisions regularly in our life. Well-founded, data-driven and reasoned decisions are the most common and form the first kind. The much rarer second kind is driven by instinct, gut feeling and perhaps no more than a deep sense of passion and belief in the long-term success of what appears, on all immediate counts, to be unfounded.
]]>
      <![CDATA[Interestingly, as I say in my blog blurb on <a href="http://www.pandamatak.com/people/anand/blog/1995/01/scrabble_idealism_and_careers.html">Scrabble, Idealism and Careers,</a> the former kind of decisions (well-reasoned ones) leads to steady incremental success with high likelihood. This decision-making process is just a calculus. We learn it in business schools. Every CEO should be at least competent in it.  On the other hand, the latter kind of decisions (instinctive ones) is what leads to major revolutions and fundamental game changes in the playing field. It takes vision, and is often perplexing and hard-to-explain to most. This is what distinguishes true visionaries from the rest. 

The flip side of this equation, of course, is that like all laws of Nature, the high yield of the latter kind of decision making tends to be balanced with a correspondingly diminished likelihood of success. But yet, if not for these, what excruciating tedium life would become to bear! In science and art, at least, there is some evidence that beautiful and penetrating insights often come from instinct rather than by "treading the groove", as Robert Kanigel says eloquently in his biography of a mathematician. 

I have certainly made irrational decisions in my life. I look forward to and welcome the opportunity to make each one. I savor their taste and bask in the warmth of the fire in my belly that fuels them. When successful, these are the kinds of decisions people write about, and in the end, we ourselves might look back at and treasure.
]]>
   </content>
</entry>
<entry>
   <title>The kiss you can remember</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/07/the_kiss_you_can_remember.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.50</id>
   
   <published>2008-07-16T05:10:56Z</published>
   <updated>2008-07-18T15:47:58Z</updated>
   
   <summary>How often do you google yourself? Other than for reasons for plain vanity, I think it important to do it often enough to ensure your online identity isn&apos;t hijacked. Since I have multiple online aliases, some of which I share...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Forum Posts" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      How often do you google yourself? Other than for reasons for plain vanity, I think it important to do it often enough to ensure your online identity isn&apos;t hijacked.  Since I have multiple online aliases, some of which I share with others, I have an automatic system that googles my online avatars every once in a while, reporting any &quot;anomalies&quot;.

Imagine my surprise when I found that I had, unbeknownst to myself, given some lame-ass kissing advice on an eHarmony forum. After several email messages to the moderator, I decided to take matters into my own hands and just made a half-decent post myself, pointing out that I if I were to post, I&apos;d have posted something that at least took a few minutes for me to pen, like the poem below:

      <![CDATA[<div style="color:yellow; text-align:center;">
<div style="text-decoration:underline;">THE KISS YOU CAN REMEMBER</div><P>
The kiss you can remember<br>
Is not a real kiss<br>
Just as the circle you can see<br>
Is not a true circle<br>
The perfect kiss is as pleasant dream<br>
Pure experience untainted<br>
By awful reality of tangibles<br>
That everywhere surrounds us<br>
You must emerge from it<br>
With but vague recall<br>
Too fleeting to capture<br>
Too slippery to grasp<br>
Too pristine to bind<br>
By fetters of finite memory<br>
You will remember starting<br>
But should you bethink anything after<br>
Then, my friend, I'm afraid<br>
You must try again<br>
And again<br>
Until mindlessness becomes you<p>

<font color=cyan>Copyright (c) 2008, Anand Venkataraman</font>
</div>

<font color=yellow>
I find it interesting that much bandwidth is spent describing what is a purely experiential thing. Indeed, words mean nothing here, and it is an irony of life that we often waste the most words in talking precisely about things over which words are so poignantly powerless!"
</font>

]]>
   </content>
</entry>
<entry>
   <title>Calculating the median of a MySql table column</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/02/calculating_the_median_of_a_my.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.49</id>
   
   <published>2008-02-22T14:52:38Z</published>
   <updated>2008-02-23T14:44:50Z</updated>
   
   <summary>My staff are amazingly efficient at automating the various slices and dices of data for me. They like to do it in SQL scripts, MySql in specific, and as a consequence, the data I want to look at is automatically...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[My staff are amazingly efficient at automating the various slices and dices of data for me.  They like to do it in SQL scripts, MySql in specific, and as a consequence, the data I want to look at is automatically generated every night into various MySql tables.  I, in turn, have my own scripts, and ye old console, to extract the information I want.  However, one issue that bugged me early on was getting at the median of a set of numbers.  <p>
]]>
      <![CDATA[When analyzing data that has been collected for you, it is often useful to look at the median rather than the mean whenever you suspect the presence of outliers. As an example, a single McMansion valued at $12M can easily throw the mean home price significantly off in a small neighborhood.  But the median is unlikely to change much.  Simply put, the median is the middle number, or the average of the middle two numbers in an ordered list of numbers.  How does one get it in MySql?<p>

Looking for a simple answer to this turned out to be an interesting exercise; so interesting, in fact, that I had many times asked this question of potential hires (If you're a potential hire, note that I don't ask this question any more).  More often than not, if a candidate doesn't know of a canonical answer, their approach to finding a solution tells me far more than just how to get the median in MySql.<p>

On a Linux command line, you want something like:<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
  echo "SELECT MEDIAN(foo) FROM bar" | mysql -p mydb
</PRE>
</div>

analogous to the<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
  echo "SELECT AVG(foo) FROM bar" | mysql -p mydb
</PRE>
</div>

But alas, such a function is conspicuously missing in MySql.  Part of the reason is probably to protect from gross inefficiencies injected by naive DBAs and programmers.  If the column of interest is not indexed, then a median computation necessarily involves a sorting (which is log-linear in complexity).  It is not uncommon for uninformed programmers to make unjustifiably liberal use of seemingly simple statements that hide an enormous amount of complexity.  (For this reason, powerful high-level programming languages and tools that provide simple abstractions for complex algorithms should only ever be used by well-educated programmers who know what they are doing and what it will cost).  But returning to the issue at hand, and knowing now that MySql doesn't provide a native function call for it, how does one calculate the median?  There are several ways, and many good ones are described in the <a href="http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html">MySql Forum</a>.  But none is the pretty one-liner you want.  <p>

The answer to this question is what potentially distinguishes a good engineer or scientist from a good manager.  A good manager is focused on getting the job done, and does not care too much about exactly how it is done as long as she is confident it's being done efficiently.  A good scientist or engineer is naturally curious, and wants to solve the problem a particular way just to know whether it can be done or not.  The good engineer will most likely come up with one of the many excellent answers on the MySql forum.  A good manager will likely say, "Is there a reason it has to be done in MySql?  'Cos I don't know the answer off the top of my head, but I'm sure I can find it soon enough if I browse a few minutes.  If you just want the median efficiently, and don't care how I get it, I'd probably just use some combination of MySql and Perl/php/whatever:<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
 <PRE>
  echo SELECT foo FROM bar ORDER BY foo \
    | mysql -N -p mydb \
    | perl -e 'use POSIX qw(floor ceil);  
                @f = <>; 
                ($a,$b) = (floor(@f/2-0.5), ceil(@f/2-0.5));
                $median = ($f[$a]+$f[$b])/2; 
                print "$median\n";
      '
 </PRE>
</div>

Here is the line-by-line breakdown:<p>

<ol>
  <li>SELECT:  The column must be ordered (doesn't matter which way).  If the column is not indexed, it can be sorted externally using the Linux sort program with the same or similar complexity.  Note the -N option to mysql which tells it to not print the column header.
  <li> Perl: Perl and its POSIX floor() and ceil() functions calculate the middle two rows in such a way that they are the same for a table with an odd-number of rows.  If the table has 5 rows for example, then the first number, obtaining by flooring 2.0 is 2 and the second number, obtained by lifting 2.0 is also 2, which is the middle row in a 5 row Perl array with rows (0,1,2,3,4).  If the table had 4 rows, then the first number will be floor(1.5) = 1 and the second number will be ceil(1.5) which is 2.  In either case, the average of the numbers in these two rows gives the correct median.
</ol>

If you simply want to use the perl script as a unix command called median, you can grab the program from <a href="http://pandamatak.com/people/anand/xfer/median">here for presorted input</a> or <a href="http://pandamatak.com/people/anand/xfer/median-unsorted">here for unsorted input</a>.  With these tucked away in your personal bin directory, you can simply issue:<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
  echo "SELECT foo FROM bar order by foo" | mysql -p mydb -N | median
</PRE>
</div>

or<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
  echo "SELECT foo FROM bar" | mysql -p mydb -N | median-unsorted
</PRE>
</div>

If inside a Perl or Mod_perl script using Perl DBI, one could use the following fragment:<p>

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
  use DBI;
  use POSIX qw(floor ceil);
  ...
  my $sth = dbh->prepare('SELECT foo FROM bar ORDER BY foo");
  $sth->execute();
  my @f = $sth->fetchrow_array();
  my($a,$b) = (floor(@f/2-0.5), ceil(@f/2-0.5));
  my $median = ($f[$a]+$f[$b])/2;
  ...
</PRE>
</div>

Of course, if the MySql table is indexed, one may also get at the median in a two step procedure completely inside of a MySql script, if that's what is needed - first selecting the total number of rows with "COUNT(*)" and then extracting from the ordered column the average from the middle or two middle rows since we know which these are, for example:<p>

<div style="font-size:80%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
   SELECT AVG(foo) FROM (SELECT foo FROM bar ORDER BY foo limit m,n) as x
</PRE>
</div>
where you know m to identify the row number of the first of the 1 or 2 middle rows and n to be either 1 or 2 depending upon whether the total number of rows is odd or even respectively.<p>

Finally, lest you worry about the memory requirements imposed by sucking in an entire column into a Perl or other such array let me reassure you that (a) Perl's implementation of in-memory arrays is very efficient, (b) you can easily read in arrays with millions of rows without taking up more than a few tens of megabytes of memory and (c) if, in fact, your table had many billions of rows, you should be able to get a very good approximation to your true median by sampling every nth row (Why?).  This last point is especially relevant to scalable data analysis. You can calculate your answer as a median of medians by farming out computations using such paradigms as <a href="http://en.wikipedia.org/wiki/MapReduce">MapReduce</a>.
]]>
   </content>
</entry>
<entry>
   <title>How to browse the Internet perfectly anonymously</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/02/how_to_browse_the_internet_per.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.47</id>
   
   <published>2008-02-21T05:31:02Z</published>
   <updated>2008-04-19T22:36:32Z</updated>
   
   <summary>Related website: Pippini.com &quot;Tell me Mr. Jones,&quot; said the public prosecutor, &quot;All the evidence points to the fact that you were indeed contemplating the murder of your lover on that night. Were you not? Remember that you are under oath,...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Misc" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[<div style="text-align:center; font-size: 90%;">Related website: <a href="http://pippini.com">Pippini.com</a></div>

<div style="color:yellow;padding: 5px;">
"Tell me Mr. Jones," said the public prosecutor, "All the
evidence points to the fact that you were indeed contemplating
the murder of your lover on that night. Were you not? Remember
that you are under oath, and that your polygraph results have
betrayed your innermost thoughts. You had the motive, ability
and, in your judgment, sufficient anonymity to carry out the
macabre act with impunity. And I admit that were it not for this
mass of incontrovertible evidence we uncovered by following your
intent, you might well have succeeded in pulling the wool over
our eyes! Is this not what you are thinking?"  </div>

There it is. Fragment from a mystery novel as it were, when you
gauge your own mental reaction as you read the passage, you will
find it to be a clear example: Most reasonable people would not
think twice about sanctioning techniques, including the
administration of polygraph tests, that authorities may use to
probe into and conclude on the conents of that innermost
repository of our private thoughts - our mind.  Yet, it appears
unreasonable to most of us if authorities claim to have the
ability, much less to use it, to determine probable intent in
criminal behavior from one's behavior on the Internet. Is the
Internet that different in people's perceptions as a place
where absolute anonymity may be enjoyed regardless of disposition
and intent?  Indeed, do people honestly believe it is ok to probe
one's mind, but not one's online behavior?<p>

]]>
      <![CDATA[I can only conjecture that the reason for this allowance stems
directly from the perceived unreliability of today's mind-probe
techniques.  All said, the polygraph is not a hundred percent
reliable, and the public prosecutor's browbeat even less so.  But
what most of us don't realize is that in our acceptance of the
admittedly inaccurate interrogation techniques we have set the
precedent. With time, mind-probing techniques could get
better. Polygraphs will become more accurate, and it is not
inconceivable that in a hypothetical future world, there will exist
humane and accurate mind mapping methods that play back the very
memories a suspect hopes to conceal.  Scarcely anyone would lift
a finger in protest against this most intense intrusion of one's
privacy.<p>

Now I'm not arguing that even our humane interrogation techniques
are immoral and therefore should be abolished.  Nor am I calling
for greater cooperation from web-site owners in sharing sensitive
information with the government.  I'm only pointing out the
poignant inconsistency in people's perceptions of what is
allowable and what is not. Indeed, it is a rather paradoxical
inconsistency, for on the one hand we sometimes allow the system to
probe what we cherish as our most private and sacred sanctuaries,
but on the other, we clamor with our loudest voices when the
same system attempts to investigate information on the Internet,
arguably many times removed from our mind-cores!<p>

The righteousness (or lack of it) of various investigative
procedures is not my concern here. But I am interested in
exploring what persons who are genuinely concerned about the loss
of their privacy might do to thwart authoritarian attempts to
invade it.  After all, do we not assume that it is natural for a
suspect to attempt concealment despite being badgered at the
stand?  And do we not think it reasonable that polygraph test takers have at
least tried to learn techniques to beat it?  Why else would we
find so much humor in George Costanza's parting advice to
Seinfeld, who has to take the polygraph to prove he doesn't like
Melrose place?  "Remember," he says "It's not a lie if you
believe it."  That is is the perfect analogue to wiping your
tracks clean on the Internet. A probe will discover nothing.<p>

So having said that, we now ask: Is it possible to have an
absolutely anonymous Internet experience - a veritable
no-strings-attached one-night-stand with your browser?  I confess
it scares me a little to know that there are people who might
want this - I mean, concern for privacy and a desire to enjoy an
unsnooped life by making it "hard" for people to track you is one
thing.  But going out of one's way to make it practically
impossible to associate one's online activity with oneself is
borderline creepy.  Who would want to do this?<p>

The fact, however, is that most people are at the other end of
the spectrum.  They are naive enough to not know even to clear
their browser histories and cookies when they leave their
stations.  Over the last day or so, we quickly put together a <a
href=http://pippini.com>website</a> using entirely free resources
on an old PC (Clearly, with more resources, the scope for
tracking and profiling users is vastly greater).  <a
href=http://pippini.com>The page</a> shows how much information
about users is likely logged by all the websites they visit.
It's worth visiting at <a
href=http://pippini.com>http://pippini.com</a><p>

Having been in online advertising long enough and being aware as I am
of the information that we unwittingly make available to humongously hungry
hosts out there, I confess to still being mildly unsettled to
see all of the information distilled and presented in one place like
this.  But yet, I typically settle for the most common precautions one
should take, like clearing browser caches periodically, and refreshing
DHCP addresses once in a while.  If I wanted to be <em>absolutely</em>
anonymous, the effort involved is simply too much and is not worth it
for most of us.  Nevertheless, here are three precautions such a
person might be inclined to take, and actions authorities might assume
to address attempts at attaining absolute anonymity.<p>

<ol>

  <li> Not use one's own Internet connection.  As the data and
  discussion at <a href=http://pippini.com>Pippini</a> shows, an IP
  address is attached to the user or the limited number of people in
  his or her domicile. It is easy to track someone down if the number
  of people to examine is small.<p>

  <li> Not use free Internet connections in wireless hotspots on one's
  own computer. WiFi routers need to assign you an Internet address
  and they can be configured to log MAC addresses of computers that
  were assigned specific IP addresses at specific times.  MAC
  addresses are unique and instantly identify a computer.  One could
  presumably buy a wireless access card using cash (not a credit
  card), and destroy it after malicious use.  This would mean that the
  MAC address can be tracked as far as the vendor who sold it, but no
  further.  For this reason, authorities may require that checkout
  counters have recorded video surveillance to photograph customers as
  they purchase goods.<p>

  <li> Use one of the many unoccupied computers at a paid public
  Internet cafe and pay in cash. For this reason, authorities may
  require paid public Internet cafes to insist on viewing and noting
  government issued photo-IDs of users.  Further, they might
  also require that users be assigned to specified stations.<p>

</ol>

These are suggestions one might do well to keep in mind, especially if
he or she is considering running for President.<p>
]]>
   </content>
</entry>
<entry>
   <title>Governor Schwarzenegger helps to make Bay Area housing affordable</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/01/governer_shwarzenegger_helps_t.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.41</id>
   
   <published>2008-01-10T23:50:09Z</published>
   <updated>2008-02-05T03:29:11Z</updated>
   
   <summary>In what may be Governor Schwarzenegger&apos;s most sympathetic move yet to make housing more affordable for potential home-buyers in California, he does what he can to encourage young Californians to migrate away from the state, thus setting the stage for...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Misc" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Political" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[In what may be Governor Schwarzenegger's most sympathetic move yet to make housing more affordable for potential home-buyers in California, he does what he can to encourage young Californians to migrate away from the state, thus setting the stage for home-prices to spiral downwards.

<div style="font-size:90%; padding:10px; color:cyan;">
<a href=http://www.sfgate.com/cgi-bin/article.cgi?f=/n/a/2008/01/10/financial/f113022S86.DTL>
http://www.sfgate.com/cgi-bin/article.cgi?f=/n/a/2008/01/10/financial/f113022S86.DTL
</a>
</div>

With already ailing education budgets slashed even further, convicted criminals let loose to terrorize innocent citizens and 20% of state parks closed, the Governor hopes that more productive Californians will be encouraged to seek domicile in Oregon and nearby states. This calculated and clever move will enable property prices eventually to reach levels where the 22,000 inmates, who will be in dire need of good housing after their early releases, can afford them.

]]>
      
   </content>
</entry>
<entry>
   <title>On Data Analysis</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2008/01/on_data_analysis.html" />
   <id>tag:www.pandamatak.com,2008:/people/anand/blog//2.40</id>
   
   <published>2008-01-08T15:38:54Z</published>
   <updated>2008-01-09T00:41:40Z</updated>
   
   <summary>Forget OLAP cubes and pivot tables! As is the case most of the time, 90% of the insight can be gleaned from very simple data plots. To be sure, the remaining 10% does shed valuable new light, but is also...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="25" label="Useful utility script" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      Forget OLAP cubes and pivot tables!  As is the case most of the time, 90% of the insight can be gleaned from very simple data plots.  To be sure, the remaining 10% does shed valuable new light, but is also orders of magnitude relatively more tedious to distill.

One of my favorite tools for performing quick sanity checks on data and even for inferring high-level trends is a histogram; it simply partitions your data points into a fixed number of buckets, with each bucket holding points that fall within a given range.  The resultant bucket sizes are then available to eye-ball, often plotted as bars whose lengths are proportional to the number of elements in the corresponding buckets.

      <![CDATA[When your data is generated from Unix/Linux scripts as is typically the case with most LAMP based systems, migrating it into CSV tables to histogram within Excel, or even firing up your free copy of OpenOffice is a cumbersome overhead.  A simple script will often suffice to generate compelling histograms.  

Here is one such script I had written a long time ago.  I have used it so many times that I feel that someone else, somewhere else, is bound to benefit from it too.

<div style="font-size:90%; padding:10px; color:cyan;">
<a href=http://www.pandamatak.com/people/anand/xfer/histo>http://www.pandamatak.com/people/anand/xfer/histo</a>
</div>

As an example of its usage, here is the command line and output for generating a histogram over a set of 10K Gaussian random numbers.  (As a by-product, observe the cool trick exploiting the Central Limit Theorem to  generate a normally distributed random number using an awk one-liner.  Normalized Gaussian randoms are useful to deliberately add controlled noise to a process, for example in selecting the top 3 (with variety) out of a ranked list of 10 ads to show on a publication.

<div style="font-size:90%; padding:10px; font-family: 'Courier'; color:yellow;">
<PRE>
$ gawk 'BEGIN {for(i=0;i<1e4;i++)print rand()+rand()+rand()}' \
   | histo -stars -scale 50 -interval 0.15
# NumSamples = 10000; Max = 2.94838; Min = 0.0360424
# Mean = 1.5030500454; Variance = 0.253799739614845; SD = 0.503785410283828
# Each * represents a count of 50
     0.0360 - 0.1860 [    13]: *
     0.1860 - 0.3360 [    58]: **
     0.3360 - 0.4860 [   125]: ***
     0.4860 - 0.6360 [   250]: *****
     0.6360 - 0.7860 [   374]: ********
     0.7860 - 0.9360 [   552]: ************
     0.9360 - 1.0860 [   758]: ****************
     1.0860 - 1.2360 [   942]: *******************
     1.2360 - 1.3860 [  1026]: *********************
     1.3860 - 1.5360 [  1130]: ***********************
     1.5360 - 1.6860 [  1145]: ***********************
     1.6860 - 1.8360 [  1006]: *********************
     1.8360 - 1.9860 [   854]: ******************
     1.9860 - 2.1360 [   652]: **************
     2.1360 - 2.2860 [   501]: ***********
     2.2860 - 2.4360 [   306]: *******
     2.4360 - 2.5860 [   174]: ****
     2.5860 - 2.7360 [   108]: ***
     2.7360 - 2.8860 [    25]: *
     2.8860 - 3.0360 [     1]: *
</PRE>
</div>

Enjoy!

&
]]>
   </content>
</entry>
<entry>
   <title>Fixing Fontconfig on Linux with strace (Unable to load default config file)</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2007/08/fixing_fontconfig_on_linux_wit.html" />
   <id>tag:www.pandamatak.com,2007:/people/anand/blog//2.36</id>
   
   <published>2007-08-18T16:15:56Z</published>
   <updated>2007-08-18T17:25:42Z</updated>
   
   <summary>Today, Linux is a beautiful thing and I typically waste no opportunity to evangelize it to friends considering a new desktop purchase. I mean, if the average user today calculates how much of his or her computer time is spent...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Today, Linux is a beautiful thing and I typically waste no opportunity to evangelize it to friends considering a new desktop purchase.  I mean, if the average user today calculates how much of his or her computer time is spent either on-line or within office applications, it seems  like common-sense to buy a Linux desktop with Firefox and Open Office rather than buy expensive Microsoft products.  Homer Simpson captures the sentiment best in the opening line of the latest <a href=http://www.imdb.com/title/tt0462538/>Bart Simpson flick</a>.  Why would someone pay hard-earned cash to get something we can get for free?  We're all giant suckers!

]]>
      <![CDATA[One would naturally expect that it makes even more sense for the developer community to go the Linux way, since they tend to have greater familiarity with the ins and outs of the operating system.  And this is mostly true, but yet I am intensely frustrated by problems in a few sloppily developed open-source programs that are part of the official Linux distributions.  I ran into one such problem this weekend, and wasted almost an hour trying, unsuccessfully, to find a solution through Google.  The problem was with fontconfig, part of Linux's font system.  When I upgraded from RedHat to Fedora Core 6 (Fedora 7 has the same problem), all of a sudden, I had ended up breaking the font-system for my developers.  No matter how many times I tried to reinstall font-config by the book and no matter which version I used, I hit the same wall.

Calls to the library would print the ominous message:

<div style="font-family:arial-narrow,sans-serif; padding-left: 10px; color: yellow;"> 
  Fontconfig error: Cannot load default config file
</div>

Fortunately, Linux comes armed with a rich toolbox that lets you diagnose and, in many case, fix problems yourself.  One such tool is strace, which prints the sequence of system-calls issued by a program.  So after my hour of unsuccessful searches with Google, I decided to go to the next level of troubleshooting and strace my problem. I ran a stripped down version of the failed command sent to me by my developer:

<div style="font-family:arial-narrow,sans-serif; padding-left: 10px; color: yellow;"> 
   strace convert label:hello-world /tmp/x.jpg
</div>

Looking through the output, the root of the problem was clear:

<div style="font-family:arial-narrow,sans-serif; padding-left: 10px; color: yellow;"> 
...<br>
access("/usr/local/etc/fonts/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)<br>
write(2, "Fontconfig error: ", 18Fontconfig error: )      = 18<br>
write(2, "Cannot load default config file", 31Cannot load default config file) = 31<br>
...
</div>

Aha! There is the culprit.  I had no idea why the system would look in /usr/local/etc/fonts, when I had done everything in my power, as per the documentation, to indicate that the config file lived in /etc/fonts.  But I was already at the limit of my patience with this problem and too tired to look through what was probably badly designed code.  So I decided to apply the simple fix:

<div style="font-family:arial-narrow,sans-serif; padding-left: 10px; color: yellow;"> 
  ln -sf /etc/fonts /usr/local/etc/fonts
</div>

I now run convert and it runs, with output as clean as a whistle:

So here's another reason to love Linux. It may come with sloppy programs that are yet to mature.  But it does provide you the tools necessary, in most cases, to get around these issues while the program designers work to find a long-term solution.

&
]]>
   </content>
</entry>
<entry>
   <title>Communing with Carrots</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2007/08/communing_with_carrots.html" />
   <id>tag:www.pandamatak.com,2007:/people/anand/blog//2.34</id>
   
   <published>2007-08-03T08:25:39Z</published>
   <updated>2007-08-10T22:44:19Z</updated>
   
   <summary>Last weekend, as I was munching away on a sweet home grown carrot from our own backyard, I let my mind wander with the wind and ponder pointless profoundities. An interesting, but totally useless statistical question occurred to me. That...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Essays" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Last weekend, as I was munching away on a sweet home grown carrot from our own backyard, I let my mind wander with the wind and ponder pointless profoundities.  An interesting, but totally useless statistical question occurred to me.  

That we are all ultimately made of dust from the distant stars is indisputable.  But what, I pondered, might be the odds that an atom of carbon in my crunchy carrot was the same atom in a molecule of CO<sub>2</sub> I had exhaled earlier?
]]>
      <![CDATA[To clarify, this is how the cycle works - We eat food.  Our body oxidizes the food we eat and burns the carbon in it to produce Carbon dioxide (CO<sub>2</sub>), which we exhale.  Plants in sunshine absorb CO<sub>2</sub>, and make carbohydrates that they store as food for themselves, and as it happens, for us too.  

Of course, I couldn't possibly have been looking for an answer to this question had I been consuming a carrot from Trade Joe's, our local grocery store.  Those carrots would have come from miles away, and what are the chances that my breath from Palo Alto would have blown onto a distant carrot field from which the very carrot that chose to make its sugar from my sweet breath found its way into our Trader Joes, and thence into my home and my hands?  Vanishingly small indeed.  

Hence, it was only the sudden realization of the effect of home-grown-ness that tantalized me with the prospect of finding a reasonable guesstimate to the odds.  If I had a greenhouse, then the odds would be even greater.  But I don't.  I could have improved the odds somewhat by breathing over my carrots as they photsynthesized.  But I chose to spare them this ordeal.  So I am left to make various liberal approximations to arrive at my answer.

If you were in this situation, what would you say the odds might be?  Make any approximation assumptions you deem necessary.  Also remember that plants respire too.  So you must factor into your calculation the odds that an atom of carbon from your breath that was incorporated into your carrot's sugar, was oxidized by the plant itself at night (and that the resultant molecule of CO<sub>2</sub> was lost to the wind.) 

Your answer indicates the odds of communing with your carrot in a special, albeit totally bizarre way!

]]>
   </content>
</entry>
<entry>
   <title>A Metaphorical Essay - Google News, Air, and TCP/IP</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2007/07/google_news_and_tcpip.html" />
   <id>tag:www.pandamatak.com,2007:/people/anand/blog//2.27</id>
   
   <published>2007-07-29T19:22:05Z</published>
   <updated>2007-07-30T06:20:38Z</updated>
   
   <summary>If you could see the individual molecules of air in a perfectly still room, you would see that the molecules are anything but still. They are moving in all directions, apparently randomly. Each has its own spin, and its own...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Essays" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Misc" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      If you could see the individual molecules of air in a perfectly still room, you would see that the molecules are anything but still.  They are moving in all directions, apparently randomly.  Each has its own spin, and its own story to tell.  Yet the room itself, made up of millions of these molecules, has the picture of perfect calmness as though nothing in it is even stirring.  In the calm of this room lies buried the solution to the most pressing problem in objective journalism.


      <![CDATA[People often complain about biased views in mainstream media.  That media is inherently biased is not a disputable issue.  If anything, it is indisputably true.  After all, it is a human behind the lens and the pens.  How could one hope to ever provide an objective, unbiased picture of the real world, through a portal of finite dimensions?  Should we just give up consuming news except for the sake of entertainment, a commendable use to which it seems increasingly to be put?

Therein lies the fundamental problem of journalism.  While the problem can never be solved completely, I believe that it can be mitigated "to the limit".  What I mean is that it is possible to define an abstract, albeit unattainable, standard of "purely objective" journalism, and devise ways that approach it with increasing closeness.  Google News is one such approach and, I submit, the best we have to date of as unbiased a presentation as possible.  In this respect, I was strongly attracted to a metaphorical viewpoint.

The following parallel occurred to me as I was defending Google News to a friend.  I said that Google News does to journalism what TCP does to IP.  For those not "in-the-know" IP is the Internet Protocol, the language used by computers to talk to each other over the vast Internet.  Yet, incredibly, IP is unreliable.  It provides <b>no guarantees</b> that packets of information you send to your recipients will reach them in the correct sequence, and much less whether they will reach at all.  How then does the average Internet user today enjoy email, blogs and e-commerce, and even secure banking transactions, all built over the admittedly fallible Internet?  The answer lies in a layer called TCP or the Transmission Control Protocol.  TCP is concerned with end-to-end communication and provides the reliability guarantees that we want.  (Of course, one can imagine layers built over TCP to provide increasingly higher levels of reliability to approach true reliability "in the limit").  TCP mediates all communication between Internet users by intercepting our packets to IP, and ensuring via suitable confirmations and acknowledgments from the remote end whether our messages make it through.  If they don't, TCP tries again, and again, until it either succeeds in delivering our package, or letting us know of an underlying problem.  The beauty of TCP is that it starts out with the assumption of an unreliable Internet, and yet, instead of throwing up its hands and giving up, it builds on top of it to deliver something reliable!  

I believe Google News has done exactly the same thing to journalism.  It starts off with the assumption that mainstream media is inherently biased.  But instead of throwing up its hands and giving up, it leverages the vastness of the space of such biases, and identifies (although indirectly) a collection, or some subset of biased views such that the sum total bias of this collection is as small as possible!  Indeed, what better way for objective persons to decide for themselves on the "righteousness" of a war, than to read about articles from both sides, juxtaposed to each other!
]]>
   </content>
</entry>
<entry>
   <title>Ratatouille (2007)</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2007/07/ratatoille_2007_1.html" />
   <id>tag:www.pandamatak.com,2007:/people/anand/blog//2.23</id>
   
   <published>2007-07-22T16:45:45Z</published>
   <updated>2007-07-23T01:58:55Z</updated>
   
   <summary>Yesterday, we decided that my wife and son would go to see Harry Potter, while I would take our daughter Katya, too young for Potter, to see Shrek the third. That we were unaware of Shrek no longer playing in...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Flicks" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Reviews" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[Yesterday, we decided that my wife and son would go to see <a href=http://imdb.com/title/tt0373889/>Harry Potter</a>, while I would take our daughter Katya, too young for Potter, to see <a href=http://imdb.com/title/tt0413267/>Shrek the third</a>.  That we were unaware of Shrek no longer playing in theaters signifies the inordinate infrequency with which we have been to cinemas lately, the last one being the rather unremarkable "<a href=http://imdb.com/title/tt0413895/>Charlotte's Web</a>".  This time we were spurred into action by pressure from a long-standing promise we had made to the kids.  Since Shrek was out, we decided that Mathangi and Panini (wife and son) would watch Potter and then snack, while Katya and I would snack and watch <a href=http://imdb.com/title/tt0382932/>Ratatouille</a> (in that order to fit slight mismatches in the movie schedules).  Unfortunately, Katya was too young for Ratatouille also, for she said there was too much "talking" in the film; but fortunately, I was aged just right for it, or at any rate I enjoyed it so much that this is certainly one for my DVD collection.

]]>
      <![CDATA[Quite by chance, I had been reading <a href=http://www.folklore.org/ProjectView.py>Apple Macintosh Folklores</a> on the Web just a few days earlier.  I'm grateful for this serendipitous coincidence because it allowed me to appreciate Ratatouille even more.  Of course, I doubt if anyone watches Pixar movies for the computer graphics!  These, we take for granted from the company ultimately behind the Macintosh, iPod and iPhone.  What amazed me was how Pixar has consistently been able to come up with good stories and mix each with a harmonious blend of the right character development, music, screenplay and dialogue.  Almost like making the perfect Ratatouille!  

One particularly memorable scene happens towards the end, when Anton Ego is all set to taste his dish at Chef Gusteau's. I kept thinking how the writers could possibly pull it off.  What would be the best way to handle this situation?  How could they portray the "conversion" of a strong personality such as Anton's without some some predictable line or a cliched device? The flash-back, the perfect cut-scene, was a surprise for me.  It resonated with my fresh memory of folklore.org words on the happenings at early Apple.  I bet a zillion different approaches were tried here (as is obvious in many other parts of the film too), and they were each vetoed for not being a perfect match for what the moment demanded.  Having now seen it, I cannot imagine how the situation could have been handled better.  All I can say is that the film was consistent with my preconceptions about the "quest for the best" by visionary Jobs.  If he was not directly behind the binary switch that okayed or vetoed every minor feature of Ratatouille, I'll bet that someone very much like him was.

Thanks Pixar, for another masterpiece.  And as it says at the very end of the movie, a special Ratatouille thank you to Steve Jobs, of course! 
]]>
   </content>
</entry>
<entry>
   <title>Enjoyed, and plan to review</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2007/07/enjoyed_and_plan_to_review.html" />
   <id>tag:www.pandamatak.com,2007:/people/anand/blog//2.26</id>
   
   <published>2007-07-22T14:15:12Z</published>
   <updated>2007-08-02T16:33:24Z</updated>
   
   <summary>The following are films I have enjoyed, and recommend if your persuasion intersects with mine. I hope to write a review someday because the film lets me say something about an issue about which I have strong feelings. Jun &apos;07...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Flicks" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[The following are films I have enjoyed, and recommend if your persuasion intersects with mine.  I hope to write a review someday because the film lets me say something about an issue about which I have strong feelings.

<h3>Jun '07</h3>
<ol>
  <li><a href=http://imdb.com/title/tt0329393/>Mr and Mrs Iyer (2002)</a>
  <li><a href=http://www.imdb.com/title/tt0092067/>Castle in the sky (1986)</a>
  <li><a href=http://www.imdb.com/title/tt0118884/>Contact (1997)</a>
</ol><p>
...


]]>
      
   </content>
</entry>
<entry>
   <title>The CPA Nube Lube Tube</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2006/11/the_cpa_nube_lube_tube.html" />
   <id>tag:www.pandamatak.com,2006:/people/anand/blog//2.32</id>
   
   <published>2006-11-19T02:11:50Z</published>
   <updated>2007-07-26T21:12:28Z</updated>
   
   <summary> Grease to ease the transition of newbies into the fascinating world of Cost-Per-Action (CPA) advertising First appeared in San Jose Mercury News Forums, Nov 18, 2006. Consider the following ad, the likes of which we are all only too...</summary>
   <author>
      <name>&amp;</name>
      <uri>http://pandamatak.com/people/anand</uri>
   </author>
         <category term="Essays" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      <![CDATA[<div style="color:cyan; font-size:90%; padding:10px;">
Grease to ease the transition of newbies into the fascinating world of
Cost-Per-Action (CPA) advertising<p>

First appeared in <a href=http://forums.mercurynews.com/n/mb/message.asp?webtag=mn-biz&msg=175.1&>San Jose Mercury News Forums</a>, Nov 18, 2006.<p>
</div>

Consider the following ad, the likes of which we are all only too
used to routing promptly into our spam buckets.<p>

<blockquote style="color:orange; text-align:center;">
"The sex of your baby predicted CHEEP!  Guaranteed Results.  150% REFUND
 for wrong predictions"
</blockquote><p>

There you have it - a simple and sweet business plan if ever there was
one.  But people who ponder can promptly peer past its imposturous
garb. This is just gambling in disguise.  Suppose the service costs
$1.00 and a thousand naive couples paid for it. On average, five
hundred of them will receive a refund of $1.50; the rest will
presumably be happy to have been told the sex of their baby.  Despite
the refunds, however, the service provider is $250 better off than she
was before, and for no more effort than flipping a coin for each
customer.  Immediately, one can tell that the scheme is a rip-off,
aimed at defrauding innocent parents-to-be of precious
baby-dollars.<p>

To the uninitiated, that is exactly how CPA advertising is being
framed by ad-networks steeped in profiting from traditional methods:
"Give us your ads.  We'll show them.  You only pay for ads that result
in a sale, but not a cent on the rest."  On the surface, yes; this
does look like a scam.  But fortunately, this is not what CPA is
about.  In fact, CPA represents the exact opposite.  CPA ad-networks
don't just flip a coin to show an ad.  Considerable effort and
investment go into determining where each ad is most likely to appeal,
and, of course, web real-estate on which to show ads does not come
free either.  A CPA network will actually "lose" money if you don't
make it and therefore it is in their best interest to make sure you
are successful.<p>
]]>
      <![CDATA[The CPA paradigm is the logical next step in the natural progression
where power is transferred from the few titans that tenaciously tote
it into the hands of the hapless hundreds who actually need it.  It
does with traditional advertising what online brokerages have done
with stocks and funds, eBay has done with merchandise and Google has
done with information.  Each has brought their respective commodities
and the power to make decisions one step closer to the end-user than
they were before.  In the evolution of a fair and global society where
power and information are shared by everyone rather than a fortunate
few, CPA represents the next milestone for advertising.<p>

I had always thought that CPA would be the fairest scheme of all to
advertisers and that its basic principles would be straightforward
enough to grasp immediately.  But that seems not to be the case, at
least as evidenced by a number of articles that describe
misconceived notions of what CPA is all about.  As recently as last
week, Kevin Lee's column in ClickZ claimed "Selling inventory on a CPM
guarantees a return ... CPA publishers are much happier piggybacking
on demand you've already created than actually creating demand", a
telling revelation that bespeaks signal ignorance about how CPA works.<p>

<blockquote style="color:orange; padding:10px;">
Consider this: After many months of unsuccessfully
trying to sell his house on his own, John finally decides to use the
services of a professional.  Now there's Mike, an established realtor
who gladly agrees to stage John's home for several viewings but only
in return for a fee for each staging, plus a percentage-based
commission should the house ever get sold.  But there's also Bob, a
young and enthusiastic newbie, who is happy to stage John's home for
free, and only takes the percentage-based sale commission.  Which one
of the two should John choose?
</blockquote><p>

Here is a glimpse into John's train of thought.  "Well, Mike's an
established realtor.  He has a number of contacts and is probably
better equipped to get viewings from serious buyers.  On the other
hand, what does Mike care if my home doesn't sell?  He's getting a
staging fee anyway, and for all I know, that's probably what he makes
his living from.  But here's Bob, fresh out of ivy-league school.  He
claims to have done a lot of research and promises to stage my home in
front of the few potential buyers that really matter.  What do I have
to lose by giving Bob a chance?  Nothing really.  Mike?  About $200 a
showing!  So if I go with Mike, I'm just really paying to get my house
in front of his elite-clients.  Hmm..."<p>

At this point John probably wants to find out if Mike's clients are
exclusive to him or whether Bob also has access to them.  Fortunately,
soon he'll find out that there are no exclusive deals on the buyer
side.  Home buyers are a precious few, and they prefer not to get
locked to specific realtors.  With his latest hi-tech precision guided
methods, Bob has most likely already identified and approached these
very buyers to arrange a viewing of John's home.  Clearly then, it
makes more sense for John to go with Bob, or at the very least give
Bob a chance while retaining Mike on the side.  If Mike has an
exclusivity-clause that forbids John from using the services of Bob,
well then - there need be no more explicit a signal from Mike that he
feels threatened by Bob, in which case John's better off going
exclusive with Bob.<p>

This is exactly the analogy to keep in mind while choosing between CPA
and traditional advertising (or CPM) models.  With traditional models,
you pay to showcase your offering.  The ad-network will get paid by
you regardless of whether your ads make you money.  Once you've signed
up to deliver your ads through them, you have effectively committed
your funds.  To be fair, it's in the interest of the ad-network to
make you money, of course.  They know you won't come back if you don't
realize revenue.  But it's just not a life-or-death issue for them
like it is with CPA networks.  As an advertiser, I'd be prudent to use
the services of a network for which making me money is a "burning"
issue, not just a desirable one.<p>

<h3>A CPA NETWORK THAT IS RIGHT FOR YOU</h3>

CPA networks come in several flavors and there's bound to be one that
strikes the perfect chord with your needs.  A network that offers
manual targeting allows you to suggest where you think your ads will
perform best.  You can choose your ad's destination with levels of
granularity ranging all the way from naming specific web pages, down
to providing keywords that you think a candidate web page must have
before your ads will be considered for placement on them.  A network
that offers automatic targeting, on the other hand, entrusts the
ad-to-web-page matching to cleverly designed Artificial Intelligence
algorithms (these are getting better by the day and you'd be wise to
give machine determined matching a try).  Of course, most networks
also give you a menu with varying mixtures of manual and automatic
targeting.<p>

Because the viability of a CPA ad-network is most closely tied to your
own success, you should also expect them to invest the most effort in
ensuring the best destination web pages for your ads.  For this
reason, you can also expect the most automation from CPA networks, and
you as an advertiser will not have to learn the black art of tweaking
any of the gazillion knobs to route your ad correctly.  Very often,
due to the sheer number of possible ad-destinations, a
machine-determined match in real-time is bound to be of better quality
than manual specifications.  For example, you could have asked for your
Canon-A500 ad to appear on pages under photographyblog.com, but it's
quite possible that a different website summarizing features of
various compact cameras is a much better destination for your ad than
a page under photographyblog.com that talks about scenic spots in
Nepal.<p>

In any case, regardless of how the match of your ad to a web page is
determined, there is bound to be competition for advertising space on
that page.  In this situation, networks with at least a nominal amount
of automatic targeting tend to do the fairest thing.  Ads will be
algorithmically ranked by relevance to that page and only then will
ties be broken by bid price for the contested spot.  In some cases, a
more sophisticated measure based upon both relevance and bid-price is
calculated; but you will be hard-pressed to find a self-respecting
automatic-targeting network, whether CPA or CPC (Cost-PerClick), that
shows totally irrelvant ads on a page just because the advertiser
offered a high bid-price for that spot.<p>

In this scenario, both the CPA and CPC frameworks work in
favor of the advertiser because the networks stand to lose by showing
an irrelevant ad (No clicks or no actions mean no revenue for the
network).  No such luck, however, with traditional or CPM advertising
because you as an advertiser have to shell out your precious pennies
even if your ads for snow boots are shown on Equatorial Guinea tourism
pages.<p>

<h3>SUMMARY</h3>

Hopefully, you can now see how advertising has evolved over the years
to the benefit of advertisers.  With CPM, advertisers paid for their
ads to be shown, but didn't get performance guarantees.  Along came
CPC, where the network took on part of the onus of ensuring
ad-performance.  Ads that weren't clicked didn't cost the advertiser
anything.  However, this was prone to click-fraud; despite this, CPC
was hugely successful because it was the next logical step in
empowering advertisers.  Finally, CPA is here.  One may view this as
mature CPC, where the click-fraud problem with CPC has also been
addressed.<p>

Far from flipping coins to serve its clients, it should now be clear
that a CPA network needs to do several things.  It needs to collect a
vast inventory of destination web-site addresses.  It needs to accept
and store a large number of ads from advertisers.  Every time a web
page in its inventory is displayed on a browser, it needs to select
the most relevant ads from this bank, resolve ties for spots based
primarily on relevance, but also (and only secondarily) on the spot's
bid-price, and display the ads.  But unlike for CPM and CPC networks
it doesn't end here; CPA networks further need to track viewers'
actions.  If a viewer performs an action that counts, then, and only
then, should it bill the advertiser.  Clearly, infrastructure to do
this is sophisticated, complex and costly.  You, as an advertiser,
must understand that it is doubly in the interest of the CPA
ad-networks to ensure your ads perform the way you want.  They want to
maximize your revenue because that's the only way they can maximize
theirs.<p>

Before wrapping up, let's briefly look at three common myths about CPA.<p>

<B>MYTH 1</b>: In a CPA framework, it is easy to defraud advertisers by
generating "fake-actions"<p>

<b>DEBUNKED</b>: Click-fraud is a major problem with CPC advertising
and indeed there need be no greater indictment of click-fraud in CPC
than a telling statement by Eric Schmidt, the chief of CPC king
Google: "...there is a perfect economic solution [to click-fraud]
which is to let it happen".  There is, in fact, a better solution -
CPA.  With CPA, advertisers do not pay unless they have a sale, lead,
or some other valuable action.  Intelligently selected actions are not
recorded unless a confirmation page is displayed (at which point your
customer has already been "billed").  A fraudster cannot fake such an
action without actually being accountable to you.<p>

<b>MYTH 2</b>: In a CPA framework, advertisers don't have any control over
where their ads appear.<p>

<b>DEBUNKED</b>: CPA advertisers have at least as much control over where
their ads appear as they do with CPC or CPM.  In fact, as I described
earlier, the CPA network has the most vested interest in ensuring that
your ads are well placed. They take your advice on potential ad
destinations most seriously because they appreciate that you, as an
advertiser, know best about your own domain.  Simultaneously, like
many CPC networks, they also provide you with the option of leveraging
powerful AI algorithms to help you target your ads precisely.<p>

<b>MYTH 3</b>:  "The CPA mindset is dangerous. It can kill your business"
(quoting Kevin Lee in his ClickZ column)<p>

<b>DEBUNKED</b>: As I have tried to explain, not only is the CPA
mindset not dangerous, but it is actually detrimental to your business
to not think CPA.  To claim that this uniquely customer-empowering
natural evolution of advertising can kill your business is
regressing back to primitive days.  It is like the warning "Sailing
past the horizon is dangerous.  You could fall off the edge of the
earth and kill your passengers."<p>
]]>
   </content>
</entry>
<entry>
   <title>The red button that vaporizes earth</title>
   <link rel="alternate" type="text/html" href="http://www.pandamatak.com/people/anand/blog/2006/01/the_red_button_that_vaporizes.html" />
   <id>tag:www.pandamatak.com,2006://people/anand/blog//2.9</id>
   
   <published>2006-01-01T20:00:00Z</published>
   <updated>2007-07-10T16:15:49Z</updated>
   
   <summary>Hi H I was troubled by your question. &quot;What would an &quot;amoralist&quot; (Hindu/Buddhist) response be to the question: Should you press the red button that instantly vaporizes the Earth?&quot; I realized that the reason I was troubled was that it...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Letters" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.pandamatak.com/people/anand/blog/">
      Hi H

I was troubled by your question.  &quot;What would an &quot;amoralist&quot;
(Hindu/Buddhist) response be to the question: Should you press the red
button that instantly vaporizes the Earth?&quot;  I realized
that the reason I was troubled was that it was an unfair question.  I
think it is unfair is because it silently shifted the onus of
answering this important question from the &quot;personal god camp&quot; into
the &quot;impersonal god&quot; camp.  The analogous situation would be if
Einstein was asked by creationists &quot;What happened before the Big
Bang?&quot; He does not have an emotionally satisfying answer, but recognizes
the absence of it, in contrast to the creationist response that postulates
an entity (itself questionable), in answer.

So the Buddhist response to the Red-button question would be &quot;This
question is irrelevant philosophically&quot;, or &quot;I don&apos;t have an answer, and
I bet you don&apos;t either&quot; or more typically Buddhist &quot;I don&apos;t know and if
you think you have a truly coherent answer I&apos;d be very interested to
benefit from it&quot; :-)

I am reminded of the joke wherein a bunch of creationists deride
philosophers saying &quot;You philosophers are like a bunch of blind people
in a dark room, looking for a black cat that isn&apos;t there&quot;.  The
philosophers respond &quot;That may be true, but you creationists would have
found it.&quot;

&amp;

      
   </content>
</entry>

</feed>
