<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>aBlog</title>
      <link>http://www.pandamatak.com/people/anand/blog/</link>
      <description>Anand Venkataraman&apos;s Blog</description>
      <language>en</language>
      <copyright>Copyright 2012</copyright>
      <lastBuildDate>Mon, 31 Dec 2012 17:23:46 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Quora answer on Programming advice for novices</title>
         <description><![CDATA[It’s that time of year when I can sit down to write letters and other waffly things. I have wanted to follow up on this question ever since my friend Josh Levy posted an excellent answer many moons ago. Here’s my chance to chime in with an orthogonal perspective.

A popular anonymous quote best captures what I’m about to say, and be warned - it’s going to look counter-intuitive at first: “Please excuse the length of this letter. I do not have the time to be brief.” 

After many years of soaking in the field, first as a hobbyist in my teens, then as a formal student of CS, as a practitioner coding for hours on end in various languages, as a faculty member teaching the science and the art, as a hiring manager of many top-notch programmers with whom I am proud to be associated, and most importantly as a nerd unafraid to code at every available opportunity, I have come to realize the subtle truth in the following dictum. I now try to impart it to aspiring newbies any time I’m able to: 

<blockquote>
       <strong>“Strive to code many hours, but few lines.”</strong>
</blockquote>

]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2012/12/quora_answer_on_programming_ad.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2012/12/quora_answer_on_programming_ad.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Forum Posts</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">less-is-more</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
        
         <pubDate>Mon, 31 Dec 2012 17:23:46 -0800</pubDate>
      </item>
            <item>
         <title>Do it with D3 - Lazy Loading Images</title>
         <description><![CDATA[I'm lucky to have stumbled upon <a href=http://mbostock.github.com/d3/>Mike Bostock's excellent D3 library</a> when I was looking for a good implementation of force-directed layouts for certain kinds of graphs. I now use it for many more things than graph rendering. Data Driven Documents are indeed the future of the web and HTML5 apps, and d3.js is sure to have an enormous impact.

As an example of how D3 helped me greatly simplify things I'd hitherto put together using plain ol' javascript and jQuery, Here's an adaptation in D3 of a lazy image loader I'd written last year. The old code was over 50 lines long and not as simple as befits an obviously simple task such as lazy loading.

Now, using D3, the code is an awesome 10 lines of pure simplicity.  <a href="http://pandamatak.com/people/anand/demo/lazy">See the demo here</a>. (View Source to copy).

&

]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/12/do_it_with_d3_lazy_loading_ima.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/12/do_it_with_d3_lazy_loading_ima.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">d3</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">images</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">lazyloading</category>
        
         <pubDate>Sat, 03 Dec 2011 17:52:11 -0800</pubDate>
      </item>
            <item>
         <title>A Google room with two doors</title>
         <description><![CDATA[A room with two doors and scant else.  I love Google and its products. Despite some points made in <a href=https://plus.google.com/112678702228711889851/posts/eVeouesvaVX>Steve Yegge's fantastically well-written and enjoyable rant</a>, I've always thought its obsessive product focus and extreme emphasis on minimalistic designs a wise investment. After all, you can always furnish an empty house with furniture of your liking (as long as the doors are wide enough), but you can't reconfigure a home crammed with someone else's favorite furniture that's bolted right down.

But then I recently noticed an alarming misstep in Google's product design - Almost half as bad as LinkedIn's horrible home page that has <strong>'Sign Up'</strong> fields showing by default rather than <strong>'Sign In' fields with an optional link to 'Sign up if not already a member'</strong>. The latter and better design makes it easy for returning visitors (which a CEO should hope to be many). The former makes it one search-and-click harder for loyal users while embarrassingly making this implicit admission - that there is a greater business need for new users than for retaining existing ones. The latter says we'll take good care of you once you're with us. The former says "We love those that don't love us more than those that do - That's natural human psychology, and you better get used to it right now, so there!"
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/10/a_google_room_with_two_doors.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/10/a_google_room_with_two_doors.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">google</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">product-design</category>
        
         <pubDate>Sun, 16 Oct 2011 09:19:13 -0800</pubDate>
      </item>
            <item>
         <title>What&apos;s a Yot?</title>
         <description>Last week, on the way back from my swim at the Y, I noticed a number of cop cars outside the house opposite the Y. I was consumed with curiosity as any sane person would be, but wouldn&apos;t dare stop and ask them what it was all about. We all know how much cops like lookie loos.

</description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/05/whats_a_yot.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/05/whats_a_yot.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
        
         <pubDate>Mon, 09 May 2011 23:32:29 -0800</pubDate>
      </item>
            <item>
         <title>Ode to Tech Cooks</title>
         <description><![CDATA[I wrote this for my wife's recipes website a few months ago. But I like it so much that I have decided to share it with everyone :-) :-)

<div style="text-align:center;">

<h3>Ode to Tech Cooks</h3>

No potatoes, no carrots, no garlic nor leeks
  But algos and APIs, ambrosia for us geeks

No whey, no milk, no butter nor curds
  Just programming poils, to bond with fellow nerds

Not how to make pickle, with dills that are kosher
  But how to get out of one, with clever use of closure

Not how to jazz up that boring curry with spices
  But how to resize in real-time with push, pop and splices

No mention of pesto, pate, or fry-less fwitters
We're itchin' to share how we wall-posts and twitters

You won't find us by the oven, or sweatin' by the stove-top
  We're lounging on that sofa, logged into our lovetop

Not chopping, not dicing, not sifting by the pound
  But hacking, tuning, refining, 'til Zarro boogs found!

</div>

PS. BTW, I know at least one other person (Stewart Alsop of Alsop-Louie) likes this poem. But he's a self-confessed foodie like me.
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/05/ode_to_tech_cooks.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/05/ode_to_tech_cooks.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
        
         <pubDate>Sun, 08 May 2011 23:48:42 -0800</pubDate>
      </item>
            <item>
         <title>A proof from the mouth of a babe</title>
         <description><![CDATA[One of the high points of this last academic year has been volunteering in Katya's 2nd/3rd grade English and Math classes. I was suitably rewarded for this just a few weeks ago with a delicious treat of an elegant mathematical argument from a 2nd grader (Katya's in 3rd). Here's the puzzle and its solution (names of individuals have been changed).

It all started with the teacher, Judith, posing a seemingly simple problem to the kids. She was teaching fractions that Thursday. In the latter half of Math class, the kids were each given rectangular cards, and asked to imagine they were cookies (or pizzas). Since classes at Ohlone are always mixed between two grades, the problems are always posed in a range of difficulties. With this one, the kids had to divide up their cookies into 2, 4, 8 and 3 equal parts. The more different ways you could slice it up, the more points you get.

The puzzle I want to talk about concerns the division of the rectangle into 4 equal parts. Most kids did it the conventional way, by which I mean folding the rectangle in half, first vertically, then horizontally, and cutting along the creases. Edgar (name changed), however, adopted a different tack. He folded the rectangle along its two diagonals.

The cool thing about this is that it's not immediately obvious that this way of cutting the rectangle produces 4 equal cuts, especially not to 2nd or 3rd graders. See the figure below, for instance:

<div style="text-align:center;">
<img alt="rectangle-1.jpg" src="http://www.pandamatak.com/people/anand/blog/rectangle-1.jpg" width="411" height="160" />
</div>

Can we tell immediately that Slice A is the same size as Slice B? Edgar claimed they were, but wasn't able to explain it - he just felt it in his gut.  Judith, awesome teacher that she is, immediately recognized the opportunity to enrich and picked up on this issue, calling the attention of the entire class to the problem. She wrote it up on the white-board and named it "Edgar's challenge". Anyone who was done with the rest of the problems was welcome to give it a shot. Can they show that the four slices were the same size?

]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/05/a_proof_from_the_mouths_of_bab.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/05/a_proof_from_the_mouths_of_bab.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Happenings</category>
        
        
         <pubDate>Sun, 08 May 2011 08:49:19 -0800</pubDate>
      </item>
            <item>
         <title>Gmail Autologout and Timed Session</title>
         <description><![CDATA[<div style='text-align:center;'>
  <img alt="gm-autologout.png" src="http://www.pandamatak.com/people/anand/blog/gm-autologout.png" width="508" height="189" />
</div>

If your family is anything like ours, and your home is anything like ours, then you probably have one laptop per member on average, but everyone seems to prefer to use the <em>"living room laptop"</em> that's always sitting on the coffee-table. Thank Google for this - We don't really need to live down on earth any more, preferring instead the lofty locale of the clouds wherein most of our data resides.

The upside of this situation is that we are much more tolerant of individual computer crashes, since every machine to us is pretty much the same once we login. But the downside is that we invariably forget to log out of sessions in the common pool of machines we tend to use. This is normally no big deal, but the living room laptop tends to get used by our guests too. I have too often had to log out of private email sessions left open by our guests (as I hope my hosts will do for me in their homes :-)

To save time, worry and potential embarrassment, I've always wished that Gmail provided a configurable Autologout feature that users can turn on in their personal profiles. This would save them the trouble of having to remember whether they logged out of their sessions before they left for home.

Finding no such "Labs" feature and waiting all too patiently for it to appear, I eventually ended up writing my own (based on Chris Nguyen's cool Greasemonkey script for Searching Unread mail in Gmail). Because I have it on good authority from my friends at the big G that a full featured auto-logout will likely make its appearance in Gmail Labs sometime soon, I saved myself the trouble of embellishing the bare-bones functionality of this feature. But I find it useful, and hopefully so will you, until the official feature is released from the plex.

Here are the few really simple instructions on how to get a timed Gmail session with auto-logout within your browser. Oh, BTW, I implemented a Timed Session, rather than auto-logout based on inactivity - it's a quicker hack; I didn't have to listen for events and such.
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2011/02/gmail_autologout_and_timed_ses.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2011/02/gmail_autologout_and_timed_ses.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
        
         <pubDate>Thu, 24 Feb 2011 06:53:50 -0800</pubDate>
      </item>
            <item>
         <title>Client-side image crop and then upload</title>
         <description><![CDATA[Earlier this week, Mathangi wanted to know if it's possible to crop an image in the browser and then upload it to the server for her website. I promised I'll think about it over this weekend. So I got up early today and spent a good hour looking around for a solution. There seems to be a ton of code out there that lets you crop an image using JavaScript and PHP, including the excellent JCrop library. However, these all seem to be written for pre-HTML5 days. While you can define the crop area on the client, actual cropping is done on the server. See for example, at the time of writing, the <a href= "http://deepliquid.com/content/Jcrop_Implementation_Theory.html"><em>disclaimer</em></a> in the JCrop manual.

<blockquote>
Jcrop creates an interface to crop an image. However, actually creating a new, cropped image file is obviously beyond the scope of a client-side plugin. It may also be the most challenging part of implementing such a process in your web application (now that you've found Jcrop).
</blockquote>

Unfortunately, this defeats the whole purpose of the upload for my wife. She wants the image cropping to be done on the client because the upload will be much smaller, and only consist of the <em>area of interest</em> that the user <em>wants to upload</em>.  Not the whole 10MB JPEG file.  But fortunately, the task may not be as <em>challenging</em> as the disclaimer suggests.

So I put together a quick and tiny solution using a combination of JCrop, JQuery, HTML5's neat File and Canvas APIs, and a "clever" trick. Here is the full code in its awesome smallness (only about 32 lines for the HTML file and 55 lines for the JS including comments).  Obviously you need to embellish it considerably.

You can see this code in action at <a href="http://pandamatak.com/people/anand/demo/crop"> this demo here</a>.  Of course, it only works in HTML5 compatible modern browsers, such as Chrome, Firefox and Safari.

If you're just interested in the code, feel free to grab it by Viewing Page Source, and then linking through to the JavaScript in the file crop.js.

</ul>]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2010/11/clientside_image_crop_and_then.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2010/11/clientside_image_crop_and_then.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">client-side</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">crop and then upload</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">html5</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">images</category>
        
         <pubDate>Sat, 06 Nov 2010 08:44:10 -0800</pubDate>
      </item>
            <item>
         <title>How much energy does a 100kg human pack?</title>
         <description><![CDATA[One of the things I absolutely love about dropping Panini off at JLS is to engage in some absolutely refreshing nerdy conversations. These are always interesting, often funny, and frequently educating to both of us.

Today, we talked about fusion and energy. It turns out he was just learning about the periodic table and the elements. He asked how a helium atom can be made from hydrogen atoms and enquired why the mass of the helium atom is less than the mass of the "ingredients" that went into it. 

I, of course, took that opportunity to introduce fusion at a high level and said that some of the mass is turned into energy. He was amazed to learn, as we all are at first presentation, that mass is a compact form of energy. So he naturally asked "How much energy is there in a person if we turn them completely into energy?"

I said that's pretty easy to calculate.  Let's make some simplifying assumptions. Take a person that weighs 100 Kilograms so we can work the numbers in our head while still paying attention to the road. Einstein's equation tells us that the mass of this person, if converted entirely into energy is given by E=mc<sup>2</sup>.  If we assume c to be 300,000 kilometers per second, or 3x10<sup>8</sup> meters per second, then c<sup>2</sup> is 9x10<sup>16</sup>. If we multiply this by the mass of the person, we get 9x10<sup>18</sup> Joules.

Here is where the fun really starts. On face value, 9x10<sup>18</sup> Joules is just a number, albeit a pretty large one in energy-speak. When you state a bland fact like "A 100 Kg person can be converted into 9x10<sup>18</sup> Joules of energy if we completely annihiliate them, reactions will be very mixed, ranging from "Wow that's interesting" (meaning actually <b>not</b>) to "that's a huge amount of energy, isn't it?" (meaning, "I have no idea what that means").



]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2010/11/on_relating_to_scientific_fact.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2010/11/on_relating_to_scientific_fact.html</guid>
        
        
         <pubDate>Wed, 03 Nov 2010 09:02:41 -0800</pubDate>
      </item>
            <item>
         <title>Can connect to localhost but not to its IP Address?</title>
         <description>Welcome!  If you got here, you probably searched for &quot;Could connect to localhost, but not to its IP address&quot; or some variation of that phrase.

That&apos;s how I got here. To writing this post, that is. After unsuccessfully trying many clever variations of my query theme in finding an answer to this problem, we decided to troubleshoot it ourselves, ended up fixing it, and decided to blog for the benefit of the wider community.

If you&apos;re lucky, (a) our solution works for you and (b) this post shows up in the first few pages of your Google results saving you much time you might have wasted in following dead-ends.
</description>
         <link>http://www.pandamatak.com/people/anand/blog/2010/06/can_connect_to_localhost_but_n.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2010/06/can_connect_to_localhost_but_n.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
        
         <pubDate>Fri, 11 Jun 2010 07:34:25 -0800</pubDate>
      </item>
            <item>
         <title>From Powerpoint to Profitability</title>
         <description><![CDATA[Another fantastic year at 33Across.  We have come a long way since our early Power-point days. We have accomplished amazing feats and as Eric said at our recent all-hands, we have continued to hit the ball outta the park. We have had our ups and our downs, petty squabbles and grand confluences. But in the end, we've all come to truly appreciate what we have.

So here's to a great year in celebration and anticipation.  John, Mike and Sree - We missed you last night and hope you can make the next one.

<div style="text-align: center;">
  <a href="http://www.pandamatak.com/people/anand/blog/33x_dinner-2009-table-800x.jpg">
    <img alt="33x_dinner-2009-table-480x.jpg" src="http://www.pandamatak.com/people/anand/blog/33x_dinner-2009-table-480x.jpg" width="480" height="360" />
  </a>
</div>

Here's the 4-second video that FRC wanted - as one of us said, ultimate proof that the 33Across engineering team always over-delivers :-)

<div style="text-align:center;">

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/C1ht_mNJZ0U&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/C1ht_mNJZ0U&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

</div>

Happy 2010 all!

&
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2009/12/from_powerpoint_to_profitabili.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2009/12/from_powerpoint_to_profitabili.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Happenings</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">33across</category>
        
         <pubDate>Thu, 24 Dec 2009 16:36:34 -0800</pubDate>
      </item>
            <item>
         <title>Unintentional Poetry</title>
         <description><![CDATA[Here is the best of totally unintentional communal poetry. It's written by folk who didn't have the slightest suspicion that they were contributing to the effort, and shamelessly plagiarised by me.  

Read on, and sue me if they don't rival with the best koans you know.  After you've read the first one, see the picture below to reveal the secret behind the poem, and the names of the authors, themselves unaware of their worthy words.

<div style="color:gold; text-align:center;">
<div style="text-decoration:underline;">Please Tell Me</div><P>

Please tell me it is so
But what will you give me
Such a little firebrand

And I have no mother or father
From that dark day to the present
Far and few, far and few

Look what I pictured on road
At midday
scraped the cupboard
On that little heap of stones

But
You decide, if they die or not
Sorry for your father
Dead or alive

If I were
In the middle of a wood
Reed broke the silence
An inn when he suddenly noticed
You can save more on the goods for solving man's problems

</div>

And here's the secret to the origins of this poem.

]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2009/11/unintentional_poetry.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2009/11/unintentional_poetry.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Misc</category>
        
        
         <pubDate>Thu, 26 Nov 2009 10:19:01 -0800</pubDate>
      </item>
            <item>
         <title>Map-reduce, Hadoop and Clouds - When and When Not</title>
         <description><![CDATA[<h4>Can you process the entire Facebook network from a PC in your garage?</h4>

Over a decade ago, before I started my graduate work, my then-to-be
advisor gave me a little book and asked that I don't return to him
until after I've read it cover-to-cover.  This
book, <a href="http://www.guardian.co.uk/education/2002/nov/08/highereducation.books">How not to get a PhD</a> (apparently re-published on
a <a href="http://www.amazon.co.uk/How-Get-PhD-Handbook-Supervisors/dp/0335216846">more positive note</a> since 2002), was an invaluable source of wisdom and
advice to me not only before I started my grad work, but even during
it. It enumerated all the wrong reasons why one would want to do a
PhD.  Now, a decade since my degree was granted, rolled up and
squirilled away, I still find the wisdom in that little book
relevant. Not so much in making decisions about matters to do with
formal education, but in real life.<p>

In today's agile world, software projects typically demand strategic
choices over a plethora of possible solutions to most problems.  Some
solutions are appropriate for some problems and some aren't.  It's
important to choose a solution for all the right reasons, and it's
doubly important to not choose it for all the wrong reasons.  Human
factors complicate this issue because inappropriate solutions to some
problems are appropriate and good solutions to other problems.  And
these "other" problems are sometimes faced by reputed technology
companies, who lend "celebrity" status to the solutions.  This leads
the young engineer astray, and coerces them into thinking that just
because Google or Microsoft have found great success with a particular
paradigm, they ought to as well.  Further, within most companies,
there are bound to be a number of non-engineering execs whose
bandwidth is almost completely soaked up by non-engineering matters.
It is consequently easy to get their buy-in for adopting such
technologies using that unfortunately untrue magic phrase, an
<span style="color:orange;font-weight:bold;">egregiously extant engineering enchantment</span> and the mother of all modus ponens if I can
call it that: <span style="color:orange;font-weight:bold;"><em>If it is good enough for Google, it ought to be
good enough for us"</em></span>.  It behooves every company to have at least
one theoretically and practically savvy engineer to protect precisely
against this kind of thing happening.  And to support decisions that
are data-driven, rather than driven by subjective matters such as
<em>coolness</em> and esthetics.  At worst, data-driven decisions are
at least likely to prevent general resentment among staff - one
person's sense of beauty may not always be another's.  On the other
hand, a truly creative idea or proposal is bound to bubble up and find general
support in the numbers.  Those that shirk experimentation,
calculation and testing are the <em>prophets of faith</em> that every
organization should strive to avoid hiring into engineering, in
preference to those that support the <em>voice of empirical
reason</em>.<p>

In this article, I want to focus on two specific <em>cool</em>
technologies that frequently go hand-in-hand: Google's Map-reduce
(e.g. Hadoop), and Cloud Computing (e.g. EC2). For whatever 
reasons possibly including those I've mentioned above, temptation is high among
many engineers today to use these sledge hammers to crack nuts.  As an
illustrative case in point, I'd like to take one of our typical
problems and talk about how we address it
at <a href="http://33across.com/">33Across</a>. Our customers often
express amazement at how we manage to process their gargantuan data
sets and produce results in short order, seemingly with ease.  We are
often asked probing questions that try to get us to divulge our core
data-processing techniques.  Needless to say, I won't be describing
any of our proprietary procedures or secret sauces here.  But a great
deal can be said without going into such matters.  Most of what we
have done to get where we are at is simply to follow published
information you can find in any decent computing journal on occasion,
but most of the time in good Computing-101 texts.  Before we dive into
using a framework that has any overhead associated with it, we always
do quick back-of-the-envelope calculations (not unlike Rapleaf's
<a href="http://blog.rapleaf.com/dev/wp-trackback.php?p=38">nice analysis of whether
to host or cloud</a>) to determine if it will really be worth it.<p>
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2009/04/mapreduce_hadoop_and_clouds_wh.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2009/04/mapreduce_hadoop_and_clouds_wh.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Technical</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">33Across</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">cloud computing</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">facebook graph</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">map-reduce</category>
        
         <pubDate>Mon, 20 Apr 2009 21:10:52 -0800</pubDate>
      </item>
            <item>
         <title>The Four Fours</title>
         <description><![CDATA[This year I'm a volunteer teacher at JLS in Palo Alto to help guide a
small number of curious children into the wonders of advanced
mathematics over 12 classes in 6 weeks. The program is called "The
Number Devil".  It uses chapters from the similarly named book by
Hans Magnus Enzensberger as anchor points for discussion during each
class.<p>

Just before the holidays started, the students were to do a warm-up
exercise in preparation for diving into the deeper wonders of Number
Theory in upcoming classes.  Here is the exercise, called the Four
Fours.  Using exactly 4 digits, all of which are fours, and any number
of the arithmetic operators Plus, Minus, Times, Divide,
Exponentiation, Factorial, Square Root, and Parenthesis, derive each
of the numbers from 1 to 50.  E.g. One way you can derive 1 is
obviously 4/4 *4/4.  No doubt there are a number of different ways to
derive each number and the goal is to get students to think about
this, and to come up with expressions that are different from those of
their colleagues.<p>

We, however, decided to turn this little exericse into a game, which
as a matter of fact, also turned out to be a good game to occupy young
minds during the holidays!  Here is how you would play it:<p>

The game has 15 rounds.  Each round lasts 1 minute.  We tried to cover
15 numbers in the game.<p>

Each round consists of:<p>

<ol>
   <li> Host (me): Calling out a different random integer between 1 and 50.
   <li> Players: Each of them has 30 seconds to write an expression
        with exactly 4 4s and the arithmetic operators to get this number.
   <li> We compare answers and points are scored for this round as
        follows:
        <ul>
         <li> Zero points - No expression or invalid expression
              (meaning it doesn't evaluate to the number called)
         <li> M-N points - Otherwise.  M is the number of players and N is the number of other players who have the same expression as you.  If your expression is unique, you get the full M points for the round.
        </ul>
</ol><p>

]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2008/12/the_four_fours.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2008/12/the_four_fours.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Misc</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">four fours</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">math game</category>
        
         <pubDate>Wed, 17 Dec 2008 19:14:42 -0800</pubDate>
      </item>
            <item>
         <title>Cool Currency</title>
         <description><![CDATA[<div style="padding-left: 10px; padding-right:10px; color:yellow;">

After a long year of Sharon teaching their <em>delightful</em> children, the parents had decided to reward her. On Teacher Appreciation Day, following heart-felt expressions of gratitude and astonishment at what a wonderful job she had done, the head parent, who had coordinated by collecting contributions towards Sharon's gift, presented her with a brightly colored sealed envelope amidst generous applause.  

Sharon opened her gift with great eagerness and found what she would never have spoiled herself with in her wildest dreams - She was now the proud owner of a certificate bestowing upon her the gratitude of a thousand children in Rwanda, who had just been donated $500 on Sharon's behalf.  

Yes - The head parent, in her infinite wisdom, had decided that the best gift for Sharon would not be a couple of sessions at a posh Palo Alto Spa, or a comfy sofa to relax between classes, or even a Bloomingdale's gift card, but rather a donation to a worthy African cause in Sharon's name.  "What could please Sharon more?" would likely have been the most pressing question in her mind, as she tossed around various options for a gift to proudly decide that someone who spends almost every waking hour with children could only ever be pleased by being told that she had benefited yet more children.

</div>
]]></description>
         <link>http://www.pandamatak.com/people/anand/blog/2008/12/a_new_form_of_currency.html</link>
         <guid>http://www.pandamatak.com/people/anand/blog/2008/12/a_new_form_of_currency.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Essays</category>
                  <category domain="http://www.sixapart.com/ns/types#category">Misc</category>
        
        
         <pubDate>Sat, 13 Dec 2008 07:52:16 -0800</pubDate>
      </item>
      
   </channel>
</rss>
