<?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>xQuant</title>
	<atom:link href="http://blog.xquant.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.xquant.net</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sun, 02 Dec 2012 14:30:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Tree, meet the Zipper</title>
		<link>http://blog.xquant.net/?p=156</link>
		<comments>http://blog.xquant.net/?p=156#comments</comments>
		<pubDate>Sun, 16 Sep 2012 11:28:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=156</guid>
		<description><![CDATA[A very talented professor once said something in the lines of the power of every computer science concept lies in its composability And indeed, many progress have been to basically put what we considered &#8220;context&#8221; into  an explicit composable receptacle. &#8230; <a href="http://blog.xquant.net/?p=156">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A very talented professor once said something in the lines of</p>
<blockquote><p>the power of every computer science concept lies in its composability</p></blockquote>
<p>And indeed, many progress have been to basically put what we considered &#8220;context&#8221; into  an explicit composable receptacle. Virtual Machine, global variables hunt, reentrancy, transaction, namespaces, it&#8217;s all over the place. Composing is key.</p>
<p>Functional programming being really all about composabilty, it is natural to see a lot of recursive structure such as trees, but there is a really useful extension to this that is not so well known, called a Zipper.</p>
<p>The concept is quite general and could be implemented in any langage, but we&#8217;ll use F# to illustrate, as it bends itself nicely to such structures.</p>
<p><span style="text-decoration: underline;"><strong>Tree</strong></span></p>
<p>This is a way you can declare a tree type in F#. It is made of either, a leaf, or, a node, holding a value (of generic type &#8216;a), and 2 subtrees of similar generic type.</p>
<script src="https://gist.github.com/3731548.js"></script><noscript><pre><code class="language-f# f#">type 'a Tree=
   | Leaf
   | Branch of  'a * 'a Tree * 'a Tree
</code></pre></noscript>
<p>Pattern match then allows us to manipulate such a structure, and recover the information stored within it.</p>
<script src="https://gist.github.com/3731642.js"></script><noscript><pre><code class="language-f# f#">   let rec insertBST x = function 
      | Leaf -&gt; Branch(x , Leaf, Leaf)
      | Branch(v, l, r) when x &lt; v -&gt; Branch(v, insertBST x l, r ) 
      | Branch(v, l, r) as b when x &gt; v -&gt; Branch(v, l, insertBST x r ) 
      | b -&gt; b
</code></pre></noscript>
<div>For the sake of illustrating the F# syntax, let&#8217;s dig a bit on that declaration.</div>
<div>
<ul>
<li>The keyword <strong><em>function</em></strong> says &#8216;apply the following match to whichever argument will be passed to you later on&#8217;, so that insertBST is really a function taking 2 arguments, x and the tree to insert x to. This is strictly equivalent to adding an argument T, and using the construct &#8216;match T with &#8216; only shorter and with one less variable</li>
<li>We then pattern match over the different cases of what a tree structurally is, and &#8216;guard clause&#8217; allow us to add a match based on values</li>
<li>The last match is actually matching everything, as it just binds whatever argument supplied to the name &#8216;b&#8217;</li>
<li>Those matches will happen sequentially, and the first match will decide what the execution flow wil be</li>
</ul>
</div>
<div></div>
<p>The goal of that insert function, whose name contains BST for &#8217;Binary Search Tree&#8217;, is to make searching (much) faster : as you can see, we keep the tree ordered upon insertion, so that finding a number is subsequently simpler: If we stored random numbers, each layer would be fully populated so that 2^d numbers could be stored in a tree of depth d. For finding a number we&#8217;d had to traverse the tree making d = log_2 n  comparaisons for selecting which way to go : at each step, the size of potential candidate is halved by two, as we discard 1 fully populated branch.</p>
<p>If our source of numbers at insertion was not random but ordered, for instance, our tree would grow in one direction only, and each level would be populated by just one value. to find 1 number among n others, we similarly would have to make d comparisons, but this time instead of halfing the number candidates, we&#8217;d merely remove one. Our tree would be very much akin to a list, for which we have to scan through all the items to know if a number is present. That is why we probably should rebalance our tree if we have no knowledge on the data source, to keep it closer to a complete binary tree</p>
<p>Binary Search Tree exists independently of Trees, and this just illustrates a common way to operate on recursive structures in F#.</p>
<p>So pattern match allows us to drill down the hierarchy of nodes and, since the root node can reach every other node, this seems good enough.</p>
<p>But what if you know you&#8217;ll have to heavily focus on a sub-tree for some time in a large tree ? How could you zoom on that subtree, perform all your operations, and then yields back the whole thing. Or may be your problem at hand might just be easier to write with the ability to move everywhere, including up and not just down.</p>
<p>Clearly, being able to move efficiently in the tree from every node, not just the root, seems like a valuable thing to have.</p>
<p><span style="text-decoration: underline;"><strong>Zipper</strong></span></p>
<p>This is where the Zipper comes in : The Zipper is an equivalent representation of a Tree, with the notion of a &#8216;current&#8217; location, which can go be moved up, right, left, etc..</p>
<p>Conversely, a Tree is a special case of a Zipper with its current location being always at the top.</p>
<p>The general idea is that we split a structure into a substructure of interest, and a modified structure with a &#8216;<em>hole</em>&#8216; in it, and reconstruct some functions operating on that to move the hole. So you can see how the notion of a Zipper can really be general and apply on more that just tree.</p>
<p>[This structure holding a hole is 'equivalent' in some sense to a structural 'derivative'. although interesting at concrete level to give a different perspective, I dont see how this general typelevel notion of derivative can be useful given the lack of actionable typelevel operations. It would be quite cool to have such operations, but given the lack of efficient, down to earth way this is unfortunately only hot air (which could be enabled - yet another thing.... - by <a href="http://blog.xquant.net/?p=105">staged type programming</a>  which will probably come from dynamic langage someday as they'd benefit as well... ) ]</p>
<script src="https://gist.github.com/3731734.js"></script><noscript><pre><code class="language-f# f#">type 'a Zipper  = { focus:'a Tree;  path: (TDirection * 'a * 'a Tree) list}
type ZDirection = Up | Left | Right </code></pre></noscript>
<p>The Zipper here is a <a href="http://www.voyce.com/index.php/2012/03/01/beginning-fsharp-records/">record</a> and contains a tree, which is the current focus. But, most importantly, it contains all the information discarded to go from the root a full tree to the root of that subtree which is the focus. At each level, focusing on a subtree means selecting a direction, discarding the node value, discarding the subtree not being focused on.</p>
<p>This set of information allows that structure to be closed under the operations we want : up, left, right : they all take a Zipper in, and yield a zipper out.</p>
<script src="https://gist.github.com/3731738.js"></script><noscript><pre><code class="language-f# f#">[&lt;CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)&gt;]
module Zipper =
   let up z =  match z.path with
               | (d,v,other)::ep -&gt;  match d with 
                                       | TDirection.Left  -&gt; {focus=Branch(v,z.focus,other); path=ep}
                                       | TDirection.Right -&gt; {focus=Branch(v,other,z.focus); path=ep}
               | []        -&gt; failwith &quot;can't go up&quot; // because ep only goes down and is empty 

   let rec top z  =  match z.path with [] -&gt; z | _  -&gt; top (up z)

   let left z  =   match z.focus with
                          | (Branch(v, l, r)) -&gt;  let v, explored, other = v, l, r 
                                                  {focus=explored; path=((TDirection.Left, v, other)::z.path)}
                          | Leaf -&gt; failwith &quot;can't go down on leaf&quot;

   let right z =  match z.focus with
                          | (Branch(v, l, r)) -&gt;  let v, explored, other = v, r, l 
                                                  {focus=explored; path=((TDirection.Right, v, other)::z.path)}
                          | Leaf -&gt; failwith &quot;can't go down on leaf&quot;

   let rec move (p:ZDirection list) (z:'a Zipper) =
      match p with 
      | []    -&gt; z 
      | d::xs -&gt; match d with 
                  | Up    -&gt; move xs (up z)
                  | Left  -&gt; move xs (left z)
                  | Right -&gt; move xs (right z)
   let fromTree t = {focus = t; path = []} </code></pre></noscript>
<p>You can then test those methods like so. The last line for instance the focus with another tree (in that case itself) and gets the completed tree back, which illustrated the  ease of manipulation you get from such structure.</p>
<script src="https://gist.github.com/3731883.js"></script><noscript><pre><code class="language-f# f#">module test =
   open Zipper

   let t  = Branch(&quot;a&quot;, Branch(&quot;b&quot;, Leaf, Branch(&quot;c&quot;, Leaf, Leaf)), Leaf) 
   let focus1 = t |&gt; fromTree |&gt; move [Left;Right]
   let same1  = t |&gt; fromTree |&gt; move [Left;Right;Right;Up;Up;Up]
   let same2  = t |&gt; fromTree |&gt; move [Left;Right;Right] |&gt;  Zipper.top
   let xx   =  focus1 |&gt; top
   let newz =  {(move [Left;Right;Right] xx) with focus = t} |&gt; top
</code></pre></noscript>
<p>&nbsp;</p>
<p>related links :</p>
<ul>
<li><a href="http://learnyouahaskell.com/zippers">Haskell zipper intro</a> from &#8216;learn you a Haskell for great god&#8217;</li>
<li><a href="http://www.lshift.net/blog/2010/12/30/f-zipper-with-pipe-forward">Another</a> F# implementation with a nice symetry for the &#8216;path&#8217; type and a slightly different semantics :   our &#8216;right&#8217; is equivalent of their &#8216;down&#8217; then &#8216;right&#8217;. dealing with n-ary tree, they had to split both notions</li>
</ul>
<p>( please dont hesitate to point errors or further links.. )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=156</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly links for 12/04/03</title>
		<link>http://blog.xquant.net/?p=152</link>
		<comments>http://blog.xquant.net/?p=152#comments</comments>
		<pubDate>Mon, 02 Apr 2012 22:05:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=152</guid>
		<description><![CDATA[www.macledkeyboard.com The Luxeed LED Keyboard has 430 color LEDs beneath the keycaps. The color of each key can be individually configured to match your application or mood Daphne Koller &#8211; Technology as a Passport to Personalized Education &#8211; NYTimes.com As &#8230; <a href="http://blog.xquant.net/?p=152">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://www.macledkeyboard.com/">www.macledkeyboard.com</a></dt>
<dd>The Luxeed LED Keyboard has 430 color LEDs beneath the keycaps. The color of each key can be individually configured to match your application or mood</dd>
<dt><a href="http://www.nytimes.com/2011/12/06/science/daphne-koller-technology-as-a-passport-to-personalized-education.html?pagewanted=all">Daphne Koller &#8211; Technology as a Passport to Personalized Education &#8211; NYTimes.com</a></dt>
<dd>As a society, we can and should invest more money in education. But that is only part of the solution. We need to significantly reduce those costs while at the same time improving quality.</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=152</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly links for 12/03/11</title>
		<link>http://blog.xquant.net/?p=150</link>
		<comments>http://blog.xquant.net/?p=150#comments</comments>
		<pubDate>Sun, 11 Mar 2012 14:34:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=150</guid>
		<description><![CDATA[Graphical Models and Inference  MT11 These are the contents of 16 lectures in MT11. fseye &#8211; Ending the era of printf REPL debugging for F# Interactive FsEye is a visual object tree inspector for the F# Interactive. Taking advantage of &#8230; <a href="http://blog.xquant.net/?p=150">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://www.stats.ox.ac.uk/~steffen/teaching/gm11/overview.htm">Graphical Models and Inference  MT11</a></dt>
<dd>These are the contents of 16 lectures in MT11.</dd>
<dt><a href="http://code.google.com/p/fseye/">fseye &#8211; Ending the era of printf REPL debugging for  F# Interactive</a></dt>
<dd>FsEye is a visual object tree inspector for the F# Interactive. Taking advantage of the built-in WinForms event loop, it listens for additions and updates to variables within FSI sessions, allowing you to reflectively examine properties of captured values through a visual interface. It also allows you to programmatically add and update eye watches, effectively ending the era of printf REPL debugging.</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=150</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Excel Type Provider</title>
		<link>http://blog.xquant.net/?p=146</link>
		<comments>http://blog.xquant.net/?p=146#comments</comments>
		<pubDate>Thu, 01 Mar 2012 20:14:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=146</guid>
		<description><![CDATA[There is theory, and then there is practice. Yesterday was theory, today is practice. Everyone and its dog has to manipulate Excel files. They often contain typed data, in tables. So why not write, in the footsteps of the distinguished, &#8230; <a href="http://blog.xquant.net/?p=146">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There is theory, and then there is practice. Yesterday was theory, today is practice.</p>
<p>Everyone and its dog has to manipulate Excel files. They often contain typed data, in tables. So why not write, in the <a href="http://strangelights.com/blog/archive/2010/11/15/the-future-of-f-type-providers.aspx">footsteps</a> of the distinguished, a <a href="http://msdn.microsoft.com/en-us/library/hh156509(v=vs.110).aspx">Type Provider</a> for it ?</p>
<p>So here is a type provider to consume those data from within absolutely any langage supporting Type Providers. Which means F#.</p>
<p>You can specify the workbook name, and then a named range or a sheet (data starts at A1 then), and if the underlying Excel type should be considered or if it should just be seen as a bunch of strings.</p>
<p><a href="https://github.com/nrolland/ExcelTypeProvider">The Excel Type Provider</a> : please <a href="https://github.com/nrolland/ExcelTypeProvider/fork">fork it</a>, improve it, for the greater good.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=146</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Type Providers</title>
		<link>http://blog.xquant.net/?p=137</link>
		<comments>http://blog.xquant.net/?p=137#comments</comments>
		<pubDate>Wed, 29 Feb 2012 20:50:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=137</guid>
		<description><![CDATA[If you wanted to have access to all the &#8220;objects&#8221; defined in wikipedia directly from within your programming environment, how would you do it? Type Providers, a new and promising feature of F#, act like an augmentation of your compiler &#8230; <a href="http://blog.xquant.net/?p=137">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you wanted to have access to all the &#8220;objects&#8221; defined in wikipedia directly from within your programming environment, how would you do it?</p>
<p><a href="http://blogs.msdn.com/b/fsharpteam/archive/2011/09/24/developing-f-type-providers-with-the-f-3-0-developer-preview-an-introductory-guide-and-samples.aspx">Type Providers</a>, a new and promising feature of F#, act like an augmentation of your compiler and IDE, and allow you to import such objects, the ones present now, but also the new one that might be published tomorrow.</p>
<p>They make your IDE/compiler aware of such new types, just like when you add a good old dll to it, except those type are generated &#8220;on the fly&#8221;, dynamically (from the point of view of the Type Providers that makes this connection and produces the types), but,  from the point of view of your compiler, they are &#8220;static&#8221;,  just like any other types.</p>
<p>Indeed, the dichotomy between &#8220;static&#8221; and &#8220;dynamic&#8221; lays in the eye of the beholder. Even a regular static type from a DLL has to be &#8216;produced&#8217; in some way, so the &#8220;static&#8221; only relates to which stages the type is at, and from where you look at it.</p>
<p>This opens a more profound door, which is particularly well placed to become the &#8216;next thing&#8217; on the internet in my view, and that is &#8216;execution level&#8217;. If it sounds as barbaric as peeer to peer was before people knew what p2p is, it is normal, it is not a coincidence. In order to understand the importance of this idea, we need to step back a bit, understand what happens with types, and then see where we can extend the mechanism.</p>
<p>When we describe actions, we do so using structures that are adressable and recognized as part of the vocabulary of our programming environment.</p>
<p>&#8220;Type providers&#8221; are mechanism to enrich the vocabulary of this environnement based on a source that we specify in that same environment. the source itself can evolve in time, and the vocabulary added in our environnement will itself evolve in time.</p>
<p>But &#8220;type providers&#8221; are themselves programs. so we are lead to imagine that there is our direct environment, which we will call the ground 0 level, which is fed vocabulary by an deeper world, level -1.</p>
<p>In order to our program at ground 0 to tun, it needs to make sense from a vocabulary point of view. In order to makes sense, ground -1 has to actually run to provide the types, or vocabulary.  And this idea is naturally extensible to some leve -1, -2, -3 etc..</p>
<p>This is where the peer to peer idea comes into play. If anything the internet is good at dealing with decentralisation. this mostly applied to data. peer2peer showed us that you can really leverage decentralisation to insure that all connection run at their maximum nominal speed. git, and its web counterpart Github nailed it when it comes to decentralized history production. Type Providers, despite their strength, are just a small scale, non recursive, non decentralized, static window into the next big battle, which is &#8220;Type production&#8221;.</p>
<p>Practically, the centralized nature of programming at binary level is a very concrete and major problem for code production of every nature, as the complexity of modeling a domain grows exponentially with the complexity of the domain itself.</p>
<p>So, watch out, you ain&#8217;t seen nothing yet, and the battle has just officially begun.</p>
<p>&nbsp;</p>
<p>A concrete exemple start at 18&#8242; (wait a few sec after clicking to read)<br />
<video width="580" poster="http://video.ch9.ms/build/2011/thumbs/904_LG.jpg" controls><source src="http://video.ch9.ms/build/2011/mp4/904.mp4" /></video></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=137</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://video.ch9.ms/build/2011/mp4/904.mp4" length="303684175" type="video/mp4" />
		</item>
		<item>
		<title>Weekly links for 12/02/12</title>
		<link>http://blog.xquant.net/?p=132</link>
		<comments>http://blog.xquant.net/?p=132#comments</comments>
		<pubDate>Sun, 12 Feb 2012 16:46:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=132</guid>
		<description><![CDATA[Hacker School Hacker School is a three-month, immersive school for becoming a better programmer. It&#8217;s like a writers retreat for hackers. We (Nick, Dave and Sonali) run the program every four months in New York and meet Mondays, Tuesdays, Fridays &#8230; <a href="http://blog.xquant.net/?p=132">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://www.hackerschool.com/about">Hacker School</a></dt>
<dd>Hacker School is a three-month, immersive school for becoming a better programmer. It&#8217;s like a writers retreat for hackers. We (Nick, Dave and Sonali) run the program every four months in New York and meet Mondays, Tuesdays, Fridays and Saturdays from 11am to 7pm. We provide space, time to focus, and a friendly community dedicated to self-improvement</dd>
<dt><a href="http://exo7.emath.fr/index.html">Exo7 : Exercices de mathématique</a></dt>
<dd>Le projet Exo7 propose aux étudiants des fiches d’exercices de mathématique avec indications et corrections de niveau L1/Math Sup, L2/Math Spé, L3/Licence. Ces fiches sont élaborées, corrigées et validées par des enseignants du supérieur.</p>
<p>Vous trouverez plein d&#8217;autres exercices dans Exo7 pour les profs, mais ils ne sont pas tous corrigés.</dd>
<dt><a href="http://www.learn-japanese.info/">Nihongo o Narau &#8211; Learn Japanese</a></dt>
<dd>Welcome to Nihongo o Narau. This site is dedicated to teaching Japanese to speakers of English.</dd>
<dt><a href="http://cvxgen.com/portfolio.html">CVXGEN: Code Generation for Convex Optimization</a></dt>
<dd>CVXGEN: Code Generation for Convex Optimization<br />
Example: Portfolio optimization<br />
This example, from finance, is a basic portfolio optimization problem. For some more details, see Boyd and Vandenberghe, 4.6.3.</dd>
<dt><a href="http://faculty.washington.edu/mfazel/portfolio-final.pdf">faculty.washington.edu/mfazel/portfolio-final.pdf</a></dt>
<dd>Portfolio optimization with linear and ﬁxed<br />
transaction costs<br />
Miguel Sousa Lobo · Maryam Fazel · Stephen Boyd</dd>
<dt><a href="http://biostatisticsryangosling.tumblr.com/">Biostatistics Ryan Gosling !!!</a></dt>
<dd>Biostatistics Ryan Gosling !!!</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=132</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly links for 11/12/05</title>
		<link>http://blog.xquant.net/?p=131</link>
		<comments>http://blog.xquant.net/?p=131#comments</comments>
		<pubDate>Mon, 05 Dec 2011 18:55:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=131</guid>
		<description><![CDATA[Stories In Flight &#124; HTML5/CSS3 Cheatsheet Here are some simple cut-and-paste examples of HTML5/CSS3 features that are currently (early 2011) usable across a number of web browsers Courses Courses. Taught by Hadley Wickham. Ruby Graph Library Ruby Graph Library (RGL) &#8230; <a href="http://blog.xquant.net/?p=131">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://www.storiesinflight.com/html5/">Stories In Flight | HTML5/CSS3 Cheatsheet</a></dt>
<dd>Here are some simple cut-and-paste examples of HTML5/CSS3 features that are currently (early 2011) usable across a number of web browsers</dd>
<dt><a href="http://courses.had.co.nz/">Courses</a></dt>
<dd>Courses. Taught by Hadley Wickham.</dd>
<dt><a href="http://rgl.rubyforge.org/rgl/index.html">Ruby Graph Library</a></dt>
<dd>Ruby Graph Library (RGL)</p>
<p>RGL is a framework for graph data structures and algorithms.<br />
The design of the library is much influenced by the Boost Graph Library (BGL) which is written in C++ heavily using its template mechanism. Refer to www.boost.org/libs/graph/doc for further links and documentation on graph data structures and algorithms and the design rationales of BGL.<br />
A comprehensive summary of graph terminology can be found in the the graph section of the Dictionary of Algorithms and Data Structures at www.nist.gov/dads/HTML/graph.html.</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=131</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly links for 11/11/23</title>
		<link>http://blog.xquant.net/?p=130</link>
		<comments>http://blog.xquant.net/?p=130#comments</comments>
		<pubDate>Wed, 23 Nov 2011 20:44:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=130</guid>
		<description><![CDATA[LiteratePrograms:Welcome &#8211; LiteratePrograms LiteratePrograms is a unique wiki where every article is simultaneously a document and a piece of code that you can view, download, compile, and run Thiel Fellowship Thiel Fellows are given a no-strings-attached grant of $100,000 to &#8230; <a href="http://blog.xquant.net/?p=130">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://en.literateprograms.org/LiteratePrograms:Welcome">LiteratePrograms:Welcome &#8211; LiteratePrograms</a></dt>
<dd>LiteratePrograms is a unique wiki where every article is simultaneously a document and a piece of code that you can view, download, compile, and run</dd>
<dt><a href="http://www.thielfellowship.org/">Thiel Fellowship</a></dt>
<dd>Thiel Fellows are given a no-strings-attached grant of $100,000 to skip college and focus on their work, their research, and their self-education</dd>
<dt><a href="http://learncss.tutsplus.com/">30 Days to Learn HTML &#038; CSS &#8211; Free Tuts+ Premium Course</a></dt>
<dd>We created 30 Days to Learn HTML &#038; CSS because we believe everyone has the right to learn how to build wonderful things on the web.</dd>
<dt><a href="http://people.rit.edu/jcdicsa/courses/SML/">people.rit.edu/jcdicsa/courses/SML/</a></dt>
<dd>Statistical Machine Learning // The main materials for the course will be lecture notes, along with supplementary readings from The Elements of Statistical Learning and Convex Optimization</dd>
<dt><a href="http://www.kaggle.com/">Data mining, forecasting and bioinformatics competitions on Kaggle</a></dt>
<dd>Kaggle is a platform for data prediction competitions that allows organizations to post their data and have it scrutinized by the world&#8217;s best data scientists. In exchange for a prize, winning competitors provide the algorithms that beat all other methods of solving a data crunching problem.</dd>
<dt><a href="https://www.relishapp.com/rspec">RSpec Documentation &#8211; Relish</a></dt>
<dd>This is the official documentation site for RSpec-2. Much of the documentation you see here is written with Cucumber, which, like RSpec, provides executable documentation. The Cucumber features you see here have all been run against RSpec&#8217;s codebase, serving as specification, documentation and regression tests of the behavior</dd>
<dt><a href="http://rubykoans.com/">Learn Ruby with the EdgeCase Ruby Koans</a></dt>
<dd>The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries.</dd>
<dt><a href="http://railscasts.com/episodes/183-gemcutter-jeweler">#183 Gemcutter &#038; Jeweler &#8211; RailsCasts</a></dt>
<dd>Gemcutter is a new service for hosting RubyGems, and Jeweler provides an automated way to release versions of a gem.</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=130</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekly links for 11/11/05</title>
		<link>http://blog.xquant.net/?p=129</link>
		<comments>http://blog.xquant.net/?p=129#comments</comments>
		<pubDate>Sat, 05 Nov 2011 16:18:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=129</guid>
		<description><![CDATA[Sirupsen and his codeabouts I’ve always run Ruby, and I’ve always used RVM. But it’s not until recently when I attended Aarhusrb and @chopmo gave a talk on RVM, that I realized how wrong I was using RVM. Basically, I’m &#8230; <a href="http://blog.xquant.net/?p=129">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<dl>
<dt><a href="http://sirupsen.com/get-started-right-with-rvm/">Sirupsen and his codeabouts</a></dt>
<dd>I’ve always run Ruby, and I’ve always used RVM. But it’s not until recently when I attended Aarhusrb and @chopmo gave a talk on RVM, that I realized how wrong I was using RVM. Basically, I’m somewhat always using system Ruby, installing all gems with sudo</dd>
<dt><a href="http://puzzlenode.com/">http://puzzlenode.com/</a></dt>
<dd>PuzzleNode is a site for coders who enjoy to work on challenging problems, and is inspired by similar efforts such as Project Euler and the Internet Problem Solving Contest . It also serves as an entrance exam of sorts for folks looking to join Mendicant University.</dd>
<dt><a href="http://www.math.wustl.edu/~sawyer/hmhandouts/Wishart.pdf">www.math.wustl.edu/~sawyer/hmhandouts/Wishart.pdf</a></dt>
<dd>The Jacobian of the Inverse of a Matrix is..</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=129</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Reader wtf ?</title>
		<link>http://blog.xquant.net/?p=127</link>
		<comments>http://blog.xquant.net/?p=127#comments</comments>
		<pubDate>Tue, 01 Nov 2011 11:34:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xquant.net/?p=127</guid>
		<description><![CDATA[The presentation for google reader, using the new style with lots of space is a plain obvious and complete misfit for Google Reader. Are they trying to kill Reader so that we move on to the half backed Google Plus &#8230; <a href="http://blog.xquant.net/?p=127">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The presentation for google reader, using the new style with lots of space is a plain obvious and complete misfit for Google Reader.</p>
<p>Are they trying to kill Reader so that we move on to the half backed Google Plus ??</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xquant.net/?feed=rss2&#038;p=127</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
