<?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>To shell and back</title>
	<atom:link href="http://fromshell.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fromshell.com</link>
	<description>Programming, art, life. Adventures of a bat.</description>
	<lastBuildDate>Fri, 10 Apr 2009 10:49:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Type inference works left-to-right in F#, another case for using Pipelining</title>
		<link>http://fromshell.com/content/type-inference-works-left-to-right-in-f/</link>
		<comments>http://fromshell.com/content/type-inference-works-left-to-right-in-f/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 10:44:12 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=195</guid>
		<description><![CDATA[I asked the following question on hubfs.net

This might be a newbie question about type inference, but it can help beginners like me.
I am using the query below &#8211; which sorts items by date. This gives the warning: This lookup uses a deprecated feature, where a class type is inferred from the use of a class [...]]]></description>
			<content:encoded><![CDATA[<p>I asked the following <a href="http://cs.hubfs.net/forums/thread/9857.aspx">question on hubfs.net</a></p>
<div class="standout">
<p>This might be a newbie question about type inference, but it can help beginners like me.</p>
<p>I am using the query below &#8211; which sorts items by date. This gives the warning: This lookup uses a deprecated feature, where a class type is inferred from the use of a class field label…<br />
<em><br />
Query.query &lt;@ (Seq.sort_by <span style="color: #006400;">(fun i -&gt; i.DateAdded)</span> <span style="color: #a52a2a;">(seq { for item in ctx.BarterItems do yield item })</span>)   |&gt; Seq.take 50 @&gt;;</em></p>
<p><span style="color: #000000;">In the seq { … } expression, the type of item is identified as “Item” correctly, through ctx.BarterItems. Why wouldn’t this be used to infer “i” in “</span><span style="color: #000000;"><span style="color: #006400;">fun i -&gt; i.DateAdded</span>“? ; Seq.sort_by being (&lt;’a&gt;-&gt;&lt;’key&gt;) -&gt; seq&lt;’a&gt; -&gt; seq&lt;’a&gt;</span></p>
<p>Explicitly identifying the type will remove the warning, as below:<br />
<em>Query.query &lt;@ (Seq.sort_by <span style="color: #000000;">(fun (<strong><span style="color: #0000ff;">i:Item</span></strong>) -&gt; i.DateAdded) </span><span style="color: #000000;">(seq { for item in ctx.BarterItems do yield item }))   |&gt; Seq.take 50 @&gt;;</span></em></div>
<p>Brian McNamara pointed out:</p>
<div class="standout">
Type inference in F# works left-to-right through an expression; for example<br />
<span style="color: black; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;"></p>
<p><span style="color: blue; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">let</span> s = seq { yield <span style="color: red; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">&#8220;foo&#8221;</span><span style="color: blue; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">;</span> }</p>
<p><span style="color: blue; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">let</span> s2 = s |&gt; Seq.sort_by (<span style="color: blue; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">fun</span> x -&gt; x.Length) <span style="color: green; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">// compiles</span></p>
<p><span style="color: green; background-color: transparent; font-family: Lucida Console; font-size: 11px; font-weight: normal;">//let s2 = Seq.sort_by (fun x -&gt; x.Length) s // does not</span></span></p>
<p>In the first one, we already know that the elements of &#8217;s&#8217; are type &#8217;string&#8217; by the time we reach the lambda body and &#8220;x.Length&#8221;.  In the second one, we don&#8217;t.  This is one of the things that makes the pipelining style so attractive.</p></div>
<p>As Brian pointed out, thats a good use case for the Pipelining operator.</p>
<p>My new query looks like:<br />
Query.query <@ seq { for item in ctx.BarterItems do if item.ItemType = "book" then yield item }<br />
                                |> Seq.sort_by (fun i -> i.DateAdded) |> Seq.take 50 @>;</p>
<p>Inference now works, since the type can be inferred left to right.</p>
<p>Meanwhile you can read more on <a href="www.cs.cmu.edu/~rwh/courses/refinements/papers/PottierRemy04/hmx.pdf">ML type inference</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/type-inference-works-left-to-right-in-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GrooveShark: The best internet radio service</title>
		<link>http://fromshell.com/content/grooveshark-the-best-internet-radio-service/</link>
		<comments>http://fromshell.com/content/grooveshark-the-best-internet-radio-service/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 12:30:39 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/content/grooveshark-the-best-internet-radio-service/</guid>
		<description><![CDATA[Just discovered GrooveShark. More that 7 million songs that could be played. Wow!
]]></description>
			<content:encoded><![CDATA[<p>Just discovered GrooveShark. More that 7 million songs that could be played. Wow!</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/grooveshark-the-best-internet-radio-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>China blocks YouTube</title>
		<link>http://fromshell.com/content/china-blocks-youtube/</link>
		<comments>http://fromshell.com/content/china-blocks-youtube/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 13:31:03 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=188</guid>
		<description><![CDATA[China blocks YouTube for some videos of the security forces beating up Tibetan monks. I remember last year they blocked SourceForge.net, the large Open Source software repository. All because one of the million sub-projects under SourceForge put up a Tibetan protest banner. Oh, they block Wikipedia too.
Don&#8217;t you just love the communists?
I am not Tibetan, [...]]]></description>
			<content:encoded><![CDATA[<p>China <a href="http://news.bbc.co.uk/2/hi/asia-pacific/7961069.stm">blocks YouTube</a> for some videos of the security forces beating up Tibetan monks. I remember last year they <a href="http://developers.slashdot.org/article.pl?sid=08/06/26/2047220">blocked SourceForge.net</a>, the large Open Source software repository. All because one of the million sub-projects under SourceForge put up a Tibetan protest banner. Oh, they <a href="http://en.wikipedia.org/wiki/Blocking_of_Wikipedia_in_mainland_China">block Wikipedia</a> too.</p>
<p>Don&#8217;t you just love the communists?</p>
<p>I am not Tibetan, and I know no Tibetans. But I myself wouldn&#8217;t want to live under such a repressive regime. <a href="http://www.freetibet.org/">FREE TIBET</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/china-blocks-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Azure adds Full-Trust roles, F# becomes viable!</title>
		<link>http://fromshell.com/content/windows-azure-adds-full-trust-roles-f-becomes-viable/</link>
		<comments>http://fromshell.com/content/windows-azure-adds-full-trust-roles-f-becomes-viable/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 15:11:26 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=186</guid>
		<description><![CDATA[Microsoft just announced some interesting enhancements to Azure, including Full-Trust roles. This makes life much better for anyone trying to use F# on Azure.
The earlier workaround requires adding more than 20 references, and takes 10 TIMES longer to get compiled.
]]></description>
			<content:encoded><![CDATA[<p>Microsoft just announced some interesting <a href="http://blogs.msdn.com/windowsazure/archive/2009/03/18/windows-azure-delivers-new-ctp-capabilities.aspx">enhancements to Azure</a>, including Full-Trust roles. This makes life much better for anyone trying to use F# on Azure.</p>
<p>The earlier <a href="http://cs.hubfs.net/forums/thread/8903.aspx">workaround</a> requires adding more than 20 references, and takes 10 TIMES longer to get compiled.</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/windows-azure-adds-full-trust-roles-f-becomes-viable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>George Carlin Collection</title>
		<link>http://fromshell.com/content/george-carlin-collection/</link>
		<comments>http://fromshell.com/content/george-carlin-collection/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 11:08:08 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[george carlin death 10 commandments religion]]></category>

		<guid isPermaLink="false">http://fromshell.com/content/george-carlin-collection/</guid>
		<description><![CDATA[


The Ten Commandments


George Carlin on Death



Saving the Planet
]]></description>
			<content:encoded><![CDATA[<p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/CE8ooMBIyC8&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/CE8ooMBIyC8&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
<br />
The Ten Commandments
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/3PiZSFIVFiU&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3PiZSFIVFiU&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
George Carlin on Death
</p>
<p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/eScDfYzMEEw&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eScDfYzMEEw&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
Saving the Planet</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/george-carlin-collection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is wrong with this picture?</title>
		<link>http://fromshell.com/content/what-is-wrong-with-this-picture/</link>
		<comments>http://fromshell.com/content/what-is-wrong-with-this-picture/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 05:13:44 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=176</guid>
		<description><![CDATA[
Nothing really. I say the picture is Spot On!

Dear InterSystems, times they are a changin!
I suggest replacing the sports car with a Model T, though.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-177" title="whats-wrong-with-the-pic" src="http://fromshell.com/wp-content/uploads/2009/02/whats-wrong-with-the-pic.jpg" alt="whats-wrong-with-the-pic" width="301" height="249" /></p>
<p><strong>Nothing really. I say the picture is Spot On!</strong></p>
<p><img class="alignnone size-full wp-image-180" title="whats-wrong-with-the-pic-2" src="http://fromshell.com/wp-content/uploads/2009/02/whats-wrong-with-the-pic-2.jpg" alt="whats-wrong-with-the-pic-2" width="305" height="255" /></p>
<p>Dear InterSystems, times they are a changin!<br />
I suggest replacing the sports car with a Model T, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/what-is-wrong-with-this-picture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frank Zappa!</title>
		<link>http://fromshell.com/content/frank-zappa/</link>
		<comments>http://fromshell.com/content/frank-zappa/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 12:45:28 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=170</guid>
		<description><![CDATA[
Acrylic on Canvas.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-171" title="img_2977-small" src="http://fromshell.com/wp-content/uploads/2009/01/img_2977-small.jpg" alt="img_2977-small" width="400" height="600" /></p>
<p>Acrylic on Canvas.</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/frank-zappa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I am Free.</title>
		<link>http://fromshell.com/content/i-am-free/</link>
		<comments>http://fromshell.com/content/i-am-free/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 02:57:26 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/i-am-free/</guid>
		<description><![CDATA[I am not a Mac
I am not a PC
I am Free
Seen here on comments.
]]></description>
			<content:encoded><![CDATA[<p>I am not a Mac</p>
<p>I am not a PC</p>
<p>I am Free</p>
<p>Seen <a href="http://digg.com/linux_unix/Ubuntu_and_Its_Leader_Set_Sights_on_the_Mainstream">here</a> on comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/i-am-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This issue should resolve itself.</title>
		<link>http://fromshell.com/content/this-issue-should-resolve-itself/</link>
		<comments>http://fromshell.com/content/this-issue-should-resolve-itself/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 04:23:19 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=164</guid>
		<description><![CDATA[Funny quote from Microsoft on ZuneInsider.
Q:  What is Zune doing to fix this issue?
The issue should resolve itself.
Apparently, the bug becomes self-aware on Jan 1 2009. I am scared.
]]></description>
			<content:encoded><![CDATA[<p>Funny quote from Microsoft on <a href="http://zuneinsider.com/archive/2008/12/31/30gb-zune-issues-official-update.aspxvv">ZuneInsider</a>.</p>
<p>Q:  What is Zune doing to fix this issue?<br />
<strong>The issue should resolve itself.</strong></p>
<p>Apparently, the bug becomes self-aware on Jan 1 2009. I am scared.</p>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/this-issue-should-resolve-itself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woman in Clay</title>
		<link>http://fromshell.com/content/woman-in-clay/</link>
		<comments>http://fromshell.com/content/woman-in-clay/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 13:55:53 +0000</pubDate>
		<dc:creator>jeswin</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[nerd]]></category>

		<guid isPermaLink="false">http://fromshell.com/?p=157</guid>
		<description><![CDATA[
Soft Pastels and Oil Pastels, Canvas.
Inspiration or Interpretation.

Sphinx?
Male organ?

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-174" title="img_2980-small" src="http://fromshell.com/wp-content/uploads/2008/12/img_2980-small.jpg" alt="img_2980-small" width="400" height="600" /></p>
<p>Soft Pastels and Oil Pastels, Canvas.</p>
<p>Inspiration or Interpretation.</p>
<ol>
<li>Sphinx?</li>
<li>Male organ?</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://fromshell.com/content/woman-in-clay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
