<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Life, programming etc.</title>
	<atom:link href="http://mmwaikar.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mmwaikar.wordpress.com</link>
	<description>Musings on experiences in life and programming.</description>
	<lastBuildDate>Thu, 05 Nov 2009 02:32:48 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='mmwaikar.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ce92549c9d9b8c6aa634255659908a07?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Life, programming etc.</title>
		<link>http://mmwaikar.wordpress.com</link>
	</image>
			<item>
		<title>SOA or JBOWS?</title>
		<link>http://mmwaikar.wordpress.com/2009/11/04/soa-or-jbows/</link>
		<comments>http://mmwaikar.wordpress.com/2009/11/04/soa-or-jbows/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 02:27:30 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=380</guid>
		<description><![CDATA[It&#8217;s stunningly surprising how, sometimes, someone describes something which mirrors some of our past experiences. This &#8220;Just a Bunch of Web Services&#8221; post accurately describes my experience in one of my previous projects. It also accurately describes what the (software) vendors gain, by trying to popularize some technology (like SOA) on the basis of how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=380&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">It&#8217;s stunningly surprising how, sometimes, someone describes something which mirrors some of our past experiences. This &#8220;<a title="JBOWS" href="http://bill-poole.blogspot.com/2008/05/jbows-is-bad.html" target="_blank">Just a Bunch of Web Services</a>&#8221; post accurately describes my experience in one of my previous projects. It also accurately describes what the (software) vendors gain, by trying to popularize some technology (like SOA) on the basis of how easy their tools (IDEs) make it to produce, only at the expense of businesses that fall into the trap.</p>
<p style="text-align:justify;">I saw the first implementation of (Asp.Net) web services as merely a wrapper over traditional Ado.Net data access layer <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ve also seen an approach (in a typical big financial enterprise) where every communication has to happen through web services ??? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align:justify;">One might not even realize the simplicity of RESTful web services until one has to climb the steep learning curve of technologies like WCF, where implementing a service is damn easy but everything else (configuration etc.) is a forgettable story. And though I am not sure, but my conclusion is that WCF must&#8217;ve been used more in remoting (TCP / IP endpoint in WCF) scenarios than the web (HTTP endpoint in WCF) based scenarios. Of course, YEMV (your experience might vary). So have you seen this JBOWS architecture? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/380/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=380&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/11/04/soa-or-jbows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Open source programming languages</title>
		<link>http://mmwaikar.wordpress.com/2009/10/06/open-source-programming-languages/</link>
		<comments>http://mmwaikar.wordpress.com/2009/10/06/open-source-programming-languages/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 03:09:58 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=369</guid>
		<description><![CDATA[Till date, I&#8217;ve worked on programming languages which were not open source and were a property of some company (Microsoft, in my case &#8211; VB 6 and C#). However these days I&#8217;ve heard a lot that how important it is for a programming language to be open sourced. If you think deeply, you too might [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=369&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Till date, I&#8217;ve worked on programming languages which were not open source and were a property of some company (Microsoft, in my case &#8211; VB 6 and C#). However these days I&#8217;ve heard a lot that how important it is for a programming language to be open sourced. If you think deeply, you too might realize that there are a few advantages which cannot be had in a closed source language, e.g. -</p>
<p style="text-align:justify;">1) How many languages can boast of being backward incompatible? Python 3 is one of them.</p>
<p style="text-align:justify;">2) One could start using a newer version of the language whenever one felt comfortable. The choice of which version of the language to use, would not be tied to the use of a particular (newer) version of the IDE. Yes, I am talking of C# and Visual Studio. [ I understand MS wants to make money, and decision makers who, many times are non-techies, are never in a hurry to upgrade to the newer version of the IDE and therefore the language, forcing us poor developers to write delegates even though lambdas are available <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Most people would've switched to a newer compiler if the older IDE could support it. ]</p>
<p style="text-align:justify;">3) One could vote for what features to be included. Yes, the decision might still rest with some committee of core developers of the language, but one would&#8217;ve had some say. Amazingly, I don&#8217;t understand why Java 7 won&#8217;t have closures.</p>
<p style="text-align:justify;">So choose your language (and the platform) wisely, else you might have to code in C# 2.0 in the days of C# 4.0 (i.e. keep using VS 2005 in 2010) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/369/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=369&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/10/06/open-source-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Tools vs. techniques</title>
		<link>http://mmwaikar.wordpress.com/2009/10/06/tools-vs-techniques/</link>
		<comments>http://mmwaikar.wordpress.com/2009/10/06/tools-vs-techniques/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 03:07:23 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=371</guid>
		<description><![CDATA[You might have read in the Alt.Net circles that the tools (like IoC, ORM etc.) aren&#8217;t as important as the techniques (SRP, separation of concerns, persistence ignorance etc.). To be frank, those guys (Ayende, Jeremy Miller etc.) are trying to save themselves from stupid arguments like &#8220;so you mean to say, if someone doesn&#8217;t use IoC, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=371&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">You might have read in the Alt.Net circles that the tools (like IoC, ORM etc.) aren&#8217;t as important as the techniques (SRP, separation of concerns, persistence ignorance etc.). To be frank, those guys (Ayende, Jeremy Miller etc.) are trying to save themselves from stupid arguments like &#8220;so you mean to say, if someone doesn&#8217;t use IoC, ORM etc. he&#8217;s a bad programmer&#8221;?</p>
<p style="text-align:justify;">The fact of the matter is that it&#8217;s highly unlikely to find someone who is aware of the techniques, but haven&#8217;t used (or at least heard of) the tools. The reason is that there&#8217;s a symbiotic relationship between the tools and the techniques &#8211; sometimes the techniques lead you to the tools and sometimes the tools lead you to the techniques <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  e.g. I became aware of persistence ignorance after reading the Hibernate book; I became aware of the term separation of concerns after encountering Castle Monorail and Windsor and reading about IoC.</p>
<p style="text-align:justify;">So if you&#8217;ve never used an IoC container or an ORM tool, you won&#8217;t realize what you are missing until you give them a try. Not only you&#8217;ll learn the techniques, you&#8217;ll learn something more than plain Ado.Net or plain old singletons <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/371/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=371&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/10/06/tools-vs-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Lisp vs. Haskell</title>
		<link>http://mmwaikar.wordpress.com/2009/09/14/lisp-vs-haskell/</link>
		<comments>http://mmwaikar.wordpress.com/2009/09/14/lisp-vs-haskell/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 23:49:11 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=366</guid>
		<description><![CDATA[I was thinking Lisp might be the best language yet, but this article, has left me wondering. Still, I have to keep myself at learning Lisp and eventually Clojure  
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=366&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was thinking Lisp might be the best language yet, but <a title="Hello Haskell, Goodbye Lisp" href="http://www.newartisans.com/2009/03/hello-haskell-goodbye-lisp.html" target="_blank">this article</a>, has left me wondering. Still, I have to keep myself at learning Lisp and eventually Clojure <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/366/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=366&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/09/14/lisp-vs-haskell/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Work</title>
		<link>http://mmwaikar.wordpress.com/2009/09/12/work/</link>
		<comments>http://mmwaikar.wordpress.com/2009/09/12/work/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 14:25:52 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=361</guid>
		<description><![CDATA[Work is something you do,
not some place you go.
Teleworking = Performance not presence.
An Intel advertisement   [seen in a DC metro train]
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=361&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:center;">Work is something you do,<br />
not some place you go.</p>
<p style="text-align:center;">Teleworking = Performance not presence.</p>
<p>An Intel advertisement <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  [seen in a DC metro train]</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/361/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=361&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/09/12/work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>The founder visa</title>
		<link>http://mmwaikar.wordpress.com/2009/09/02/the-founder-visa/</link>
		<comments>http://mmwaikar.wordpress.com/2009/09/02/the-founder-visa/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 12:02:43 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=353</guid>
		<description><![CDATA[I wish and pray, this becomes a reality soon.  Btw, if you haven&#8217;t read Paul Graham&#8217;s other essays, do check them out, he&#8217;s an absolute genius and I can&#8217;t do anything but agree to what he has to say, most of the times.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=353&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">I wish and pray, <a title="The founder visa" href="http://paulgraham.com/foundervisa.html" target="_blank">this</a> becomes a reality soon.  Btw, if you haven&#8217;t read <a title="Paul Graham essays" href="http://paulgraham.com/articles.html" target="_blank">Paul Graham&#8217;s other essays</a>, do check them out, he&#8217;s an absolute genius and I can&#8217;t do anything but agree to what he has to say, most of the times.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=353&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/09/02/the-founder-visa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>The deterioration of education</title>
		<link>http://mmwaikar.wordpress.com/2009/08/06/the-deterioration-of-education/</link>
		<comments>http://mmwaikar.wordpress.com/2009/08/06/the-deterioration-of-education/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 01:44:38 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=341</guid>
		<description><![CDATA[It seems this phenomena is not limited just to India, but to some other advanced countries as well. This is not to suggest that the standard of all the colleges has deteriorated, but very few of them are exceptions. Have a look at this article by Dr. Mark Tarver or the very famous The Perils [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=341&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">It seems this phenomena is not limited just to India, but to some other advanced countries as well. This is not to suggest that the standard of all the colleges has deteriorated, but very few of them are exceptions. Have a look at <a title="Why I am not a professor" href="http://www.lambdassociates.org/blog/decline.htm" target="_blank">this</a> article by Dr. Mark Tarver or the very famous <a title="The Perils of Java school" href="http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html" target="_blank">The Perils of Java schools</a> by Joel Spolsky, if you don&#8217;t believe me.</p>
<p style="text-align:justify;">If we talk about India, the paradox is that if there are not enough colleges offering advanced courses like engineering or management, so many good guys will be devoid of a degree. On the other hand, the mushrooming of private colleges has given rise to dilution in quality of those degrees. So even though a student might have an engineering or a management degree, he might not necessarily, get a lucrative job, or sometimes even a mediocre job. Most of the times, people from such colleges end up being underpaid and doing jobs which might not even require those degrees &#8211; a term which is called underemployment.</p>
<p style="text-align:justify;">But since, underemployment is better than unemployment, I believe, the governments let this continue, because it is in their favor too. The colleges are definitely the biggest beneficiaries, because without providing quality education or campus placements, they can charge hefty fees from the students &#8211; &#8220;debt and degree inflation&#8221; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  as per Dr. Tarver.</p>
<p style="text-align:justify;">The only way to avoid this vicious cycle is well, the time tested way &#8211; study hard in the school, so that you are able to get into one of the good colleges. Well, some rules don&#8217;t change ever <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:178px;width:1px;height:1px;"><span style="color:#000000;font-size:small;">debt</span><span style="color:#000000;font-size:medium;"> </span><span style="color:#000000;font-size:small;">and                 degree inflation</span></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/341/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=341&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/08/06/the-deterioration-of-education/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Theory and Practice</title>
		<link>http://mmwaikar.wordpress.com/2009/08/06/theory-and-practice/</link>
		<comments>http://mmwaikar.wordpress.com/2009/08/06/theory-and-practice/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 00:28:48 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=338</guid>
		<description><![CDATA[This is a very nice article which emphasizes the importance of formal learning as well as hardening that learning in the field i.e. becoming a street fighter. It clearly states that the combination of the two will surpass either. Go read it.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=338&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a title="Hackers and Fighters" href="http://www.lambdassociates.org/blog/hackers.htm" target="_blank">This</a> is a very nice article which emphasizes the importance of formal learning as well as hardening that learning in the field i.e. becoming a street fighter. It clearly states that the combination of the two will surpass either. Go read it.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/338/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=338&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/08/06/theory-and-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>Local variables are no longer local</title>
		<link>http://mmwaikar.wordpress.com/2009/07/20/local-variables-are-no-longer-local/</link>
		<comments>http://mmwaikar.wordpress.com/2009/07/20/local-variables-are-no-longer-local/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 04:23:54 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=320</guid>
		<description><![CDATA[Let us consider this code -

public class MathUtil {

	public static Func&#60;int&#62; MakeIncrementer() {
		int n = 0;

		Func&#60;int&#62; incr = () =&#62; ++n;
		return incr;
	}
}

Given the above code, what do you think should be the output of the below program -

public class Program {

	static void Main(string[] args) {

		Func incr = MathUtil.MakeIncrementer();
		Func incr1 = MathUtil.MakeIncrementer();

		Console.WriteLine(incr());
		Console.WriteLine(incr());
		Console.WriteLine(incr());

		Console.WriteLine(incr1());
		Console.WriteLine(incr1());
		Console.WriteLine(incr1());
	}
}
Well, if your answer is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=320&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Let us consider this code -</p>
<pre class="brush: csharp;">
public class MathUtil {

	public static Func&lt;int&gt; MakeIncrementer() {
		int n = 0;

		Func&lt;int&gt; incr = () =&gt; ++n;
		return incr;
	}
}
</pre>
<p>Given the above code, what do you think should be the output of the below program -</p>
<pre class="brush: csharp;">
public class Program {

	static void Main(string[] args) {

		Func incr = MathUtil.MakeIncrementer();
		Func incr1 = MathUtil.MakeIncrementer();

		Console.WriteLine(incr());
		Console.WriteLine(incr());
		Console.WriteLine(incr());

		Console.WriteLine(incr1());
		Console.WriteLine(incr1());
		Console.WriteLine(incr1());
	}
}</pre>
<p>Well, if your answer is -</p>
<pre class="brush: csharp;">
1
2
3
1
2
3
</pre>
<p style="text-align:justify;">then great, you already know what closures are and don&#8217;t need to read any further.</p>
<p style="text-align:justify;">For those of you who don&#8217;t &#8211; Closures are a block of code with bindings to the environment they come from. Please read <a title="Closure" href="http://martinfowler.com/bliki/Closure.html" target="_blank">this</a> post from Martin Fowler for more details. Also read an excellent article on <a title="Functional Programming for the rest of us" href="http://www.defmacro.org/ramblings/fp.html" target="_blank">Functional Programming</a> by Slava. What does bindings and environment mean? In our case, the incr() function, inside the MakeIncrementer function has access (is bound) to the variable n, which is outside the scope (i.e. the environemnt) of the incr() function body.</p>
<p style="text-align:justify;">The most important observations are -</p>
<p style="text-align:justify;">1) That local variables are no longer limited to simple scope rules and have an undefined lifetime.<br />
2) The obvious conclusion is that they&#8217;re no longer stored on the stack &#8211; they must be stored on the heap instead.</p>
<p style="text-align:justify;">Slava writes this in his article &#8211; &#8220;<span style="color:#008000;">Closures bring functional and OO worlds closer together. Every time you create a class that holds some state and pass it to somewhere else, think of closures. A closure is just an object that creates &#8220;member variables&#8221; on the fly by grabbing them from the scope, so you don&#8217;t have to!</span>&#8220;</p>
<p style="text-align:justify;">And as my friend, Raj mentioned that Java had the notion of inner classes since long back, and they have similar characteristics, I believe closures (implemented with functions) are much less overhead, at least the syntactical part.</p>
<p style="text-align:justify;">Do you still think that local variables are local and stored on the stack  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/320/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=320&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/07/20/local-variables-are-no-longer-local/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
		<item>
		<title>First baby steps towards DSL nirvana</title>
		<link>http://mmwaikar.wordpress.com/2009/07/07/first-baby-steps-towards-dsl-nirvana/</link>
		<comments>http://mmwaikar.wordpress.com/2009/07/07/first-baby-steps-towards-dsl-nirvana/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:54:58 +0000</pubDate>
		<dc:creator>mmwaikar</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mmwaikar.wordpress.com/?p=303</guid>
		<description><![CDATA[I am sure, you must have come across this term, DSL &#8211; Domain Specific Language, if you read blogs from some well known industry experts. Well, I read this term long back, and got interested in it, and even bought the MEAP version of Ayende&#8217;s excellent book (and the only available, at the time, in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=303&subd=mmwaikar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">I am sure, you must have come across this term, DSL &#8211; Domain Specific Language, if you read blogs from some well known industry experts. Well, I read this term long back, and got interested in it, and even bought the MEAP version of Ayende&#8217;s excellent book (and the only available, at the time, in the market on the subject) on <a title="Writing DSLs in Boo" href="http://www.manning.com/rahien/" target="_blank">Writing DSLs in Boo</a>.</p>
<p style="text-align:justify;">Obviously, I tried to write a DSL after reading the book. Maybe, I didn&#8217;t read it thoroughly, or for some other reason, but I couldn&#8217;t write one. And then I read this quote by Richard Feynman &#8211; <span style="color:#008000;">“What I cannot create, I do not understand.” </span>Obviously I was thoroughly disappointed, and felt bad and what not, but somehow I couldn&#8217;t perform the DSL magic.</p>
<p style="text-align:justify;">Then I came across this excellent <a title="The Nature of Lisp" href="http://www.defmacro.org/ramblings/lisp.html" target="_blank">article </a>on Lisp and it&#8217;s melleability for doing magic (read bending the language at will) and I was convinced about the power of the language. Then somehow, I came across Clojure and started learning it only because it&#8217;s a Lisp variant for JVM. And, then suddenly, one day, after spending not a very substantial time with it, the light bulb did glow for me <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align:justify;">So, a few of the basic characteristics which make a language suitable for DSL development are -</p>
<p style="text-align:justify;">1) The language should have a very minimal syntax; yes, no semi-colons, no curly braces <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  [ I mean, these are noise ]<br />
2) There should be some way by which the language supports lazy evaluation</p>
<p style="text-align:justify;">Enough rambling and time for some code. Look at the following C# code -</p>
<pre class="brush: csharp;">
public string [] GetPathsOfAllFiles(string folderName, string extension)
{
    return Directory.GetFiles(folderName, String.Format(&quot;*.{0}&quot;, extension));
}
</pre>
<p>And now look at this code (please try to imagine the context behind this code; I&#8217;ll post more on this later) -</p>
<pre class="brush: java;">

(defmacro source-files-of-type [file-filter from folder]
    (list 'GetPathsOfAllFiles folder file-filter))
</pre>
<p>And yes, the above is valid code, which will run on .Net <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  by way of Clojure&#8217;s port on CLR. So instead of -</p>
<pre class="brush: csharp;">
SomeClassOrObject.GetPathsOfAllFiles(&quot;C:\\abc&quot;, &quot;*.txt);
</pre>
<p>one can write -</p>
<pre class="brush: csharp;">
(source-files-of-type &quot;*.txt&quot; from &quot;C:\\abc&quot;)
</pre>
<p>Do you notice a difference in the readability? And as I mentioned before, I&#8217;ve started learning Clojure a mere three months back. Sweet <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ll be posting more on this once I am done with a first full implementation of a DSL, so until then, take care.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mmwaikar.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mmwaikar.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mmwaikar.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mmwaikar.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mmwaikar.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mmwaikar.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mmwaikar.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mmwaikar.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mmwaikar.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mmwaikar.wordpress.com/303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mmwaikar.wordpress.com&blog=1088994&post=303&subd=mmwaikar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://mmwaikar.wordpress.com/2009/07/07/first-baby-steps-towards-dsl-nirvana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac4194efc63ddbd9c08a6147d15657c0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mmwaikar</media:title>
		</media:content>
	</item>
	</channel>
</rss>