<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pertinent Observations&#187; computer science</title>
	<atom:link href="http://noenthuda.com/blog/category/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://noenthuda.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 23 Jan 2012 11:11:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Data Science and Software Engineering</title>
		<link>http://noenthuda.com/blog/2011/08/02/data-science-and-software-engineering/</link>
		<comments>http://noenthuda.com/blog/2011/08/02/data-science-and-software-engineering/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 14:41:54 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[dumbfuck]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[hypotheses]]></category>
		<category><![CDATA[insights]]></category>
		<category><![CDATA[instinct]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[management jargon]]></category>
		<category><![CDATA[mind programming]]></category>
		<category><![CDATA[scientist]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=2196</guid>
		<description><![CDATA[I&#8217;m a data scientist. I&#8217;m good with numbers, and handling large and medium sized data sets (that doesn&#8217;t mean I&#8217;m bad at handling small data sets, of course). The work-related thing that gives me most kicks is to take a bunch of data and through a process of simple analysis, extract information out of it. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a data scientist. I&#8217;m good with numbers, and handling large and medium sized data sets (that doesn&#8217;t mean I&#8217;m bad at handling small data sets, of course). The work-related thing that gives me most kicks is to take a bunch of data and through a process of simple analysis, extract information out of it. To twist and turn the data, or to use management jargon &#8220;slice and dice&#8221;, and see things that aren&#8217;t visible to too many people. To formulate hypotheses, and use data to prove or disprove them. To represent data in simple but intuitive formats (i.e. graphs) so as to convey the information I want to convey.</p>
<p>I can count my last three jobs (including my current one) as being results of my quest to become better at data science and modeling. Unfortunately, none of these jobs have turned out particularly well (this includes my current one). The problem has been that in all these jobs, data science has been tightly coupled with software engineering, and I suck at software engineering.</p>
<p>Let me stop for a moment and tell you that I don&#8217;t mind programming. In fact, I love programming. I love writing code that makes my job easier, and automates things, and gives me data in formats that I desire. But I hate software engineering. Of writing code within a particular system, or framework. Or adhering to standards that someone else sets for &#8220;good code&#8221;. Of following processes and making my code usable by some dumbfuck somewhere else who wouldn&#8217;t get it if I wrote it the way I wanted. As I&#8217;d mentioned earlier, I like coding for myself. I don&#8217;t like coding for someone else. And so I suck at software engineering.</p>
<p>Now I wonder if it&#8217;s possible at all to decouple data science from software engineering. My instinct tells me that it should be possible. That I need not write production-level code in order to turn my data-based insights into commercially viable form. Unfortunately, in my search around the corporatosphere thus far, I haven&#8217;t been able to find something of the sort.</p>
<p>Which makes me wonder if I should create my own niche, rather than hoping for someone else to create it for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2011/08/02/data-science-and-software-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why You Should Not Do An Undergrad in Computer Science at IIT Madras</title>
		<link>http://noenthuda.com/blog/2011/07/18/why-you-should-not-do-an-undergrad-in-computer-science-at-iit-madras/</link>
		<comments>http://noenthuda.com/blog/2011/07/18/why-you-should-not-do-an-undergrad-in-computer-science-at-iit-madras/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 13:02:07 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[IIT]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[b tech]]></category>
		<category><![CDATA[bachelors]]></category>
		<category><![CDATA[clue]]></category>
		<category><![CDATA[colleges]]></category>
		<category><![CDATA[computer science degree]]></category>
		<category><![CDATA[cs students]]></category>
		<category><![CDATA[electrical engineering]]></category>
		<category><![CDATA[iit madras]]></category>
		<category><![CDATA[iitm]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[medicine]]></category>
		<category><![CDATA[medium term]]></category>
		<category><![CDATA[open doors]]></category>
		<category><![CDATA[parents]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[seniors]]></category>
		<category><![CDATA[seven years]]></category>
		<category><![CDATA[streams]]></category>
		<category><![CDATA[undergrad]]></category>
		<category><![CDATA[universities in india]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=2182</guid>
		<description><![CDATA[I did my undergrad in Computer Science and Engineering at IIT Madras. My parents wanted me to study Electrical Engineering, but I had liked programming back in school, and my JEE rank &#8220;normally&#8221; &#8220;implied&#8221; Computer Science and Engineering. So I just went with the flow and joined the course. In the short term, I liked [...]]]></description>
			<content:encoded><![CDATA[<p>I did my undergrad in Computer Science and Engineering at IIT Madras. My parents wanted me to study Electrical Engineering, but I had liked programming back in school, and my JEE rank &#8220;normally&#8221; &#8220;implied&#8221; Computer Science and Engineering. So I just went with the flow and joined the course. In the short term, I liked some subjects, so I was happy with my decision. Moreover there was a certain aura associated with CS students back in IITM, and I was happy to be a part of it. In the medium term too, the computer science degree did open doors to a few jobs, and I&#8217;m happy for that. And I still didn&#8217;t regret my decision.</p>
<p>Now, a full seven years after I graduated with my Bachelors, I&#8217;m not so sure. I think I should&#8217;ve gone for a &#8220;lighter&#8221; course, but then no one told me. So the thing with a B.Tech. in Computer Science and Engineering at IIT Madras is that it is extremely assignment incentive. Computer Science is that kind of a subject, there is very little you can learn in the classroom. The best way to learn stuff is by actually doing stuff, and &#8220;lab&#8221; is cheap (all you need is a bunch of computers) so most courses are filled with assignments. Probably from the fourth semester onwards, you spend most of your time doing assignments. Yes, you do end up getting good grades on an average, but you would&#8217;ve worked for it. And there&#8217;s no choice.</p>
<p>The thing with an Undergrad is that you are clueless. You have no clue what you&#8217;re interested in, what kind of a career you want to pursue, what excites you and the stuff. Yes, you have some information from school, from talking to seniors and stuff, but still it&#8217;s very difficult to KNOW when you are seventeen as to what you want to do in life. From this perspective, it is important for your to keep your options as open as they can be.</p>
<p>Unfortunately most universities in India don&#8217;t allow you to switch streams midway through your undergrad (most colleges are siloed into &#8220;arts&#8221; or &#8220;engineering&#8221; or &#8220;medicine&#8221; and the like). IIT Madras, in fact, is better in that respect since it allows you to choose a &#8220;minor&#8221; stream of study and courses in pure sciences and the humanities. But still, it is impossible for you to change your stream midway. So how do you signal to the market that you are actually interested in something else?</p>
<p>One way is by doing projects in areas that you think you are really interested in. Projects serve two purposes &#8211; first they allow you to do real work in the chosen field, and find out for yourself if it interests you. And if it does interest you, you have an automatic resume bullet point to pursue your career on that axis. Course-related projects are fine but since they&#8217;re forced, you have no way out, and they will be especially unpleasant if you happen to not like the course.</p>
<p>So why is CS@IITM a problem? Because it is so hectic, it doesn&#8217;t give you the time to pursue your other interests. It doesn&#8217;t offer you the kind of time that you need to study and take on projects in other subjects (yeah, it still offers you the 3 + 1 months of vacation per year, when you can do whatever you want, but then in the latter stages you&#8217;re so occupied with internships and course projects you&#8217;re better off having time during the term). So if you, like me, find out midway through the course that you would rather do something else, there is that much less time for you to explore around, study, and do projects in other subjects.</p>
<p>And there is no downside to joining a less hectic course. How hectic a course inherently is only sets a baseline. If you were to like the course, no one stops you from doing additional projects in the same subject. That way you get to do more of what you like, and get additional bullet points. All for the good, right?</p>
<p>After I graduated, IIT Madras reduced its credit requirement by one-twelfth. I don&#8217;t know how effective that has been in reducing the inherent workload of students but it&#8217;s a step in the right direction. Nevertheless, if you are going to get into college now, make sure you get into a less hectic course so that the cost of making a mistake in selection is not high.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2011/07/18/why-you-should-not-do-an-undergrad-in-computer-science-at-iit-madras/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dropping out</title>
		<link>http://noenthuda.com/blog/2011/05/26/dropping-out/</link>
		<comments>http://noenthuda.com/blog/2011/05/26/dropping-out/#comments</comments>
		<pubDate>Thu, 26 May 2011 02:58:07 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[fundaes]]></category>
		<category><![CDATA[IIT]]></category>
		<category><![CDATA[afternoons]]></category>
		<category><![CDATA[bachelor of technology]]></category>
		<category><![CDATA[computer engineering]]></category>
		<category><![CDATA[engineering drawing]]></category>
		<category><![CDATA[high performance]]></category>
		<category><![CDATA[hindsight]]></category>
		<category><![CDATA[intensive programming]]></category>
		<category><![CDATA[madras]]></category>
		<category><![CDATA[math problem]]></category>
		<category><![CDATA[microsoft products]]></category>
		<category><![CDATA[patience]]></category>
		<category><![CDATA[peers]]></category>
		<category><![CDATA[performance school]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming skills]]></category>
		<category><![CDATA[random object]]></category>
		<category><![CDATA[studying engineering]]></category>
		<category><![CDATA[theoretical aspects]]></category>
		<category><![CDATA[winning competitions]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=2064</guid>
		<description><![CDATA[Less than a semester into my undergrad (Bachelor of Technology in Computer Science and Engineering at IIT Madras) I wanted to drop out, and start work. I didn&#8217;t want to be an &#8220;engineer&#8221;. I didn&#8217;t know why I&#8217;d to spend all my Thursday and Friday afternoons filing away at some piece of iron in the [...]]]></description>
			<content:encoded><![CDATA[<p>Less than a semester into my undergrad (Bachelor of Technology in Computer Science and Engineering at IIT Madras) I wanted to drop out, and start work. I didn&#8217;t want to be an &#8220;engineer&#8221;.</p>
<p>I didn&#8217;t know why I&#8217;d to spend all my Thursday and Friday afternoons filing away at some piece of iron in the &#8220;fitting workshop&#8221;. I didn&#8217;t have the patience to draw three views of a random object in &#8220;engineering drawing&#8221;.</p>
<p>And I had the reputation of being one of the studdest programmers in my school. Apart from winning competitions here and there and doing well in acads, I had enormous respect from peers for my programming skills. Given that it was a &#8220;high-performance school&#8221; (which subjected its own 10th standard students to a test before admitting them to 11th) I guess this peer respect does carry some weight.</p>
<p>So, being good at math, and having the reputation of being a stud programmer, I didn&#8217;t know what I was doing studying &#8220;engineering&#8221;. I wanted to be a programmer, and I wanted to drop out and take up a job. My JEE rank counted almost as much as an IIT degree, I thought. I didn&#8217;t have the balls, and I continued.</p>
<p>In hindsight, I&#8217;m happy I didn&#8217;t drop out. By the end of my second year, I knew for sure that I DIDN&#8217;T want to be a programmer. While the theoretical aspects of Computer Science excited me (algo analysis and stuff), I had absolutely no patience for &#8220;systems&#8221;, or &#8220;computer engineering&#8221;. I was perhaps alone in my class in my love for Microsoft products (easy to use).</p>
<p>I realized then that I liked only the algorithmic aspect of programming, where one solves a (mostly math) problem and codes it up in a simple program. Huge complicated systems-intensive programming, making GUIs etc. didn&#8217;t inspire me at all.</p>
<p>Looking back, all that &#8220;major&#8221; (i.e. Computer Science and Engineering) stuff that I&#8217;ve learnt and internalized was learnt in my first two years of engineering. Of course several concepts that are part of CS&amp;E are taught in the last two years, but I ended up not liking any of that.</p>
<p>Looking back, I do find it positive that I did all those &#8220;general engineering&#8221; courses. I do find it really positive that we had to do 12 compulsory credits in Humanities and Social Sciences, for that allowed me to discover what I was really interested in, and indirectly led me to doing my MBA.</p>
<p>I have only one regret. That I wasn&#8217;t able to switch streams sooner than I could. That IIT, being a one-dimensional technology oriented university, didn&#8217;t allow me to transfer credits to a course that I would&#8217;ve liked better, simply because it offered undergrad courses only in engineering.</p>
<p>There was a humanities department, where I discovered what I was interested in, but unfortunately it was a &#8220;minor&#8221; department. It&#8217;s been partly rectified now, with the setting up of integrated MA courses, in Economics, etc. (if that course existed back when I was studying, there&#8217;s a good chance I&#8217;d've transferred to it from CS&amp;E). But it&#8217;s not enough.</p>
<p>Kids at 17 have no clue what they want to do. What we need are flexible full-scale universities, which allow you to switch from any branch to any other branch after two years of reasonably generalized study (the earlier branch can then contribute to &#8220;minor&#8221; credits). We need to stop putting our colleges in silos such as &#8220;engineering&#8221;, &#8220;arts and science&#8221;, etc. Only then would our universities be truly world class, even from an undergraduate point of view.</p>
<p>And looking back, I&#8217;m really happy I didn&#8217;t drop out.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2011/05/26/dropping-out/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Coding</title>
		<link>http://noenthuda.com/blog/2011/01/06/coding/</link>
		<comments>http://noenthuda.com/blog/2011/01/06/coding/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 18:24:47 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[algos]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[brick breaker]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[contests]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[cricket scoring]]></category>
		<category><![CDATA[excel vba]]></category>
		<category><![CDATA[fundamental level]]></category>
		<category><![CDATA[game brick]]></category>
		<category><![CDATA[instinct]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[madras]]></category>
		<category><![CDATA[mojo]]></category>
		<category><![CDATA[occasions]]></category>
		<category><![CDATA[pong game]]></category>
		<category><![CDATA[relationship]]></category>
		<category><![CDATA[seven years]]></category>
		<category><![CDATA[turboc]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=1898</guid>
		<description><![CDATA[Back when I was in school (11th/12th) I think I was an awesome coder. I think I was especially good at what they called as &#8220;logic coding&#8221;, i.e. coming up with algos. I used to experiment quite a bit (as much was possible with TurboC) and had a lot of fun too. I remember doing [...]]]></description>
			<content:encoded><![CDATA[<p>Back when I was in school (11th/12th) I think I was an awesome coder. I think I was especially good at what they called as &#8220;logic coding&#8221;, i.e. coming up with algos. I used to experiment quite a bit (as much was possible with TurboC) and had a lot of fun too. I remember doing graphics in TurboC, making a &#8220;pong&#8221; game, brick breaker, and a lot of other cool stuff. For our 12th standard project, <a href="http://d0j.blogspot.com/" onclick="pageTracker._trackPageview('/outgoing/d0j.blogspot.com/?referer=');">Hareesh</a> and I built this totally awesome cricket scoring program, which we unfortunately didn&#8217;t take forward (and went to college instead).</p>
<p>It was my love for coding that meant I fought with my parents (who wanted me to study Electrical) and decided to study Computer Science at IIT Madras. And then I lost it. Somewhere along the way. I didn&#8217;t enjoy coding any more. Soon, I began to hate coding. I would love coding when I would write the odd program in &#8220;pure&#8221; C, or when I would participate in contests such as BITWise. But I&#8217;d completely lost it.</p>
<p>So over the last six to seven years (after I graduated from IIT) there have been occasions when I have thought I&#8217;ve regained my coding mojo, only to lose it again very soon. I&#8217;m still very proud of that Excel+VBA model that I had written in the very first week of my third job. But a couple of months later, I was hating coding again. And so it was while debugging a complicated piece of code at work this morning that I realize why I have this love-hate relationship with coding.</p>
<p>It&#8217;s simple &#8211; basically I hate coding for others. I hate writing code that others will read or use. I don&#8217;t mind writing code that others would use as a black box, of course. But I think writing code that others will read or use puts too many constraints on the way you code. My instinct is always to stop doing something when I&#8217;m personally satisfied with it, and with code it seems like I&#8217;m satisfied sooner than others would be satisfied with my code.</p>
<p>At a fundamental level, I like coding and I think I&#8217;m pretty good at it, so it isn&#8217;t something I want to give up. But then the formal processes and endless testing involved with writing code for others really kills joy (as does GUI, and Java). Code saves a lot of time, and helps &#8220;studdize&#8221; what might be otherwise fighter work, so I like doing it.</p>
<p>In an ideal world, I would be writing code that I would alone be using, AND profiting from it (I never intend to sell code; I intend to sell the results of the said code, however; that would mean no one else would read/use my code per se, so I can write it the way I want). Hopefully I&#8217;ll get there, sometime.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2011/01/06/coding/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Relationship Stimulus</title>
		<link>http://noenthuda.com/blog/2010/06/07/relationship-stimulus/</link>
		<comments>http://noenthuda.com/blog/2010/06/07/relationship-stimulus/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 17:01:41 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[arbit]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[fundaes]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[randomness]]></category>
		<category><![CDATA[relationships]]></category>
		<category><![CDATA[alice]]></category>
		<category><![CDATA[bilateral relationship]]></category>
		<category><![CDATA[conjunction]]></category>
		<category><![CDATA[continuous variable]]></category>
		<category><![CDATA[current state]]></category>
		<category><![CDATA[exponentially]]></category>
		<category><![CDATA[hypothesis]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[liking]]></category>
		<category><![CDATA[man and beast]]></category>
		<category><![CDATA[occasions]]></category>
		<category><![CDATA[paragraph]]></category>
		<category><![CDATA[romantic relationships]]></category>
		<category><![CDATA[scope]]></category>
		<category><![CDATA[three steps]]></category>
		<category><![CDATA[time series]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=1710</guid>
		<description><![CDATA[This post doesn&#8217;t necessarily restrict its scope to romantic relationships, though I will probably use an example like that in order to illustrate the concept. The concept that I&#8217;m going to talk about any kind of bilateral relationship, be it romantic or non-romantic, or between any two people or between man and beast or between [...]]]></description>
			<content:encoded><![CDATA[<p>This post doesn&#8217;t necessarily restrict its scope to romantic relationships, though I will probably use an example like that in order to illustrate the concept. The concept that I&#8217;m going to talk about any kind of bilateral relationship, be it romantic or non-romantic, or between any two people or between man and beast or between two nations.</p>
<p>Let us suppose Alice&#8217;s liking for Bob is a continuous variable between 0 and 1. However, Alice never directly states to Bob how much she likes him. Instead, Bob will have to infer this based on Alice&#8217;s actions. Based on a current state of the relationship (also defined as a continuous variable between 0 and 1) and on Alice&#8217;s latest action, Bob infers how much Alice likes him. There are a variety of reasons why Bob might want to use this information, but let us not go into that now. I&#8217;m sure you can come up with quite a few yourself.</p>
<p>Now, my hypothesis is that the relationship state (which takes into account all past information regarding Alice&#8217;s and Bob&#8217;s actions towards each other) can be modelled as an exponentially-smoothed variable of the time series of Alice&#8217;s historical liking for Bob. To restate in English, consider the last few occasions when Alice and Bob have interacted, and consider the data of how much Alice actually liked Bob during each of these rounds. What I say is that the &#8220;current level&#8221; that I defined in the earlier paragraph can be estimated using this data on how much Alice liked Bob in the last few interactions. By exponentially smoothed, I mean that the last interaction has greater weight than the one prior to that which has more weight than the interaction three steps back, and so on.</p>
<p>So essentially Alice&#8217;s liking for Bob cannot be determined by her latest action alone. You use the latest action in conjunction with her last few actions in order to determine how much she likes Bob. If you think of inter-personal romantic relationships, I suppose you can appreciate this better.</p>
<p>Now that you&#8217;ve taken a moment to think about how my above hypotheses work in the context of human romantic relationships, and having convinced yourself that this is the right model, we can move on. To simplify all that I&#8217;ve said so far, the same action by Alice towards Bob can indicate several different things about how much she now likes him. For example, Alice putting her arm around Bob&#8217;s waist when they hardly knew each other meant a completely different thing from her putting her arm around his waist now that they have been married for six months. I suppose you get the drift.</p>
<p>So what I&#8217;m trying to imply here is that if you are going through a rough patch, you will need to try harder and send stronger signals. When the last few interactions haven&#8217;t gone well, the &#8220;state function of the relationship&#8221; (defined a few paragraphs above) will be at a generally low level, and the other party will have a tendency to under-guess your liking for them based on your greatest actions. What might normally be seen as a statement of immense love might be seen as an apology of an apology when things aren&#8217;t so good.</p>
<p>It is just like an economy in depression. If the government sits back claiming business-as-usual it is likely that the economy might just get worse. What the economy needs in terms of depression is a strong Keynesian stimulus. It is similar with bilateral relationships. When the value function is low, and the relationship is effectively going through a depression, you need to give it a strong stimulus. When Alice and Bob&#8217;s state function is low, Alice will have to do something really really extraordinary to Bob in order to send out a message that she really likes him.</p>
<p>And just one round of Keynesian stimulus is unlikely to save the economy. There is a danger that given the low state function, the economy might fall back into depression. Similarly when you are trying to get a relationship out of a &#8220;depressed&#8221; state, you will need to do something awesome in the next few rounds of interaction in order to make an impact. If you, like Little Bo Peep, decide that &#8220;leave &#8216;em alone, they will come home&#8221;, you are in danger of becoming like Japan in the 90s when absolute stagnation happened.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2010/06/07/relationship-stimulus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arranged Scissors 13 &#8211; Pruning</title>
		<link>http://noenthuda.com/blog/2009/09/27/arranged-scissors-13-pruning/</link>
		<comments>http://noenthuda.com/blog/2009/09/27/arranged-scissors-13-pruning/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 03:32:32 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[arbit]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[fundaes]]></category>
		<category><![CDATA[relationships]]></category>
		<category><![CDATA[ancient indian proverb]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[creative solution]]></category>
		<category><![CDATA[darshan]]></category>
		<category><![CDATA[elephant]]></category>
		<category><![CDATA[extreme cases]]></category>
		<category><![CDATA[iimb]]></category>
		<category><![CDATA[iteration]]></category>
		<category><![CDATA[many meetings]]></category>
		<category><![CDATA[marriage market]]></category>
		<category><![CDATA[measurement aspect]]></category>
		<category><![CDATA[monte carlo approach]]></category>
		<category><![CDATA[noes]]></category>
		<category><![CDATA[pandu]]></category>
		<category><![CDATA[ramnath]]></category>
		<category><![CDATA[several times]]></category>
		<category><![CDATA[traditional model]]></category>
		<category><![CDATA[upper bound]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=1469</guid>
		<description><![CDATA[Q: How do you carve an elephant? A: Take a large stone and remove from it all that doesn&#8217;t look like an elephant - Ancient Indian proverb, as told to us by Prof C Pandu Rangan during the Design of Algorithms course As I had explained in a post a long time ago, this whole [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Q: How do you carve an elephant?<br />
A: Take a large stone and remove from it all that doesn&#8217;t look like an elephant</em><br />
- Ancient Indian proverb, as told to us by Prof C Pandu Rangan during the Design of Algorithms course</p>
<p style="text-align: justify;">As I had explained in a post a long time ago, this whole business of louvvu and marriage and all such follows a &#8220;<a href="http://noenthuda.com/blog/2006/03/03/love-in-monte-carlo/">Monte Carlo approach</a>&#8220;. When you ask yourself the question &#8220;Do I want a long-term gene-propagating relationship with her?&#8221; , the answer is one of &#8220;No&#8221; or &#8220;Maybe&#8221;. Irrespective of how decisive you are, or how perceptive you are, it is impossible for you to answer that question with a &#8220;Yes&#8221; with 100% confidence.</p>
<p style="text-align: justify;">Now, in Computer Science, the way this is tackled is by running the algorithm a large number of times. If you run the algo several times, and the answer is &#8220;Maybe&#8221; in each iteration, then you can put an upper bound on the probability that the answer is &#8220;No&#8221;. And with high confidence (though not 100%) you can say &#8220;Probably yes&#8221;. This is reflected in louvvu also &#8211; you meet several times, implicitly evaluate each other on several counts, and keep asking yourselves this question. And when both of you have asked yourselves this question enough times, and both have gotten consistent maybes, you go ahead and marry (of course, there is the <a href="http://noenthuda.com/blog/2006/05/09/schrodingers-girlfriend/">measurement aspect</a> also that is involved).</p>
<p style="text-align: justify;">Now, the deal with the arranged marriage market is that you aren&#8217;t allowed to have too many meetings. In fact, in the traditional model, the &#8220;darshan&#8221; lasts only for some 10-15 mins. In extreme cases it&#8217;s just a photo but let&#8217;s leave that out of the analysis. In modern times, people have been pushing to get more time, and to get more opportunities to run iterations of the algo. Even then, the number of iterations you are allowed is bounded, which puts an upper bound on the confidence with which you can say yes, and also gives fewer opportunity for &#8220;noes&#8221;.</p>
<p style="text-align: center;"><em>Management is about finding a creative solution to a system of contradictory constraints</em><br />
- Prof Ramnath Narayanswamy, IIMB</p>
<p style="text-align: justify;">So one way to deal with this situation I&#8217;ve described is by what can be approximately called &#8220;pruning&#8221;. In each meeting, you will need to maximize the opportunity of detecting a &#8220;no&#8221;. Suppose that in a normal &#8220;louvvu date&#8221;, the probability of a &#8220;no&#8221; is 50% (random number pulled out of thin air). What you will need to do in order to maximize information out of an &#8220;arranged date&#8221; (yes, that concept exists now) is to raise this probability of a &#8220;no&#8221; to a higher number, say 60% (again pulled out of thing air).</p>
<p style="text-align: justify;">If you can design your interaction so as to increase the probability of detecting a no, then you will be able to extract more information out of a limited number of meetings. When the a priori rejection rate per date is 50%, you will need at least 5 meetings with consistent &#8220;maybes&#8221; in order to say &#8220;yes&#8221; with a confidence of over 50% (I&#8217;m too lazy to explain the math here), and this is assuming that the information you gather in one particular iteration is independent of all information gathered in previous iterations.</p>
<p>(In fact, considering that the amount of incremental information gathered in each subsequent iteration is a decreasing function, the actual number of meetings required is much more)</p>
<p style="text-align: justify;">Now, if you raise the a priori probability of rejection in one particular iteration to 60%, then you will need only 4 independent iterations in order to say &#8220;yes&#8221; with a confidence of over 95% (and this again is by assuming independence).</p>
<p style="text-align: justify;">Ignore all the numbers I&#8217;ve put, none of them make sense. I&#8217;ve only given them to illustrate my point. The basic idea is that in an &#8220;arranged date&#8221;, you will need to design the interaction in order to &#8220;prune&#8221; as much as possible in one particular iteration. Yes, this same thing can be argued for normal louvvu also, but there I suppose the pleasure in the process compensates for larger number of iterations, and there is no external party putting constraints.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2009/09/27/arranged-scissors-13-pruning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>assignments and studs and fighters and algorithms</title>
		<link>http://noenthuda.com/blog/2008/07/26/assignments-and-studs-and-fighters-and-algorithms/</link>
		<comments>http://noenthuda.com/blog/2008/07/26/assignments-and-studs-and-fighters-and-algorithms/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 16:18:26 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[IIT]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=883</guid>
		<description><![CDATA[For some reason, today I happened to look back at some of my old IIT textbooks, and happened to see this book by Cormen, Leiserson and Rivest on algorithms. I was reminded of the algorithms course at IITM. The prof had just finished his term as HoD and much relieved as he was, he put [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason, today I happened to look back at some of my old IIT textbooks, and happened to see this book by Cormen, Leiserson and Rivest on algorithms. I was reminded of the algorithms course at IITM. The prof had just finished his term as HoD and much relieved as he was, he put a lot of enthu into the first half of the course. Every class would start with a &#8220;thought for the day&#8221; which would be related to what we were going to do. Then, the classes were extremely well structured and there was a regular assignment schedule also.</p>
<p>We were divided into groups of four, and each assignment used to have a &#8220;part A&#8221; and a &#8220;part B&#8221;, which carried equal weightage. The former was common to all groups, and would have fairly straightforward stuff &#8211; minor variants of what we discussed in class, etc. There would be several problems, and it was frankly a bit of a pain.</p>
<p>Part B gave a separate problem for each group, and this would be usually non-straightforward and required some bit of thinking. There was a good chance that the group never solved it at all, while on the other hand, at times it would hardly take time.</p>
<p>Looking back, I think in more than half the assignments, I ended up doing part B. The problems used to be fairly interesting, and I&#8217;d somehow end up solving them before the group even met to discuss the work. And given that all that was required to solve the problem was a moment of inspiration, the process of solving them were, in hindsight, interesting.</p>
<p>One problem was solved when I had taken one hostelmate&#8217;s new Bajaj Eliminator for a test ride. Another got solved when I was playing table tennis. Yet another while I was perched on the parapet reading the newspaper.</p>
<p>I also remember this particular incident. In the first assignment, we managed to find a fairly simple and intuitive solution to our part B problem. Now, two guys in my group were topper-types and fighter, and writing a simple and intuitive proof was against their ethos. They said that it would mean that we hadn&#8217;t shown much effort, and might result in our getting lesser marks. They finally put enough effort to convert the four line proof into some kind of formal mathematical notation which took four pages. I don&#8217;t know if anyone bothered to read that.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2008/07/26/assignments-and-studs-and-fighters-and-algorithms/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Computer Science and Economics</title>
		<link>http://noenthuda.com/blog/2008/07/13/computer-science-and-economics/</link>
		<comments>http://noenthuda.com/blog/2008/07/13/computer-science-and-economics/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 05:39:00 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[arbit]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[economics]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=806</guid>
		<description><![CDATA[Left-wing economics is idealistic, and the basic assumption is that everyone is a good guy, and he will work in the best interests of the system. On the other hand, the basic assumption behind right-wing economics is that everyone is inherently a bad guy, and will work only for his own benefit. Hence, systems have [...]]]></description>
			<content:encoded><![CDATA[<p>Left-wing economics is idealistic, and the basic assumption is that everyone is a good guy, and he will work in the best interests of the system.</p>
<p>On the other hand, the basic assumption behind right-wing economics is that everyone is inherently a bad guy, and will work only for his own benefit. Hence, systems have to be devised so as to align a person&#8217;s selfish interests with the system&#8217;s interests.</p>
<p>To put it in other words, left-wing stuff is ideal. It assumes best case performance, or marginally below best case performance, from all players in the system. Similarly, in assuming that everyone has only a selfish motive, right-wing economics does what can be called a worst-case design.</p>
<p>Training in Computer Science inherently teaches you to think about the worst-case possibilities in everything.</p>
<p>In this context, isn&#8217;t it? surprising that so many people from a computer science background are leftist?</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2008/07/13/computer-science-and-economics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contradiction</title>
		<link>http://noenthuda.com/blog/2008/07/04/contradiction/</link>
		<comments>http://noenthuda.com/blog/2008/07/04/contradiction/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 11:46:00 +0000</pubDate>
		<dc:creator>skimpy</dc:creator>
				<category><![CDATA[arbit]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[IIT]]></category>
		<category><![CDATA[language]]></category>

		<guid isPermaLink="false">http://noenthuda.com/blog/?p=32</guid>
		<description><![CDATA[It was only when udupendra pointed out last week that I realized that &#8220;Theory Lab&#8221; sounds somewhat self-contradictory.]]></description>
			<content:encoded><![CDATA[<p>It was only when</p>
<div class="ljuser"><a href="http://udupendra.livejournal.com/profile" onclick="pageTracker._trackPageview('/outgoing/udupendra.livejournal.com/profile?referer=');"><img style="border: 0pt none ; vertical-align: bottom; padding-right: 1px;" src="http://p-stat.livejournal.com/img/userinfo.gif" alt="[info]" width="17" height="17" /></a><a href="http://udupendra.livejournal.com/" onclick="pageTracker._trackPageview('/outgoing/udupendra.livejournal.com/?referer=');"><strong>udupendra</strong></a></div>
<p>pointed out last week that I realized that &#8220;Theory Lab&#8221; sounds somewhat self-contradictory.</p>
]]></content:encoded>
			<wfw:commentRss>http://noenthuda.com/blog/2008/07/04/contradiction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

